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"); } }
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"); } }
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"); } }
/// <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; } }
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"); } }
/// <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); }
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()); } }
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; }
/// <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) { } }
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"); } }
/// <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); }
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"); } } }
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); } }
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"); } }
public void IMOturumuKapat(string uri, IRTCSession oturum) { Trace.WriteLine("terminating im sesssion"); oturum.Terminate(RTC_TERMINATE_REASON.RTCTR_SHUTDOWN); ((frmGorusme)htPencereler[uri]).IMOturumu = null; }
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"); } }
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"); } }
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"); } }
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"); } }