Esempio n. 1
0
        private void MakeCall()
        {
            if (!SipRegistered)
            {
                MessageBox.Show("You must register SIP before making a call");
            }

            string calleeUri = this.calleeAddress.Text;

            if (string.IsNullOrWhiteSpace(calleeUri))
            {
                return;
            }

            WriteLog("Calling to [{0}] ...", calleeUri);

            var callParams = lc.CreateDefaultCallParameters();
            //callParams.VideoEnabled = false;
            var call = lc.InviteWithParams(calleeUri, callParams);

            if (call.State != LinphoneCallState.Connected)
            {
                WriteLog("Waiting accept call...");
            }

            this.btnCall.Text = "Hangup";
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            var listener = new LinphoneManager();

            Globals.Instance.LinphoneCoreFactory.CreateLinphoneCore(listener);
            LinphoneCore lc = Globals.Instance.LinphoneCore;

            listener.Lc = lc;

            var proxyCfg = new LinphoneProxyConfig();

            proxyCfg.SetIdentity("test 1000 <sip:[email protected]>");
            proxyCfg.ServerAddr      = "192.168.6.241";
            proxyCfg.RegisterEnabled = true;
            proxyCfg.Expires         = 60000;
            lc.ClearProxyConfigs();
            lc.AddProxyConfig(proxyCfg);
            lc.DefaultProxyConfig = proxyCfg;

            var authInfo = new LinphoneAuthInfo("1000", string.Empty, "12345", string.Empty, string.Empty, string.Empty);

            lc.AddAuthInfo(authInfo);

            lc.IterateEnabled = true;
            while (lc.DefaultProxyConfig.State != RegistrationState.RegistrationOk)
            {
                Console.WriteLine("Registering...");
                System.Threading.Thread.Sleep(1000);
                if (lc.DefaultProxyConfig.State == RegistrationState.RegistrationFailed)
                {
                    Console.WriteLine("Reason: {0}", lc.DefaultProxyConfig.Error);
                    lc.IterateEnabled = false;
                    Console.ReadKey();
                    return;
                }
            }
            Console.WriteLine("Registered");
            Console.ReadKey();

#if CALL
            Console.WriteLine("Calling to sip:[email protected] ...");

            var callParams = lc.CreateDefaultCallParameters();
            callParams.VideoEnabled = false;
            //var callAddr = Globals.Instance.LinphoneCoreFactory.CreateLinphoneAddress("sip:[email protected]");
            //var call = lc.InviteAddressWithParams(callAddr, callParams);
            var call = lc.InviteWithParams("sip:[email protected]", callParams);

            if (call.State != LinphoneCallState.Connected)
            {
                Console.WriteLine("Waiting accept call...");
                System.Threading.Thread.Sleep(2000);
            }
            Console.ReadKey();

            lc.TerminateAllCalls();
#endif
            // De-activate registering
            var defaultCfg = lc.DefaultProxyConfig;
            defaultCfg.Edit();
            defaultCfg.RegisterEnabled = false;
            defaultCfg.Done();
            while (lc.DefaultProxyConfig.State != RegistrationState.RegistrationCleared)
            {
                Console.WriteLine("UnRegistering...");
                System.Threading.Thread.Sleep(1000);
            }
            Console.WriteLine("UnRegistered");
            lc.IterateEnabled = false;
            Console.ReadKey();
        }