Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }
Ejemplo n.º 6
0
 protected override void OnShutdown()
 {
     ipClient.Dispose();
     ipClient = null;
 }
Ejemplo n.º 7
0
        protected override void OnSaveData()
        {
            if(ipClient.LineInUse(1))
                ipClient.EndCall(1);

            ipClient.Dispose();
            ipClient = null;
            GC.Collect();
        }
Ejemplo n.º 8
0
        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;
            }
        }