Example #1
0
        private IntPtr CreateProxyCfg()
        {
            var result = ProxieModule.linphone_core_create_proxy_config(LinphoneCore);

            ProxieModule.linphone_proxy_config_set_identity(result, Identity);
            ProxieModule.linphone_proxy_config_set_server_addr(result, ServerHost);
            ProxieModule.linphone_proxy_config_enable_register(result, true);

            ProxieModule.linphone_proxy_config_set_nat_policy(result, NatPolicy);

            ProxieModule.linphone_core_add_proxy_config(LinphoneCore, result);
            ProxieModule.linphone_core_set_default_proxy_config(LinphoneCore, result);

            return(result);
        }
Example #2
0
        public void DestroyPhone()
        {
            if (LinphoneCore != null)
            {
                RegistrationStateChangedEvent?.Invoke(LinphoneRegistrationState.LinphoneRegistrationProgress);

                CallModule.linphone_core_terminate_all_calls(LinphoneCore);

                var proxySetDownTask = ComponentExtensions.ExecuteWithDelay(() =>
                {
                    if (ProxieModule.linphone_proxy_config_is_registered(ProxyCfg))
                    {
                        ProxieModule.linphone_proxy_config_edit(ProxyCfg);
                        ProxieModule.linphone_proxy_config_enable_register(ProxyCfg, false);
                        ProxieModule.linphone_proxy_config_done(ProxyCfg);
                    }
                }, Constants.LC_CORE_PROXY_DISABLE_TIMEOUT);

                proxySetDownTask.Wait(Constants.LC_CORE_PROXY_DISABLE_TIMEOUT);

                IsRunning = ProxieModule.linphone_proxy_config_is_registered(ProxyCfg);
            }
        }