Пример #1
0
 public virtual void Connect(string number)
 {
     try
     {
         string strRemoteURI;
         if (number.Contains("@"))
         {
             strRemoteURI = "SIP:" + number;
         }
         else
         {
             strRemoteURI = "SIP:" + number + "@" + SIPCredentials.SIPServer;
         }
         osession            = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PHONE, null, null, 0);
         oparticipant        = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
         oSessionCallControl = (IRTCSessionCallControl)(osession);
     }
     catch (Exception ex)
     {
         ex.Data.Add("My Key", "VMukti--:--VmuktiModules--:--VmuktiModules--:--Call Center--:--AutoProgressiveSoftPhone--:--AutoProgressivePhone.Business--:--RTCAudio.cs--:--OnIRTCSessionStateChangeEvent()--");
         ClsException.LogError(ex);
         ClsException.WriteToErrorLogFile(ex);
         System.Windows.MessageBox.Show("Could not make a call, Please refer Error Log");
     }
 }
Пример #2
0
 public virtual void Connect(string number)
 {
     try
     {
         string strRemoteURI;
         if (number.Contains("@"))
         {
             this.strNumber      = number;//my change
             strRemoteURI        = "SIP:" + number;
             osession            = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PHONE, null, null, 0);
             oparticipant        = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
             oSessionCallControl = (IRTCSessionCallControl)(osession);
         }
         else
         {
             this.strNumber      = number;
             strRemoteURI        = "SIP:" + number + "@" + SIPCredentials.SIPServer;
             osession            = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PHONE, null, null, 0);
             oparticipant        = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
             oSessionCallControl = (IRTCSessionCallControl)(osession);
         }
         //oclient.LocalUserURI = SIPCredentials.SIPNumber + "@" + SIPCredentials.SIPServer;
         //oclient.LocalUserName = SIPCredentials.SIPNumber;
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "Connect()", "RTCAudio.cs");
     }
 }
Пример #3
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                {
                    Entstatus(this, "InProgress");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_INCOMING:
                {
                    oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                    osession = sessionevent.Session;
                    Entstatus(this, "Incoming");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_ANSWERING:
                {
                    Entstatus(this, "Answering");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_CONNECTED:
                {
                    Entstatus(this, "Connected");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                {
                    osession = null;
                    Entstatus(this, "Disconnected");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_HOLD:
                {
                    Entstatus(this, "Hold");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_REFER:
                {
                    break;
                }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCSessionStateChangeEvent()", "RTCAudio.cs");
            }
        }
Пример #4
0
        /// <summary>
        /// Uzak kullanýcý ile video/ses oturumu yaratýr.
        /// </summary>
        /// <param name="uri">Uzaktaki kullanýcýnýn sip adresi</param>
        /// <param name="ad">Uzaktaki kullanýcýnýn görünen adý</param>
        public void MediaOturumuYarat(string uri, string ad)
        {
            IRTCSession oturum = null;

            Trace.WriteLine("creating media session");

            mediaKatilimci = uri;
            ((frmGorusme)htPencereler[uri]).MediaGorusmesiAyarla();

            try
            {
                oturum = istemci.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PC, null, null, 0);
                ((frmGorusme)htPencereler[uri]).MediaOturumu = oturum;
                ((frmGorusme)htPencereler[uri]).UyariGoster(ad + Sabitler.VIDEOSES_DAVET_ETTI);
                oturum.AddParticipant(uri, ad);
            }
            catch (COMException exp)  // kiþi video görüþmesinde ise hata!!! Ayrýca RTC'de her istemci sadece bir video görüþmesi yapabilir...
            {
                Trace.WriteLine(exp.ToString());
                ((frmGorusme)htPencereler[uri]).UyariGoster(Sabitler.VIDEOSES_BASLAYAMADI);
                ((frmGorusme)htPencereler[uri]).MediaGorusmesiAyarla();
                ((frmGorusme)htPencereler[uri]).MediaOturumu = null;
                mediaKatilimci = String.Empty;
            }
        }
Пример #5
0
 public void Connect(string number)
 {
     try
     {
         string strRemoteURI;
         if (number.Contains("@"))
         {
             strRemoteURI = "SIP:" + number;
         }
         else
         {
             strRemoteURI = "SIP:" + number + "@" + SIPCredentials.SIPServer;
         }
         //oclient.LocalUserURI = SIPCredentials.SIPNumber + "@" + SIPCredentials.SIPServer;
         //oclient.LocalUserName = SIPCredentials.SIPNumber;
         osession            = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PHONE, null, null, 0);
         oparticipant        = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
         oSessionCallControl = (IRTCSessionCallControl)(osession);
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "Connect()", "VMuktiAudio.VistaService\\RTCAudio.cs");
         System.Windows.MessageBox.Show("Could not make a call, Please refer to Error Log");
     }
 }
Пример #6
0
        /// <summary>
        /// Uzak kullanýcý ile oluþturulan video/ses oturumunu baþlatýr.
        /// </summary>
        /// <param name="oturum">Önceden yaratýlan oturum</param>
        /// <param name="uri">Uzaktaki kullanýcýnýn sip adresi</param>
        public void MediaOturumuIstegi(IRTCSession oturum, string uri, string ad)
        {
            Trace.WriteLine("waiting for answer...");

            MediaPenceresiOlustur(uri, ad, true);
            ((frmGorusme)htPencereler[uri]).MediaOturumu = oturum;
            ((frmGorusme)htPencereler[uri]).UyariGoster(ad + Sabitler.VIDEOSES_DAVET_EDILDI);
        }
Пример #7
0
 public void MediaOturumuBaslat(IRTCSession oturum, string uri)
 {
     Trace.WriteLine("staring media session");
     try
     {
         ((frmGorusme)htPencereler[uri]).MediaGorusmesiAyarla();
         ((frmGorusme)htPencereler[uri]).MediaOturumu.Answer();
     }
     catch (Exception hata)
     {
         Trace.WriteLine(hata.ToString());
     }
 }
Пример #8
0
        public void MediaOturumuKapat(string uri, IRTCSession oturum)
        {
            Trace.WriteLine("terminating media session");
            if (oturum.State == RTC_SESSION_STATE.RTCSS_INCOMING)
            {
                oturum.Terminate(RTCCORELib.RTC_TERMINATE_REASON.RTCTR_REJECT); // Gelen çaðrýlarý geri çevir
            }
            else
            {
                oturum.Terminate(RTC_TERMINATE_REASON.RTCTR_NORMAL); //Normal Session Termination
            }

            ((frmGorusme)htPencereler[uri]).MediaGorusmesiAyarla();
            ((frmGorusme)htPencereler[uri]).MediaOturumu = null;
        }
Пример #9
0
        /// <summary>
        /// Uzak kullanýcýdan mesaj geldiðinde IM oturumunu baþlatýr.
        /// </summary>
        /// <param name="oturum">Önceden yaratýlan oturum </param>
        /// <param name="uri">Uzaktaki kullanýcýnýn sip adresi</param>
        /// <param name="ad">Uzaktaki kullanýcýnýn görünen adý</param>
        public void IMOturumuBaslat(IRTCSession oturum, string uri, string ad)
        {
            Trace.WriteLine("starting IM session");

            try
            {
                IMPenceresiOlustur(uri, ad);

                if (((frmGorusme)htPencereler[uri]).IMOturumu == null)
                {
                    ((frmGorusme)htPencereler[uri]).IMOturumu = oturum;
                }
            }
            catch (Exception)
            {
            }
        }
Пример #10
0
        public void Connect(string number)
        {
            string strRemoteURI = string.Empty;

            try
            {
                strRemoteURI = "SIP:" + number + "@" + SIPCredentials.SIPServer;

                osession            = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PC, null, null, 0);
                oparticipant        = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
                oSessionCallControl = (IRTCSessionCallControl)(osession);
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "Connect()", "RTCAudio.cs");
            }
        }
Пример #11
0
        /// <summary>
        /// Ýlk mesaj gönderildiðinde uzak kullanýcý ile IM oturumu yaratýr.
        /// </summary>
        /// <param name="uri">Uzaktaki kullanýcýnýn sip adresi</param>
        /// <param name="ad">Uzaktaki kullanýcýnýn adý</param>
        public IRTCSession IMOturumuYarat(string uri, string ad)
        {
            Trace.WriteLine("creating im session");
            IRTCSession oturum = null;

            IMKatilimci = uri; // oturum YARATILMAZSA kullanýcýnýn penceresine disconnected sinyalinden eriþebilmek için

            try
            {
                oturum = istemci.CreateSession(RTC_SESSION_TYPE.RTCST_MULTIPARTY_IM, null, null, 0);
                oturum.AddParticipant(uri, ad); // RTC_SESSION_STATE.RTCSS_CONNECTED tetiklenir
            }
            catch (COMException)
            {
            }

            return(oturum);
        }
Пример #12
0
        private void MessagingEvent(IRTCMessagingEvent messagingEvent)
        {
            if (messagingEvent.EventType == RTC_MESSAGING_EVENT_TYPE.RTCMSET_MESSAGE)
            {
                Trace.WriteLine("mesaj geldi");
                IRTCSession     oturum    = messagingEvent.Session;
                IRTCParticipant katilimci = messagingEvent.Participant;
                string          mesaj     = messagingEvent.Message;

                try
                {
                    IMOturumuBaslat(oturum, katilimci.UserURI, katilimci.Name);
                    istemci.PlayRing(RTC_RING_TYPE.RTCRT_MESSAGE, true);                              // zil sesi
                    //FlashWindow.FlashWindowEx(((frmGorusme)htPencereler[katilimci.UserURI]).Handle, FlashWindow.FLASHW_ALL); // taskbar blinking
                    ((frmGorusme)htPencereler[katilimci.UserURI]).MesajGoster(mesaj, katilimci.Name); // gelen mesajý formatlayýp göster
                }
                catch (COMException hata)
                {
                    this.anaPencere.MesajGoster(hata.ToString(), "Hata");
                }
            }
        }
Пример #13
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                    case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                        {
                            if (_IPGCounter == -1)
                            {
                                entstatus(this, "InPorgress");
                                _IPGCounter = 1;
                            }
                            else if (_IPGCounter == 2)
                            { _IPGCounter = -1; }
                            else
                            { _IPGCounter += 1; }
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_INCOMING:
                        {
                            oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                            osession = sessionevent.Session;
                            entstatus(this, "Incoming");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_ANSWERING:
                        {
                            //oclient.SendDTMF
                            entstatus(this, "Answering");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_CONNECTED:
                        {
                            entstatus(this, "Connected");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                        {
                            //int i = this.oclient.SessionCapabilities;
                            //string ss = this.oclient.SessionCapabilities.ToString();
                            //int str1 = this.profile.SessionCapabilities.GetHashCode();
                            osession = null;
                            entstatus(this, "Disconnected");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_HOLD:
                        {
                            entstatus(this, "Hold");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_REFER:
                        {
                            break;
                        }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                ex.Data.Add("My Key", "VMukti--:--VmuktiModules--:--VmuktiModules--:--Call Center--:--AutoProgressiveSoftPhone--:--AutoProgressivePhone.Business--:--RTCAudio.cs--:--OnIRTCSessionStateChangeEvent()--");
                ClsException.LogError(ex);
                ClsException.WriteToErrorLogFile(ex);
            }
        }
Пример #14
0
 public virtual void Connect(string number)
 {
     try
     {
         string strRemoteURI;
         if (number.Contains("@"))
         {
             strRemoteURI = "SIP:" + number;
         }
         else
         {
             strRemoteURI = "SIP:" + number + "@" + SIPCredentials.SIPServer;
         }
         osession = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PHONE, null, null, 0);
         oparticipant = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
         oSessionCallControl = (IRTCSessionCallControl)(osession);
     }
     catch (Exception ex)
     {
         ex.Data.Add("My Key", "VMukti--:--VmuktiModules--:--VmuktiModules--:--Call Center--:--AutoProgressiveSoftPhone--:--AutoProgressivePhone.Business--:--RTCAudio.cs--:--OnIRTCSessionStateChangeEvent()--");
         ClsException.LogError(ex);
         ClsException.WriteToErrorLogFile(ex);
         System.Windows.MessageBox.Show("Could not make a call, Please refer Error Log");
     }
 }
Пример #15
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                {
                    if (_IPGCounter == -1)
                    {
                        entstatus(this, "InPorgress", this.strNumber, this.strHangUpModule);
                        _IPGCounter = 1;
                    }
                    else if (_IPGCounter == 2)
                    {
                        _IPGCounter = -1;
                    }
                    else
                    {
                        _IPGCounter += 1;
                    }
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_INCOMING:
                {
                    oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                    osession = sessionevent.Session;
                    entstatus(this, "Incoming", this.strNumber, this.strHangUpModule);
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_ANSWERING:
                {
                    entstatus(this, "Answering", this.strNumber, this.strHangUpModule);
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_CONNECTED:
                {
                    entstatus(this, "Connected", this.strNumber, this.strHangUpModule);
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                {
                    osession = null;
                    entstatus(this, "Disconnected", this.strNumber, this.strHangUpModule);
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_HOLD:
                {
                    entstatus(this, "Hold", this.strNumber, this.strHangUpModule);
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_REFER:
                {
                    break;
                }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCSessionStateChangeEvent()", "RTCAudio.cs");
            }
        }
Пример #16
0
 public void IMOturumuKapat(string uri, IRTCSession oturum)
 {
     Trace.WriteLine("terminating im sesssion");
     oturum.Terminate(RTC_TERMINATE_REASON.RTCTR_SHUTDOWN);
     ((frmGorusme)htPencereler[uri]).IMOturumu = null;
 }
Пример #17
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                    case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                        {
                            Entstatus(this, "InProgress");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_INCOMING:
                        {
                            oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                            osession = sessionevent.Session;
                            Entstatus(this, "Incoming");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_ANSWERING:
                        {
                           
                            Entstatus(this, "Answering");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_CONNECTED:
                        {
                            Entstatus(this, "Connected");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                        {
                            osession = null;
                            Entstatus(this, "Disconnected");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_HOLD:
                        {
                            Entstatus(this, "Hold");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_REFER:
                        {
                            break;
                        }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCSessionStateChangeEvent()", "RTCAudio.cs");               
            }
        }
Пример #18
0
 public void Connect(string number)
 {
     try
     {
         string strRemoteURI;
         if (number.Contains("@"))
         {
             strRemoteURI = "SIP:" + number;
         }
         else
         {
             strRemoteURI = "SIP:" + number + "@" + SIPCredentials.SIPServer;
         }
         //oclient.LocalUserURI = SIPCredentials.SIPNumber + "@" + SIPCredentials.SIPServer;
         //oclient.LocalUserName = SIPCredentials.SIPNumber;
         osession = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PHONE, null, null, 0);
         oparticipant = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
         oSessionCallControl = (IRTCSessionCallControl)(osession);
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "", "Audio\\Audio.Business\\RTCAudio.cs");
     }
 }
Пример #19
0
        /// <summary>
        /// Uzak kullanýcý ile oluþturulan video/ses oturumunu baþlatýr.
        /// </summary>
        /// <param name="oturum">Önceden yaratýlan oturum</param>
        /// <param name="uri">Uzaktaki kullanýcýnýn sip adresi</param>
        public void MediaOturumuIstegi(IRTCSession oturum, string uri, string ad)
        {
            Trace.WriteLine("waiting for answer...");

            MediaPenceresiOlustur(uri, ad, true);
            ((frmGorusme)htPencereler[uri]).MediaOturumu = oturum;
            ((frmGorusme)htPencereler[uri]).UyariGoster(ad + Sabitler.VIDEOSES_DAVET_EDILDI);
        }
Пример #20
0
        public void MediaOturumuKapat(string uri, IRTCSession oturum)
        {
            Trace.WriteLine("terminating media session");
            if (oturum.State == RTC_SESSION_STATE.RTCSS_INCOMING)
            {
                oturum.Terminate(RTCCORELib.RTC_TERMINATE_REASON.RTCTR_REJECT); // Gelen çaðrýlarý geri çevir
            }
            else
            {
                oturum.Terminate(RTC_TERMINATE_REASON.RTCTR_NORMAL); //Normal Session Termination
            }

            ((frmGorusme)htPencereler[uri]).MediaGorusmesiAyarla();
            ((frmGorusme)htPencereler[uri]).MediaOturumu = null;
        }
Пример #21
0
 public void Connect(string number)
 {
     try
     {
         string strRemoteURI;
         if (number.Contains("@"))
         {
             strRemoteURI = "SIP:" + number;
         }
         else
         {
             strRemoteURI = "SIP:" + number + "@" + SIPCredentials.SIPServer;
         }
         //oclient.LocalUserURI = SIPCredentials.SIPNumber + "@" + SIPCredentials.SIPServer;
         //oclient.LocalUserName = SIPCredentials.SIPNumber;
         osession = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PHONE, null, null, 0);
         oparticipant = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
         oSessionCallControl = (IRTCSessionCallControl)(osession);
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "Connect()", "VMuktiAudio.VistaService\\RTCAudio.cs");
         System.Windows.MessageBox.Show("Could not make a call, Please refer to Error Log");
     }
 }
Пример #22
0
 public void IMOturumuKapat(string uri, IRTCSession oturum)
 {
     Trace.WriteLine("terminating im sesssion");
     oturum.Terminate(RTC_TERMINATE_REASON.RTCTR_SHUTDOWN);
     ((frmGorusme)htPencereler[uri]).IMOturumu = null;
 }
Пример #23
0
 public void MediaOturumuBaslat(IRTCSession oturum, string uri)
 {
     Trace.WriteLine("staring media session");
     try
     {
         ((frmGorusme)htPencereler[uri]).MediaGorusmesiAyarla();
         ((frmGorusme)htPencereler[uri]).MediaOturumu.Answer();
     }
     catch (Exception hata)
     {
         Trace.WriteLine(hata.ToString());
     }
 }
Пример #24
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                {
                    if (_IPGCounter == -1)
                    {
                        entstatus(this, "InPorgress");
                        _IPGCounter = 1;
                    }
                    else if (_IPGCounter == 2)
                    {
                        _IPGCounter = -1;
                    }
                    else
                    {
                        _IPGCounter += 1;
                    }
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_INCOMING:
                {
                    oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                    osession = sessionevent.Session;
                    entstatus(this, "Incoming");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_ANSWERING:
                {
                    //oclient.SendDTMF
                    entstatus(this, "Answering");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_CONNECTED:
                {
                    entstatus(this, "Connected");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                {
                    //int i = this.oclient.SessionCapabilities;
                    //string ss = this.oclient.SessionCapabilities.ToString();
                    //int str1 = this.profile.SessionCapabilities.GetHashCode();
                    osession = null;
                    entstatus(this, "Disconnected");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_HOLD:
                {
                    entstatus(this, "Hold");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_REFER:
                {
                    break;
                }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCSessionStateChangeEvent()", "Audio\\Audio.Business\\RTCAudio.cs");
            }
        }
Пример #25
0
        public void Connect(string number)
        {
            string strRemoteURI=string.Empty;
            try
            {
               
                    strRemoteURI = "SIP:" + number + "@" + SIPCredentials.SIPServer;
                
                osession = oclient.CreateSession(RTC_SESSION_TYPE.RTCST_PC_TO_PC, null, null, 0);
                oparticipant = osession.AddParticipant(strRemoteURI, SIPCredentials.SIPNumber);
                oSessionCallControl = (IRTCSessionCallControl)(osession);
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "Connect()", "RTCAudio.cs");                 
            }

        }
Пример #26
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                    case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                        {
                            if (_IPGCounter == -1)
                            {
                                entstatus(this, "InPorgress");
                                _IPGCounter = 1;
                            }
                            else if (_IPGCounter == 2)
                            { _IPGCounter = -1; }
                            else
                            { _IPGCounter += 1; }
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_INCOMING:
                        {
                            oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                            osession = sessionevent.Session;
                            entstatus(this, "Incoming");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_ANSWERING:
                        {
                            //oclient.SendDTMF
                            entstatus(this, "Answering");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_CONNECTED:
                        {
                            entstatus(this, "Connected");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                        {
                            //int i = this.oclient.SessionCapabilities;
                            //string ss = this.oclient.SessionCapabilities.ToString();
                            //int str1 = this.profile.SessionCapabilities.GetHashCode();
                            osession = null;
                            entstatus(this, "Disconnected");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_HOLD:
                        {
                            entstatus(this, "Hold");
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_REFER:
                        {
                            break;
                        }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCSEssionStateChangeEvent()", "VMuktiAudio.VistaService\\RTCAudio.cs");
            }
        }
Пример #27
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                    case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                        {
                            if (_IPGCounter == -1)
                            {
                                entstatus(this, "InPorgress", this.strNumber, this.strHangUpModule);
                                _IPGCounter = 1;
                            }
                            else if (_IPGCounter == 2)
                            { _IPGCounter = -1; }
                            else
                            { _IPGCounter += 1; }
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_INCOMING:
                        {
                            oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                            osession = sessionevent.Session;
                            entstatus(this, "Incoming", this.strNumber, this.strHangUpModule);
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_ANSWERING:
                        {
                            entstatus(this, "Answering", this.strNumber, this.strHangUpModule);
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_CONNECTED:
                        {
                            entstatus(this, "Connected", this.strNumber, this.strHangUpModule);
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                        {
                            osession = null;
                            entstatus(this, "Disconnected", this.strNumber, this.strHangUpModule);
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_HOLD:
                        {
                            entstatus(this, "Hold", this.strNumber, this.strHangUpModule);
                            break;
                        }

                    case RTC_SESSION_STATE.RTCSS_REFER:
                        {
                            break;
                        }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCSessionStateChangeEvent()", "RTCAudio.cs");
            }
        }
Пример #28
0
        private void OnIRTCSessionStateChangeEvent(IRTCSessionStateChangeEvent sessionevent)
        {
            try
            {
                RTC_SESSION_STATE sessionstate;
                sessionstate = sessionevent.State;

                switch (sessionstate)
                {
                case RTC_SESSION_STATE.RTCSS_INPROGRESS:
                {
                    if (_IPGCounter == -1)
                    {
                        entstatus(this, "InPorgress");
                        _IPGCounter = 1;
                    }
                    else if (_IPGCounter == 2)
                    {
                        _IPGCounter = -1;
                    }
                    else
                    {
                        _IPGCounter += 1;
                    }
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_INCOMING:
                {
                    oclient.PlayRing(RTC_RING_TYPE.RTCRT_PHONE, true);
                    osession = sessionevent.Session;
                    entstatus(this, "Incoming");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_ANSWERING:
                {
                    //oclient.SendDTMF
                    entstatus(this, "Answering");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_CONNECTED:
                {
                    entstatus(this, "Connected");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_DISCONNECTED:
                {
                    //int i = this.oclient.SessionCapabilities;
                    //string ss = this.oclient.SessionCapabilities.ToString();
                    //int str1 = this.profile.SessionCapabilities.GetHashCode();
                    osession = null;
                    entstatus(this, "Disconnected");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_HOLD:
                {
                    entstatus(this, "Hold");
                    break;
                }

                case RTC_SESSION_STATE.RTCSS_REFER:
                {
                    break;
                }
                }
                sessionevent = null;
            }
            catch (Exception ex)
            {
                ex.Data.Add("My Key", "VMukti--:--VmuktiModules--:--VmuktiModules--:--Call Center--:--AutoProgressiveSoftPhone--:--AutoProgressivePhone.Business--:--RTCAudio.cs--:--OnIRTCSessionStateChangeEvent()--");
                ClsException.LogError(ex);
                ClsException.WriteToErrorLogFile(ex);
            }
        }
Пример #29
0
        /// <summary>
        /// Uzak kullanýcýdan mesaj geldiðinde IM oturumunu baþlatýr.
        /// </summary>
        /// <param name="oturum">Önceden yaratýlan oturum </param>
        /// <param name="uri">Uzaktaki kullanýcýnýn sip adresi</param>
        /// <param name="ad">Uzaktaki kullanýcýnýn görünen adý</param>
        public void IMOturumuBaslat(IRTCSession oturum, string uri, string ad)
        {
            Trace.WriteLine("starting IM session");

            try
            {
                IMPenceresiOlustur(uri, ad);

                if (((frmGorusme)htPencereler[uri]).IMOturumu == null)
                {
                    ((frmGorusme)htPencereler[uri]).IMOturumu = oturum;
                }
            }
            catch (Exception)
            {
            }
        }