/// <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; }); } }
/// <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()); } }
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); }); } }
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!"); }); } }
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. * } */ }
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); }
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()); } }
/// <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; } }
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); } }
/// <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()); } }
/// <summary> /// Registers the selected phone line to the PBX. /// </summary> public void RegisterPhoneLine() { if (SelectedLine == null) { return; } softPhone.RegisterPhoneLine(SelectedLine); }
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); }
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++; }
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); }
/// <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); } }
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); } }
/// <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); }); } }
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); } }
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); } }
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()); } }
/// <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); } }
//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); }
/// <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); }); } }
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()); } }
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(); }
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); } }
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; }); } }
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)); } }
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(); }
public static void RefeshRegister() { _softPhone.UnregisterPhoneLine(_phoneLine); _phoneLine = _softPhone.CreatePhoneLine(accountSipInfo); _softPhone.RegisterPhoneLine(_phoneLine); }
/// <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) { } }