コード例 #1
0
ファイル: frmTelefono.cs プロジェクト: Mbmaldon/LxJuridico
        /// <summary>
        /// Inicializa la información de los controles que se usarán para el teléfono
        /// </summary>
        void InitializeSoftphone()
        {
            try
            {
                UsuarioLinea ln = new UsuarioLinea().ObtenerLinea(int.Parse(AUsuarioData.sIdusuario));

                _softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5700, 5750);
                SIPAccount sa = new SIPAccount(true, ln.sDisplayName, ln.sUserName, ln.sRegisterName, ln.sRegisterPassword, ln.sDomainHost, ln.iDomainPort);

                _phoneLine = _softPhone.CreatePhoneLine(sa);
                _phoneLine.RegistrationStateChanged += _phoneLine_RegistrationStateChanged;

                _softPhone.IncomingCall += _softPhone_IncomingCall;
                _softPhone.RegisterPhoneLine(_phoneLine);

                _incomingCall = false;

                ConnectMedia();
            }
            catch (Exception ex)
            {
                InvokeGUIThread(() => {
                    txtDisplay.Text = ex.Message;
                });
            }
        }
コード例 #2
0
ファイル: Softphone.cs プロジェクト: papillon88/SIP_project
        /// <summary>
        /// Registers the SIP account to the PBX.
        /// Calls cannot be made while the SIP account is not registered.
        /// If the SIP account requires no registration, the RegisterPhoneLine() must be called too to register the SIP account to the ISoftPhone.
        /// </summary>
        public void Register(bool registrationRequired, string displayName, string userName, string authenticationId, string registerPassword, string domainHost, int domainPort)
        {
            try
            {
                // To register to a PBX, we need to create a SIP account
                var account = new SIPAccount(registrationRequired, displayName, userName, authenticationId, registerPassword, domainHost, domainPort);
                Console.WriteLine("\nCreating SIP account {0}", account);

                // With the SIP account and the NAT configuration, we can create a phoneline.
                phoneLine = softphone.CreatePhoneLine(account);
                Console.WriteLine("Phoneline created.");
                // The phoneline has states, we need to handle the event, when it is being changed.
                phoneLine.RegistrationStateChanged += phoneLine_PhoneLineStateChanged;

                // If our phoneline is created, we can register that.
                softphone.RegisterPhoneLine(phoneLine);

                // For further information about the calling of the ConnectMedia(), please check the implementation of this method.
                ConnectMedia();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error during SIP registration: " + ex.ToString());
            }
        }
コード例 #3
0
ファイル: Test.cs プロジェクト: rosauceda/Softphone-1
        private void InitializeSoftPhone()
        {
            try
            {
                var userAgent = "MyFirstSoftPhone-3-example";
                _softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5700, 5750, userAgent);
                InvokeGUIThread(() => { lb_Log.Items.Add("Softphone created!"); });

                _softPhone.IncomingCall += softPhone_inComingCall;

                SIPAccount sa = new SIPAccount(true, "100", "100", "100", "123456", "192.168.1.6", 5060);
                InvokeGUIThread(() => { lb_Log.Items.Add("SIP account created!"); });

                _phoneLine = _softPhone.CreatePhoneLine(sa);
                _phoneLine.RegistrationStateChanged += phoneLine_PhoneLineInformation;
                InvokeGUIThread(() => { lb_Log.Items.Add("Phoneline created."); });
                _softPhone.RegisterPhoneLine(_phoneLine);

                tb_Display.Text       = string.Empty;
                lbl_NumberToDial.Text = sa.RegisterName;

                _inComingCall = false;
                _reDialNumber = string.Empty;
                _localHeld    = false;

                ConnectMedia();
            }
            catch (Exception ex)
            {
                InvokeGUIThread(() => { lb_Log.Items.Add("Local IP error! " + ex); });
            }
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: kterdal/VOIP-Softphone
        private void InitializeSoftPhone()
        {
            try
            {
                softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5700, 5750);
                InvokeGUIThread(() => { lb_Log.Items.Add("Softphone created!"); });

                softPhone.IncomingCall += new EventHandler <VoIPEventArgs <IPhoneCall> >(softPhone_inComingCall);

                SIPAccount sa = new SIPAccount(true, "1000", "1000", "1000", "1000", "192.168.115.103", 5060);
                InvokeGUIThread(() => { lb_Log.Items.Add("SIP account created!"); });

                phoneLine = softPhone.CreatePhoneLine(sa);
                phoneLine.RegistrationStateChanged += phoneLine_PhoneLineInformation;
                InvokeGUIThread(() => { lb_Log.Items.Add("Phoneline created."); });
                softPhone.RegisterPhoneLine(phoneLine);

                tb_Display.Text       = string.Empty;
                lbl_NumberToDial.Text = sa.RegisterName;

                inComingCall = false;
                reDialNumber = string.Empty;
                localHeld    = false;

                ConnectMedia();
            }
            catch (Exception ex)
            {
                InvokeGUIThread(() => { lb_Log.Items.Add("Local IP error!"); });
            }
        }
コード例 #5
0
ファイル: Home.cs プロジェクト: pawlikx/VoiceCommunicator
        void Ozeki()
        {
            Console.WriteLine("@@@@@@@@@@@@@@ OZEKI: counter = " + counter);
            var config = new DirectIPPhoneLineConfig(local_ip, 5060 + counter);

            phoneLine = softphone.CreateDirectIPPhoneLine(config);
            //Console.WriteLine("OZEKI: IPPhoneLine Created");
            phoneLine.RegistrationStateChanged += line_RegStateChanged;
            //Console.WriteLine("OZEKI: Po StateChanged, przed IncomingCall");
            softphone.IncomingCall += softphone_IncomingCall;
            //Console.WriteLine("OZEKI: Po IncomingCall");
            softphone.RegisterPhoneLine(phoneLine);
            //Console.WriteLine("OZEKI: po registerPhoneLine");
            counter++;

            /*
             * try
             * {
             *  while (!stopCall)
             *  {
             *
             *  }
             * }
             * catch (ThreadInterruptedException exception)
             * {
             *  // Clean up.
             * }
             */
        }
コード例 #6
0
        public void Run()
        {
            _log.Info("Starting server");

            try
            {
                _config = new Config("config.txt");
            }
            catch (FileNotFoundException)
            {
                _log.Fatal("Configuration file not found");
                return;
            }

            _softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), _config.GetIntValue("sip.min"), _config.GetIntValue("sip.max"), _config.GetIntValue("sip.port"));
            _phoneLine = _softPhone.CreatePhoneLine(new SIPAccount(true, _config.GetStringValue("sip.displayname"), _config.GetStringValue("sip.username"), _config.GetStringValue("sip.username"), _config.GetStringValue("sip.password"), _config.GetStringValue("sip.host")), new NatConfiguration(_config.GetStringValue("externalip"), true));
            _phoneLine.PhoneLineStateChanged += phoneLine_PhoneLineStateChanged;
            _softPhone.RegisterPhoneLine(_phoneLine);
            _softPhone.IncomingCall += softPhone_IncomingCall;

            // Wait 3 seconds and check if the line is registered. If not, shut down.
            System.Threading.Thread.Sleep(3000);
            if (_phoneLine.LineState != PhoneLineState.RegistrationSucceeded)
            {
                _log.Error(String.Format("Phone Line is not registered. State is {0}. Exiting.", _phoneLine.LineState.ToString()));
                return;
            }

            lock (_sync)
                System.Threading.Monitor.Wait(_sync);
        }
コード例 #7
0
ファイル: Softphone.cs プロジェクト: toannd18/PBXForm
        public void InitializeSoftPhone()
        {
            try
            {
                var userAgent = "MyFirstSoftPhone-3-example";
                _message   = new List <string>();
                _softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5700, 5750, userAgent);
                _message.Add("Softphone created!");
                //InvokeGUIThread(() => { lb_Log.Items.Add("Softphone created!"); });

                _softPhone.IncomingCall += softPhone_inComingCall;

                SIPAccount sa = new SIPAccount(true, "2001", "2001", "2001", "2001", "172.16.1.17");
                _message.Add("SIP account created!");
                //InvokeGUIThread(() => { lb_Log.Items.Add("SIP account created!"); });

                _phoneLine = _softPhone.CreatePhoneLine(sa);
                _phoneLine.RegistrationStateChanged += phoneLine_PhoneLineInformation;
                _message.Add("Phoneline created.");
                //InvokeGUIThread(() => { lb_Log.Items.Add("Phoneline created."); });
                _softPhone.RegisterPhoneLine(_phoneLine);

                _registerName = sa.RegisterName;

                _inComingCall = false;
                _reDialNumber = string.Empty;
                //_localHeld = false;

                ConnectMedia();
            }
            catch (Exception ex)
            {
                _message.Add(ex.ToString());
            }
        }
コード例 #8
0
        /// <summary>
        /// Registers the SIP account to the PBX.
        /// Calls cannot be made while the SIP account is not registered.
        /// If the SIP account requires no registration, the RegisterPhoneLine() must be called too to register the SIP account to the ISoftPhone.
        /// </summary>
        public void Register(bool registrationRequired, string displayName, string userName, string authenticationId, string registerPassword, string domainHost, int domainPort)
        {
            try
            {
                // We need to handle the event, when we have an incoming call.
                _softphone.IncomingCall += softphone_IncomingCall;

                // To register to a PBX, we need to create a SIP account
                var account = new SIPAccount(registrationRequired, displayName, userName, authenticationId, registerPassword, domainHost, domainPort);

                // With the SIP account and the NAT configuration, we can create a phoneline.
                _phoneLine = _softphone.CreatePhoneLine(account);


                // The phoneline has states, we need to handle the event, when it is being changed.
                _phoneLine.RegistrationStateChanged += phoneLine_PhoneLineStateChanged;

                // If our phoneline is created, we can register that.
                _softphone.RegisterPhoneLine(_phoneLine);
            }
            catch (Exception ex)
            {
                lastError     = -100;
                lastErrorText = "Error during SIP registration: " + ex;
            }
        }
コード例 #9
0
        public void RegisterAccount(ChatDataModel.Account account)
        {
            var tach = account.Email.Split('@');

            sipAccount = new SIPAccount(true, tach[0], tach[0], tach[0], tach[0], "192.168.0.86", 5060);
            try
            {
                phoneLine = softPhone.CreatePhoneLine(sipAccount);
                phoneLine.RegistrationStateChanged += PhoneLine_RegistrationStateChanged;
                softPhone.RegisterPhoneLine(phoneLine);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #10
0
		/// <summary>
		///It initializes a softphone object with a SIP BPX, and it is for requisiting a SIP account that is nedded for a SIP PBX service. It registers this SIP
		///account to the SIP PBX through an ’IphoneLine’ object which represents the telephoneline. 
		///If the telephone registration is successful we have a call ready softphone. In this example the softphone can be reached by dialing the number 891.
		/// </summary>
		private void InitializeSoftPhone()
		{
			try
			{
				softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5700, 5750, 5700);
				softPhone.IncomingCall += new EventHandler<VoIPEventArgs<IPhoneCall>>(softPhone_IncomingCall); // arama geldiğinde çalışan fonksiyon.
				phoneLine = softPhone.CreatePhoneLine(new SIPAccount(true, "7134", "7134", "7134", "123456", "sip.kobikom.com", 5060), new NatConfiguration(NatTraversalMethod.None));
				//phoneLine = softPhone.CreatePhoneLine(new SIPAccount(true, "oz875", "oz875", "oz875", "oz875", "192.168.112.100", 5060), new NatConfiguration(NatTraversalMethod.None));
				phoneLine.PhoneLineStateChanged += new EventHandler<VoIPEventArgs<PhoneLineState>>(phoneLine_PhoneLineInformation);

				softPhone.RegisterPhoneLine(phoneLine);
			}
			catch (Exception ex)
			{
				MessageBox.Show(String.Format("You didn't give your local IP adress, so the program won't run properly.\n {0}", ex.Message), string.Empty, MessageBoxButtons.OK,
				MessageBoxIcon.Error);

				var sb = new StringBuilder();
				sb.AppendLine("Some error happened.");
				sb.AppendLine();
				sb.AppendLine("Exception:");
				sb.AppendLine(ex.Message);
				sb.AppendLine();
				if (ex.InnerException != null)
				{
					sb.AppendLine("Inner Exception:");
					sb.AppendLine(ex.InnerException.Message);
					sb.AppendLine();
				}
				sb.AppendLine("StackTrace:");
				sb.AppendLine(ex.StackTrace);

				MessageBox.Show(sb.ToString());
			}
		}
コード例 #11
0
        /// <summary>
        /// Registers the selected phone line to the PBX.
        /// </summary>
        public void RegisterPhoneLine()
        {
            if (SelectedLine == null)
            {
                return;
            }

            softPhone.RegisterPhoneLine(SelectedLine);
        }
コード例 #12
0
ファイル: PhoneForm.cs プロジェクト: WereDouglas/Casepro
        private void button2_Click(object sender, EventArgs e)
        {
            var ipAddress = myIPTxt.Text;
            var config    = new DirectIPPhoneLineConfig(ipAddress, 5060);

            phoneLine = softphone.CreateDirectIPPhoneLine(config);
            phoneLine.RegistrationStateChanged += line_RegStateChanged;
            softphone.IncomingCall             += softphone_IncomingCall;
            softphone.RegisterPhoneLine(phoneLine);
        }
コード例 #13
0
        public void phoneLineInitialization()
        {
            var config = new DirectIPPhoneLineConfig(local_ip, 5060 + counter);

            phoneLine = softphone.CreateDirectIPPhoneLine(config);
            phoneLine.RegistrationStateChanged += line_RegStateChanged;
            softphone.IncomingCall             += softphone_IncomingCall;
            softphone.RegisterPhoneLine(phoneLine);
            counter++;
        }
コード例 #14
0
        public void OzekiInitialization()
        {
            softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000);
            var config = new DirectIPPhoneLineConfig(local_ip, 5060);

            phoneLine = softphone.CreateDirectIPPhoneLine(config);
            phoneLine.RegistrationStateChanged += line_RegStateChanged;
            softphone.IncomingCall             += softphone_IncomingCall;
            softphone.RegisterPhoneLine(phoneLine);
        }
コード例 #15
0
ファイル: SoftPhoneUtils.cs プロジェクト: rolypompa/STA
 /// <summary>
 /// Registrar cuenta.
 /// </summary>
 /// <param name="account"></param>
 static void registerAccount(SIPAccount account)
 {
     try
     {
         phoneLine = softphone.CreatePhoneLine(account);
         phoneLine.RegistrationStateChanged += registrationStateChanged;
         softphone.RegisterPhoneLine(phoneLine);
     }
     catch (Exception e)
     {
         log.Error(e);
     }
 }
コード例 #16
0
 public void RegisterGroup(Group group)
 {
     sipAccount = new SIPAccount(true, group.Name, group.Id, group.Id, "123456", "192.168.0.109", 5060);
     try
     {
         phoneLine = softPhone.CreatePhoneLine(sipAccount);
         phoneLine.RegistrationStateChanged += PhoneLine_RegistrationStateChanged;
         softPhone.RegisterPhoneLine(phoneLine);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #17
0
        /// <summary>
        /// Initializes the softphone logic
        /// Subscribes change events to get notifications.
        /// Register info event
        /// Incoming call event
        /// </summary>
        private void InitializeSoftPhone()
        {
            try
            {
                var    displayName      = txtDisplayName.Text;
                string userName         = txtUsername.Text;
                string authenticationId = userName;
                string password         = txtPassword.Text;
                string domain           = txtDomain.Text;
                int    port             = int.Parse(txtPort.Text);
                var    userAgent        = "Snowday";
                _softPhone = SoftPhoneFactory.CreateSoftPhone(
                    SoftPhoneFactory.GetLocalIP(),
                    7000, 9000, userAgent);

                InvokeGUIThread(() => {
                    lb_Log.Items.Add("Softphone created!");
                });

                _softPhone.IncomingCall += softPhone_inComingCall;

                SIPAccount account_S = new SIPAccount(true,
                                                      displayName,
                                                      userName,
                                                      authenticationId,
                                                      password,
                                                      domain,
                                                      port);
                InvokeGUIThread(() => {
                    lb_Log.Items.Add("SIP account created!");
                });

                _phoneLine = _softPhone.CreatePhoneLine(account_S);
                _phoneLine.RegistrationStateChanged += phoneLine_PhoneLineInformation;
                InvokeGUIThread(() => {
                    lb_Log.Items.Add("Phoneline created.");
                });
                _softPhone.RegisterPhoneLine(_phoneLine);

                _inComingCall = false;

                ConnectMedia();
            }
            catch (Exception ex)
            {
                InvokeGUIThread(() => {
                    lb_Log.Items.Add("Local IP error! " + ex);
                });
            }
        }
コード例 #18
0
 public void Register(string streamID)
 {
     sipAccount = new SIPAccount(true, streamID, streamID, streamID, streamID, "192.168.0.86", 5060);
     try
     {
         phoneLine = softPhone.CreatePhoneLine(sipAccount);
         phoneLine.RegistrationStateChanged += PhoneLine_RegistrationStateChanged;
         softPhone.RegisterPhoneLine(phoneLine);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #19
0
 static void RegisterAccount(SIPAccount account)
 {
     try
     {
         phoneLine = softphone.CreatePhoneLine(account);
         phoneLine.Config.SRTPMode           = SRTPMode.Force;
         phoneLine.RegistrationStateChanged += sipAccount_RegStateChanged;
         softphone.RegisterPhoneLine(phoneLine);
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error during SIP registration: " + ex);
     }
 }
コード例 #20
0
 static void RegisterAccount(SIPAccount account)
 {
     try
     {
         var phoneLineConfig = new PhoneLineConfiguration(account);
         phoneLineConfig.TransportType = TransportType.Tls;
         phoneLine = softphone.CreatePhoneLine(phoneLineConfig);
         phoneLine.RegistrationStateChanged += line_RegStateChanged;
         softphone.RegisterPhoneLine(phoneLine);
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error during SIP registration: " + ex.ToString());
     }
 }
コード例 #21
0
        /// <summary>
        ///It initializes a softphone object with a SIP PBX, and it is for requisiting a SIP account that is nedded for a SIP PBX service. It registers this SIP
        ///account to the SIP PBX through an ’IphoneLine’ object which represents the telephoneline.
        ///If the telephone registration is successful we have a call ready softphone. In this example the softphone can be reached by dialing the registername.
        /// </summary>
        /// <param name="registerName">The SIP ID what will registered into your PBX</param>
        /// <param name="domainHost">The address of your PBX</param>
        private void InitializeSoftPhone(string registerName, string domainHost)
        {
            try
            {
                softPhone = SoftPhoneFactory.CreateSoftPhone(5700, 5800);
                softPhone.IncomingCall += softPhone_IncomingCall;
                phoneLine = softPhone.CreatePhoneLine(new SIPAccount(true, registerName, registerName, registerName, registerName, domainHost, 5060));
                phoneLine.RegistrationStateChanged += phoneLine_PhoneLineInformation;

                softPhone.RegisterPhoneLine(phoneLine);
            }
            catch (Exception ex)
            {
                Console.WriteLine("You didn't give your local IP adress, so the program won't run properly.\n {0}", ex.Message);
            }
        }
コード例 #22
0
ファイル: App.cs プロジェクト: Nedvid/BlaBla
        //OZEKI
        void Ozeki()
        {
            softphone = SoftPhoneFactory.CreateSoftPhone(6000, 6200);

            microphone    = Microphone.GetDefaultDevice();
            speaker       = Speaker.GetDefaultDevice();
            mediaSender   = new PhoneCallAudioSender();
            mediaReceiver = new PhoneCallAudioReceiver();
            connector     = new MediaConnector();

            var config = new DirectIPPhoneLineConfig(local_ip, 5060);

            phoneLine = softphone.CreateDirectIPPhoneLine(config);
            phoneLine.RegistrationStateChanged += line_RegStateChanged;
            softphone.IncomingCall             += softphone_IncomingCall;
            softphone.RegisterPhoneLine(phoneLine);
        }
コード例 #23
0
ファイル: frmSoftphone.cs プロジェクト: rosauceda/Softphone-1
        /// <summary>
        /// Initializes the softphone logic
        /// Subscribes change events to get notifications.
        /// Register info event
        /// Incoming call event
        /// </summary>
        private void InitializeSoftPhone()
        {
            try
            {
                var devices = Devices.EnumerateAudioEndPoints(DataFlow.All,
                                                              NAudio.CoreAudioApi.DeviceState.Active);
                arrayDevices = devices.ToArray();
                string userAgent = "Snow";
                _softPhone = SoftPhoneFactory.CreateSoftPhone(
                    SoftPhoneFactory.GetLocalIP(),
                    7000, 9000, userAgent);

                InvokeGUIThread(() =>
                {
                    lb_Log.Items.Add("Softphone created!");
                });

                _softPhone.IncomingCall += softPhone_inComingCall;


                InvokeGUIThread(() =>
                {
                    lb_Log.Items.Add("SIP account created!");
                });
                _phoneLine = _softPhone.CreatePhoneLine(accountSipInfo);

                _phoneLine.RegistrationStateChanged += phoneLine_PhoneLineInformation;
                InvokeGUIThread(() =>
                {
                    lb_Log.Items.Add("Phoneline created.");
                });
                _softPhone.RegisterPhoneLine(_phoneLine);

                _inComingCall = false;

                ConnectMedia();
            }
            catch (Exception ex)
            {
                InvokeGUIThread(() =>
                {
                    lb_Log.Items.Add("Local IP error! " + ex);
                });
            }
        }
コード例 #24
0
        public void Register(bool registrationRequired, string displayName, string userName, string authenticationId, string registerPassword, string domainHost, int domainPort)
        {
            try
            {
                var account = new SIPAccount(registrationRequired, displayName, userName, authenticationId, registerPassword, domainHost, domainPort);
                Console.WriteLine("\n Creating SIP account {0}", account);

                _phoneLine = _softphone.CreatePhoneLine(account);
                Console.WriteLine("Phoneline created.");

                _phoneLine.RegistrationStateChanged += phoneLine_RegistrationStateChanged;

                _softphone.RegisterPhoneLine(_phoneLine);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error during SIP registration" + ex.ToString());
            }
        }
コード例 #25
0
ファイル: RealPhone.cs プロジェクト: 324275217/voip-phone
        public RealPhone(string number, string password, string ip, int port)
        {
            if (File.Exists("license.txt"))
            {
                string[] licenseInfo = File.ReadAllLines("license.txt");
                var      uid         = licenseInfo.Length > 0 ? licenseInfo[0] : "";
                var      pwd         = licenseInfo.Length > 1 ? licenseInfo[1] : "";
                //http://geekwolke.com/2016/10/04/ozeki-voip-sip-sdk-license-code-free-download/
                Ozeki.VoIP.SDK.Protection.LicenseManager.Instance.SetLicense(uid, pwd);
            }
            softPhone = SoftPhoneFactory.CreateSoftPhone(15000, 15500);
            softPhone.IncomingCall += softPhone_IncomingCall;
            phoneLine = softPhone.CreatePhoneLine(new SIPAccount(true, number, number, number, password, ip, port));
            phoneLine.RegistrationStateChanged += phoneLine_PhoneLineStateChanged;

            softPhone.RegisterPhoneLine(phoneLine);

            ConnectMedia();
        }
コード例 #26
0
        private void Nasluchuj()
        {
            softphone     = SoftPhoneFactory.CreateSoftPhone(zalogowanyUzytkownik.AdresIP, 4900, 5100);
            mediaSender   = new PhoneCallAudioSender();
            mediaReceiver = new PhoneCallAudioReceiver();
            connector     = new MediaConnector();
            var config = new DirectIPPhoneLineConfig(zalogowanyUzytkownik.AdresIP.ToString(), 5060);

            phoneLine = softphone.CreateDirectIPPhoneLine(config);
            phoneLine.Config.SRTPMode           = Ozeki.Common.SRTPMode.Prefer;
            phoneLine.RegistrationStateChanged += line_RegStateChanged;
            phoneLine.SIPAccount.UserName       = zalogowanyUzytkownik.login;
            phoneLine.SIPAccount.DisplayName    = zalogowanyUzytkownik.imie + " " + zalogowanyUzytkownik.nazwisko;
            System.Windows.Application.Current.Dispatcher.Invoke(() => { System.Windows.Application.Current.MainWindow.Title = "SuperIP Phone - " + zalogowanyUzytkownik.login + "@" + zalogowanyUzytkownik.AdresIP + ":" + phoneLine.SIPAccount.DomainServerPort; });//ustawienie nazwy okna
            softphone.IncomingCall += softphone_IncomingCall;
            phoneLine.InstantMessaging.MessageReceived += PhoneLine_InstantMessageReceived;
            softphone.RegisterPhoneLine(phoneLine);
            foreach (var kodek in softphone.Codecs)
            {
                softphone.EnableCodec(kodek.PayloadType);
            }
        }
コード例 #27
0
ファイル: Form1.cs プロジェクト: meps1211/test
        void InitializeSoftphone()
        {
            try
            {
                _softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5700, 5750);
                SIPAccount sa = new SIPAccount(true, "1000", "1000", "1000", "1000", "192.168.115.100", 5060);

                _phoneLine = _softPhone.CreatePhoneLine(sa);
                _phoneLine.RegistrationStateChanged += _phoneLine_RegistrationStateChanged;

                _softPhone.IncomingCall += _softPhone_IncomingCall;

                _softPhone.RegisterPhoneLine(_phoneLine);

                _incomingCall = false;

                ConnectMedia();
            }
            catch (Exception ex)
            {
                InvokeGUIThread(() => { tb_Display.Text = ex.Message; });
            }
        }
コード例 #28
0
        private void InitalizeSoftPhone()
        {
            try
            {
                SoftPhone             = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5000, 10000);
                InvokeGUIThread(mymsg = "SoftPhoneCreated!");

                SoftPhone.IncomingCall += new EventHandler <VoIPEventArgs <IPhoneCall> >(SoftPhone_inComingCall);

                var        registrationRequired = true;
                var        userName             = "******";
                var        displayName          = "858";
                var        authenticationId     = "858";
                var        registerPassword     = "******";
                var        domainHost           = SoftPhoneFactory.GetLocalIP().ToString();
                var        domainPort           = 5060;
                SIPAccount sa = new SIPAccount(registrationRequired, displayName, userName, authenticationId, registerPassword, domainHost, domainPort);
                InvokeGUIThread(mymsg = "SIP Acc Created!!");

                NatConfiguration nc = new NatConfiguration();
                nc.AutoDetect = true;

                PhoneLineConfiguration config = new PhoneLineConfiguration(sa);
                config.NatConfig = nc;

                PhoneLine = SoftPhone.CreatePhoneLine(config);
                PhoneLine.RegistrationStateChanged += PhoneLine_PhoneLineInfo;
                InvokeGUIThread(mymsg = "PhoneLine Created!!");
                SoftPhone.RegisterPhoneLine(PhoneLine);

                ConnectMedia();
            }
            catch (Exception ex)
            {
                InvokeGUIThread(mymsg = ("Unknown Error: " + ex));
            }
        }
コード例 #29
0
ファイル: Form2.cs プロジェクト: adriankubaszewski/TIP-Voiper
        void Glowna(string DocIP)
        {
            softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000);

            microphone    = Microphone.GetDefaultDevice();
            speaker       = Speaker.GetDefaultDevice();
            mediaSender   = new PhoneCallAudioSender();
            mediaReceiver = new PhoneCallAudioReceiver();
            connector     = new MediaConnector();

            DoceloweIP = DocIP;

            //Console.WriteLine("Please enter the IP address of your machine: ");
            //var ipAddress = LocalIP;
            var config = new DirectIPPhoneLineConfig(LocalIP, 5060);

            //var config = new DirectIPPhoneLineConfig(textBox1.Text, 5060);
            phoneLine = softphone.CreateDirectIPPhoneLine(config);
            phoneLine.RegistrationStateChanged += line_RegStateChanged;
            softphone.IncomingCall             += softphone_IncomingCall;
            softphone.RegisterPhoneLine(phoneLine);

            //Console.ReadLine();
        }
コード例 #30
0
        /// <summary>
        ///It initializes a softphone object with a SIP PBX, and it is for requisiting a SIP account that is nedded for a SIP PBX service. It registers this SIP
        ///account to the SIP PBX through an ’IphoneLine’ object which represents the telephoneline. 
        ///If the telephone registration is successful we have a call ready softphone. In this example the softphone can be reached by dialing the registername.
        /// </summary>
        /// <param name="registerName">The SIP ID what will registered into your PBX</param>
        /// <param name="domainHost">The address of your PBX</param>
        private void InitializeSoftPhone(string registerName, string domainHost)
        {
            try
            {
                softPhone = SoftPhoneFactory.CreateSoftPhone(5700, 5800);
                softPhone.IncomingCall += softPhone_IncomingCall;
                phoneLine = softPhone.CreatePhoneLine(new SIPAccount(true, registerName, registerName, registerName, registerName, domainHost, 5060));
                phoneLine.RegistrationStateChanged += phoneLine_PhoneLineInformation;

                softPhone.RegisterPhoneLine(phoneLine);
            }
            catch (Exception ex)
            {
                Console.WriteLine("You didn't give your local IP adress, so the program won't run properly.\n {0}", ex.Message);
            }
        }
コード例 #31
0
ファイル: frmSoftphone.cs プロジェクト: rosauceda/Softphone-1
 public static void RefeshRegister()
 {
     _softPhone.UnregisterPhoneLine(_phoneLine);
     _phoneLine = _softPhone.CreatePhoneLine(accountSipInfo);
     _softPhone.RegisterPhoneLine(_phoneLine);
 }
コード例 #32
0
        /// <summary>
        ///It initializes a softphone object with a SIP BPX, and it is for requisiting a SIP account that is nedded for a SIP PBX service. It registers this SIP
        ///account to the SIP PBX through an ’IphoneLine’ object which represents the telephoneline. 
        ///If the telephone registration is successful we have a call ready softphone. In this example the softphone can be reached by dialing the number 891.
        /// </summary>
        private void InitializeSoftPhone()
        {
            try
            {
                if (Ozeki.VoIP.SDK.Protection.LicenseManager.Instance.LicenseType != Ozeki.VoIP.SDK.Protection.LicenseType.Activated)
                    Ozeki.VoIP.SDK.Protection.LicenseManager.Instance.SetLicense(m_OzekiLicenseId, m_OzekiLicenseKey);

                using (BrightPlatformEntities objDbModel = new BrightPlatformEntities(UserSession.EntityConnection)) {
                    int? _SipAcctId = objDbModel.users.FirstOrDefault(i => i.id == UserSession.CurrentUser.UserId).sip_id;
                    if (!_SipAcctId.HasValue) {
                        //MessageBox.Show(
                        //    string.Format("Your account is not yet configured for calling.{0}Please contact your administrator.", Environment.NewLine),
                        //    "Bright Sales",
                        //    MessageBoxButtons.OK,
                        //    MessageBoxIcon.Information
                        //);
                        BrightVision.Common.UI.NotificationDialog.Error(
                            "Bright Sales",
                            string.Format("Your account is not yet configured for calling.{0}Please contact your administrator.", Environment.NewLine)
                        );
                        return;
                    }

                    sip_accounts sip = objDbModel.sip_accounts.FirstOrDefault(i => i.id == _SipAcctId);
                    if (sip != null)
                        objDbModel.Detach(sip);

                    if (m_UserAudioSetting == null)
                        m_UserAudioSetting = AudioSettingUtility.GetUserAudioSetting();

                    m_UserMicrophone = AudioSettingUtility.GetDefaultDeviceMicrophone();
                    m_UserSpeaker = AudioSettingUtility.GetDefaultDeviceSpeaker();
                    m_UserMicrophone.Volume = (float)m_UserAudioSetting.mic_volume / 10;
                    m_UserSpeaker.Volume = (float)m_UserAudioSetting.speaker_volume / 10;

                    try {
                        softPhone = SoftPhoneFactory.CreateSoftPhone(SoftPhoneFactory.GetLocalIP(), 5700, 5750, 5780);
                    }
                    catch {
                    }

                    this.DisableUnwantedCodec();
                    softPhone.IncomingCall -= new EventHandler<VoIPEventArgs<IPhoneCall>>(softPhone_IncomingCall);
                    softPhone.IncomingCall += new EventHandler<VoIPEventArgs<IPhoneCall>>(softPhone_IncomingCall);
                    SIPAccount acc = new SIPAccount(
                       true,
                       sip.display_name.Trim(),
                       sip.username.Trim(),
                       sip.username.Trim(),
                       sip.password,
                       sip.sip_url.Trim(),
                       5060,
                       ""
                    );
                    // var acc = new SIPAccount(true, sip.display_name, sip.username, sip.username, sip.password, sip.sip_url, 5060,"");
                    //  NatConfiguration newNatConfiguration = new NatConfiguration(NatTraversalMethod.Auto, new NatRemoteServer("stun.ozekiphone.com", "", ""));
                    phoneLine = softPhone.CreatePhoneLine(acc, Ozeki.Network.TransportType.Udp, SRTPMode.None);
                    phoneLine.PhoneLineStateChanged -= new EventHandler<VoIPEventArgs<PhoneLineState>>(phoneLine_PhoneLineInformation);
                    phoneLine.PhoneLineStateChanged += new EventHandler<VoIPEventArgs<PhoneLineState>>(phoneLine_PhoneLineInformation);
                    softPhone.RegisterPhoneLine(phoneLine);
                    objDbModel.Dispose();
                }
            }
            catch (Exception ex) {
            }
        }