protected override void OnLoadData() { if (ipClient == null) { profile = new SIPProfile(); profile.DomainRealm = "callbutler.com"; if (Properties.Settings.Default.ManagementInterfaceType == WOSI.CallButler.ManagementInterface.CallButlerManagementInterfaceType.Hosted) { ipClient = new inTELIPhoneClient(5060, 1, NATTraversalType.PartialSTUN); } else { ipClient = new inTELIPhoneClient(5060, 1, NATTraversalType.None); ipClient.SetRtpPort(1, 7850); } ipClient.EnableTracing = false; ipClient.CallEnded += new CallStateEventHandler(ipClient_CallEnded); ipClient.CallFailed += new CallFailedEventHandler(ipClient_CallFailed); ipClient.CallConnected += new IncomingCallEventHandler(ipClient_CallConnected); ipClient.IncomingTransfer += new EventHandler <IncomingTransferEventArgs>(ipClient_IncomingTransfer); //ipClient.SipPort = 8996; //trkMicVolume.Value = ipClient.GetMicrophoneVolume(1); trkSpeakerVolume.Value = ipClient.GetOutputVolume(1); sipPort = ManagementInterfaceClient.ManagementInterface.SIPPort; } }
protected override void OnSaveData() { if (ipClient.LineInUse(1)) { ipClient.EndCall(1); } ipClient.Dispose(); ipClient = null; GC.Collect(); }
protected override void OnShutdown() { ipClient.Dispose(); ipClient = null; }
public inTELIPhoneTelecomProvider(System.Windows.Forms.ToolStripMenuItem contextMenu, System.Windows.Forms.NotifyIcon notifyIcon, params object[] initializationParams) : base(contextMenu, notifyIcon, initializationParams) { if (contextMenu != null) { // Add a new menu item for SIP tracing ToolStripMenuItem tracingMenuItem = new ToolStripMenuItem("Show SIP Diagnostics"); tracingMenuItem.Click += new EventHandler(tracingMenuItem_Click); contextMenu.DropDownItems.Insert(0, tracingMenuItem); } currentProfiles = new Dictionary<Guid, SIPProfile>(); conferences = new Dictionary<int, List<int>>(); // Load our input parameters int lineCount = (int)initializationParams[0]; NATTraversalType natTraversalType = NATTraversalType.PartialSTUN; if (!(bool)initializationParams[1]) natTraversalType = NATTraversalType.None; string stunServer = (string)initializationParams[2]; int sipPort = (int)initializationParams[3]; // Create our ip client component and register it ipClient = new inTELIPhoneClient(sipPort, lineCount, natTraversalType, stunServer); //ipClient.ShowTracingUI(); ipClient.EnableTracing = false; try { ipClient.InitializeSpeech(); } catch(Exception e) { } ipClient.UseLocalAddressForInterNetworkCalls = true; ipClient.UseLocalAddressForSipMessages = (bool)initializationParams[4]; ipClient.SetAudioInputDeviceIDAll(-1); ipClient.SetAudioOutputDeviceIDAll(-1); // Attach to our ipClient Events ipClient.IncomingCall += new IncomingCallEventHandler(ipClient_IncomingCall); ipClient.CallConnected += new IncomingCallEventHandler(ipClient_CallConnected); ipClient.CallEnded += new CallStateEventHandler(ipClient_CallEnded); ipClient.DTMFToneRecognized += new DTMFToneEventHandler(ipClient_DTMFToneRecognized); ipClient.FaxToneDetected += new CallStateEventHandler(ipClient_FaxToneDetected); ipClient.FinishedSpeaking += new CallStateEventHandler(ipClient_FinishedSpeaking); ipClient.SoundFinishedPlaying += new CallStateEventHandler(ipClient_SoundFinishedPlaying); ipClient.SpeechRecognized += new SpeechRecognitionEventHandler(ipClient_SpeechRecognized); ipClient.TransferFailed += new CallStateEventHandler(ipClient_TransferFailed); ipClient.TransferSucceeded += new CallStateEventHandler(ipClient_TransferSucceeded); ipClient.CallFailed += new CallFailedEventHandler(ipClient_CallFailed); ipClient.ProfileRegistrationError += new SIPProfileEventHandler(ipClient_ProfileRegistrationError); ipClient.CallOnHold += new CallStateEventHandler(ipClient_CallOnHold); ipClient.CallOffHold += new CallStateEventHandler(ipClient_CallOffHold); ipClient.SpeechRecognized += new SpeechRecognitionEventHandler(ipClient_SpeechRecognized); ipClient.IncomingBusyCall += new IncomingBusyCallEventHandler(ipClient_IncomingBusyCall); ipClient.IncomingTransfer += new EventHandler<IncomingTransferEventArgs>(ipClient_IncomingTransfer); ipClient.CallTemporarilyMoved += new IncomingCallEventHandler(ipClient_CallTemporarilyMoved); ipClient.AnsweringMachineDetection += new EventHandler<AnsweringMachineDetectionEventArgs>(ipClient_AnsweringMachineDetection); ipClient.AnsweringMachineGreetingFinished += new EventHandler<CallStateEventArgs>(ipClient_AnsweringMachineGreetingFinished); ipClient.EndCallOnRTPTimeout = false; dtmfEvents = new Dictionary<int, List<DTMFEventData>>(); for (int index = 1; index <= ipClient.LineCount; index++) { // Enable DTMF recognition for each line ipClient.StartInBandDTMFRecognition(index); // Create a DTMF event holder to cut down on echos dtmfEvents[index] = new List<DTMFEventData>(10); } }
public inTELIPhoneTelecomProvider(System.Windows.Forms.ToolStripMenuItem contextMenu, System.Windows.Forms.NotifyIcon notifyIcon, params object[] initializationParams) : base(contextMenu, notifyIcon, initializationParams) { if (contextMenu != null) { // Add a new menu item for SIP tracing ToolStripMenuItem tracingMenuItem = new ToolStripMenuItem("Show SIP Diagnostics"); tracingMenuItem.Click += new EventHandler(tracingMenuItem_Click); contextMenu.DropDownItems.Insert(0, tracingMenuItem); } currentProfiles = new Dictionary <Guid, SIPProfile>(); conferences = new Dictionary <int, List <int> >(); // Load our input parameters int lineCount = (int)initializationParams[0]; NATTraversalType natTraversalType = NATTraversalType.PartialSTUN; if (!(bool)initializationParams[1]) { natTraversalType = NATTraversalType.None; } string stunServer = (string)initializationParams[2]; int sipPort = (int)initializationParams[3]; // Create our ip client component and register it ipClient = new inTELIPhoneClient(sipPort, lineCount, natTraversalType, stunServer); //ipClient.ShowTracingUI(); ipClient.EnableTracing = false; try { ipClient.InitializeSpeech(); } catch (Exception e) { } ipClient.UseLocalAddressForInterNetworkCalls = true; ipClient.UseLocalAddressForSipMessages = (bool)initializationParams[4]; ipClient.SetAudioInputDeviceIDAll(-1); ipClient.SetAudioOutputDeviceIDAll(-1); // Attach to our ipClient Events ipClient.IncomingCall += new IncomingCallEventHandler(ipClient_IncomingCall); ipClient.CallConnected += new IncomingCallEventHandler(ipClient_CallConnected); ipClient.CallEnded += new CallStateEventHandler(ipClient_CallEnded); ipClient.DTMFToneRecognized += new DTMFToneEventHandler(ipClient_DTMFToneRecognized); ipClient.FaxToneDetected += new CallStateEventHandler(ipClient_FaxToneDetected); ipClient.FinishedSpeaking += new CallStateEventHandler(ipClient_FinishedSpeaking); ipClient.SoundFinishedPlaying += new CallStateEventHandler(ipClient_SoundFinishedPlaying); ipClient.SpeechRecognized += new SpeechRecognitionEventHandler(ipClient_SpeechRecognized); ipClient.TransferFailed += new CallStateEventHandler(ipClient_TransferFailed); ipClient.TransferSucceeded += new CallStateEventHandler(ipClient_TransferSucceeded); ipClient.CallFailed += new CallFailedEventHandler(ipClient_CallFailed); ipClient.ProfileRegistrationError += new SIPProfileEventHandler(ipClient_ProfileRegistrationError); ipClient.CallOnHold += new CallStateEventHandler(ipClient_CallOnHold); ipClient.CallOffHold += new CallStateEventHandler(ipClient_CallOffHold); ipClient.SpeechRecognized += new SpeechRecognitionEventHandler(ipClient_SpeechRecognized); ipClient.IncomingBusyCall += new IncomingBusyCallEventHandler(ipClient_IncomingBusyCall); ipClient.IncomingTransfer += new EventHandler <IncomingTransferEventArgs>(ipClient_IncomingTransfer); ipClient.CallTemporarilyMoved += new IncomingCallEventHandler(ipClient_CallTemporarilyMoved); ipClient.AnsweringMachineDetection += new EventHandler <AnsweringMachineDetectionEventArgs>(ipClient_AnsweringMachineDetection); ipClient.AnsweringMachineGreetingFinished += new EventHandler <CallStateEventArgs>(ipClient_AnsweringMachineGreetingFinished); ipClient.EndCallOnRTPTimeout = false; dtmfEvents = new Dictionary <int, List <DTMFEventData> >(); for (int index = 1; index <= ipClient.LineCount; index++) { // Enable DTMF recognition for each line ipClient.StartInBandDTMFRecognition(index); // Create a DTMF event holder to cut down on echos dtmfEvents[index] = new List <DTMFEventData>(10); } }
protected override void OnSaveData() { if(ipClient.LineInUse(1)) ipClient.EndCall(1); ipClient.Dispose(); ipClient = null; GC.Collect(); }
protected override void OnLoadData() { if (ipClient == null) { profile = new SIPProfile(); profile.DomainRealm = "callbutler.com"; if (Properties.Settings.Default.ManagementInterfaceType == WOSI.CallButler.ManagementInterface.CallButlerManagementInterfaceType.Hosted) { ipClient = new inTELIPhoneClient(5060, 1, NATTraversalType.PartialSTUN); } else { ipClient = new inTELIPhoneClient(5060, 1, NATTraversalType.None); ipClient.SetRtpPort(1, 7850); } ipClient.EnableTracing = false; ipClient.CallEnded += new CallStateEventHandler(ipClient_CallEnded); ipClient.CallFailed += new CallFailedEventHandler(ipClient_CallFailed); ipClient.CallConnected += new IncomingCallEventHandler(ipClient_CallConnected); ipClient.IncomingTransfer += new EventHandler<IncomingTransferEventArgs>(ipClient_IncomingTransfer); //ipClient.SipPort = 8996; //trkMicVolume.Value = ipClient.GetMicrophoneVolume(1); trkSpeakerVolume.Value = ipClient.GetOutputVolume(1); sipPort = ManagementInterfaceClient.ManagementInterface.SIPPort; } }