Exemple #1
0
        private void OnRTCRegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent registrationstatechangevent)
        {
            RTC_REGISTRATION_STATE RegistrationState;

            RegistrationState = registrationstatechangevent.State;
            switch (RegistrationState)
            {
            case RTC_REGISTRATION_STATE.RTCRS_ERROR:
            {
                int statusCode = registrationstatechangevent.StatusCode;
                Entstatus(this, "Rejected");
                break;
            }

            case RTC_REGISTRATION_STATE.RTCRS_LOCAL_PA_LOGGED_OFF:
            { break; }

            case RTC_REGISTRATION_STATE.RTCRS_LOGGED_OFF:
            { break; }

            case RTC_REGISTRATION_STATE.RTCRS_NOT_REGISTERED:
            { break; }

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
            {
                Entstatus(this, "Authorized");
                break;
            }

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
            { break; }

            case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
            {
                Entstatus(this, "Rejected");
                break;
            }

            case RTC_REGISTRATION_STATE.RTCRS_REMOTE_PA_LOGGED_OFF:
            { break; }

            case RTC_REGISTRATION_STATE.RTCRS_UNREGISTERING:
            { break; }
            }
        }
Exemple #2
0
        void oclient_IRTCEventNotification_Event_Event(RTC_EVENT RTCEvent, object pEvent)
        {
            switch (RTCEvent)
            {
            case RTC_EVENT.RTCE_SESSION_STATE_CHANGE:
            {
                IRTCSessionStateChangeEvent sessionevent = null;
                sessionevent = (IRTCSessionStateChangeEvent)pEvent;
                OnIRTCSessionStateChangeEvent(sessionevent);
                break;
            }

            case RTC_EVENT.RTCE_REGISTRATION_STATE_CHANGE:
            {
                IRTCRegistrationStateChangeEvent Registrationevent = null;
                Registrationevent = (IRTCRegistrationStateChangeEvent)pEvent;
                OnIRTCRegistrationStateChangeEvent(Registrationevent);
                break;
            }
            }
        }
Exemple #3
0
        private void OnIRTCRegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent Registrationevent)
        {
            try
            {
                RTC_REGISTRATION_STATE regstate;
                regstate = Registrationevent.State;

                switch (regstate)
                {
                case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                {
                    break;
                }

                case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                {
                    entstatus(this, "Registered");
                    break;
                }

                case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
                {
                    entstatus(this, "Rejected");
                    break;
                }

                case RTC_REGISTRATION_STATE.RTCRS_ERROR:
                {
                    entstatus(this, "RegistrationError");
                    int statusCode = Registrationevent.StatusCode;
                    ClsException.WriteToLogFile("SIP User Registration Error, Code:" + statusCode);
                    break;
                }
                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCRegistrationStateChangeEvent()", "Audio\\Audio.Business\\RTCAudio.cs");
            }
        }
        void OnRTCRegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent registerEvent)
        {
            Trace.WriteLine("Entering RTCPresenceCore.OnRTCRegistrationStateChangeEvent "
                + registerEvent.State);

            switch(registerEvent.State)
            {
                case RTC_REGISTRATION_STATE.RTCRS_UNREGISTERING:
                    this.presenceUI.OnLoggingOff();
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_NOT_REGISTERED:
                    this.DoDisablePresence();
                    this.presenceUI.OnLoggedOff();
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                    this.presenceUI.OnLoggingOn();
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                    this.presenceUI.OnLoggedOn();
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
                case RTC_REGISTRATION_STATE.RTCRS_ERROR:
                {
                    int statusCode = registerEvent.StatusCode;

                    Trace.WriteLine("RTCRS_REJECTED/ERROR " + statusCode);

                    // Logon failed. Most likely the server could no be found,
                    // or the user needs to authenticate.
                    if ((statusCode == RTCConst.RTC_E_STATUS_CLIENT_UNAUTHORIZED) ||
                        (statusCode == RTCConst.RTC_E_STATUS_CLIENT_PROXY_AUTHENTICATION_REQUIRED) ||
                        (statusCode == RTCConst.RTC_E_STATUS_CLIENT_FORBIDDEN) ||
                        (statusCode == RTCConst.RTC_E_STATUS_CLIENT_NOT_FOUND))
                    {
                        AuthData authData = this.presenceUI.ShowAuthDialog();

                        if (authData != null && authData.IsValid())
                        {
                            this.DoAuth(authData.Uri, authData.Account, authData.Password);
                        }
                        else
                        {
                            this.DoLogOff();
                            this.DoDisablePresence();
                            this.presenceUI.OnLoggedOff();
                            // If we were logging on the show error
                            if (registrationState == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                            {
                                this.presenceUI.ShowMessage("Logon failed!", "Warning");
                            }
                            return;

                        }
                    }
                    else
                    {
                        // Logon failed
                        this.DoLogOff();
                        this.DoDisablePresence();
                        this.presenceUI.OnLoggedOff();
                        // If we were logging on the show error
                        if (this.registrationState == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                        {
                            this.presenceUI.ShowMessage("Logon failed!", "Warning");
                        }
                        return;
                    }
                }
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_LOGGED_OFF:
                    // The server has removed the registration for this profile.
                    // Incoming requests are no longer forwarded.
                    this.DoLogOff();
                    this.presenceUI.OnLoggingOff();
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_LOCAL_PA_LOGGED_OFF:
                    // The server has revoked the status as a presence agent for
                    // this user. Incoming presence subscriptions are no longer
                    // forwarded and our presence status is no longer visible to
                    // others from this client.
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REMOTE_PA_LOGGED_OFF:
                    // The client that was the presence agent for this user has
                    // logged off. It may be possible to register as a presence
                    //agent from this client.
                    break;

                default:
                    break;
            }

            this.registrationState = registerEvent.State;
        }
Exemple #5
0
        void OnRTCRegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent registerEvent)
        {
            Trace.WriteLine("Entering RTCPresenceCore.OnRTCRegistrationStateChangeEvent "
                            + registerEvent.State);

            switch (registerEvent.State)
            {
            case RTC_REGISTRATION_STATE.RTCRS_UNREGISTERING:
                this.presenceUI.OnLoggingOff();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_NOT_REGISTERED:
                this.DoDisablePresence();
                this.presenceUI.OnLoggedOff();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                this.presenceUI.OnLoggingOn();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                this.presenceUI.OnLoggedOn();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
            case RTC_REGISTRATION_STATE.RTCRS_ERROR:
            {
                int statusCode = registerEvent.StatusCode;

                Trace.WriteLine("RTCRS_REJECTED/ERROR " + statusCode);

                // Logon failed. Most likely the server could no be found,
                // or the user needs to authenticate.
                if ((statusCode == RTCConst.RTC_E_STATUS_CLIENT_UNAUTHORIZED) ||
                    (statusCode == RTCConst.RTC_E_STATUS_CLIENT_PROXY_AUTHENTICATION_REQUIRED) ||
                    (statusCode == RTCConst.RTC_E_STATUS_CLIENT_FORBIDDEN) ||
                    (statusCode == RTCConst.RTC_E_STATUS_CLIENT_NOT_FOUND))
                {
                    AuthData authData = this.presenceUI.ShowAuthDialog();

                    if (authData != null && authData.IsValid())
                    {
                        this.DoAuth(authData.Uri, authData.Account, authData.Password);
                    }
                    else
                    {
                        this.DoLogOff();
                        this.DoDisablePresence();
                        this.presenceUI.OnLoggedOff();
                        // If we were logging on the show error
                        if (registrationState == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                        {
                            this.presenceUI.ShowMessage("Logon failed!", "Warning");
                        }
                        return;
                    }
                }
                else
                {
                    // Logon failed
                    this.DoLogOff();
                    this.DoDisablePresence();
                    this.presenceUI.OnLoggedOff();
                    // If we were logging on the show error
                    if (this.registrationState == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                    {
                        this.presenceUI.ShowMessage("Logon failed!", "Warning");
                    }
                    return;
                }
            }
            break;

            case RTC_REGISTRATION_STATE.RTCRS_LOGGED_OFF:
                // The server has removed the registration for this profile.
                // Incoming requests are no longer forwarded.
                this.DoLogOff();
                this.presenceUI.OnLoggingOff();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_LOCAL_PA_LOGGED_OFF:
                // The server has revoked the status as a presence agent for
                // this user. Incoming presence subscriptions are no longer
                // forwarded and our presence status is no longer visible to
                // others from this client.
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REMOTE_PA_LOGGED_OFF:
                // The client that was the presence agent for this user has
                // logged off. It may be possible to register as a presence
                //agent from this client.
                break;

            default:
                break;
            }

            this.registrationState = registerEvent.State;
        }
Exemple #6
0
         private void OnRTCRegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent registrationstatechangevent)
        {
            RTC_REGISTRATION_STATE RegistrationState;
            RegistrationState = registrationstatechangevent.State;
            switch (RegistrationState)
            {
                case RTC_REGISTRATION_STATE.RTCRS_ERROR:
                    {
                        int statusCode = registrationstatechangevent.StatusCode;
                        Entstatus(this, "Rejected");
                        break;
                    }

                case RTC_REGISTRATION_STATE.RTCRS_LOCAL_PA_LOGGED_OFF:
                    { break; }

                case RTC_REGISTRATION_STATE.RTCRS_LOGGED_OFF:
                    { break; }

                case RTC_REGISTRATION_STATE.RTCRS_NOT_REGISTERED:
                    { break; }

                case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                    {
                        Entstatus(this, "Authorized");
                        break; 
                    }

                case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                    { break; }

                case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
                    {
                        Entstatus(this, "Rejected");
                        break;
                    }

                case RTC_REGISTRATION_STATE.RTCRS_REMOTE_PA_LOGGED_OFF:
                    { break; }

                case RTC_REGISTRATION_STATE.RTCRS_UNREGISTERING:
                    { break; }
            }
        }
Exemple #7
0
        private void OnIRTCRegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent Registrationevent)
        {
            try
            {
                RTC_REGISTRATION_STATE regstate;
                regstate = Registrationevent.State;

                switch (regstate)
                {
                    case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                        {
                            break;
                        }

                    case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                        {
                            entstatus(this, "Registered");
                            break;
                        }

                    case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
                        {
                            entstatus(this, "Rejected");
                            break;
                        }
                    case RTC_REGISTRATION_STATE.RTCRS_ERROR:
                        {
                            entstatus(this, "RegistrationError");
                            int statusCode = Registrationevent.StatusCode;
                            ClsException.WriteToLogFile("SIP User Registration Error, Code:" + statusCode);
                            break;
                        }
                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "OnIRTCRegistrationStateChangeEvent()", "Audio\\Audio.Business\\RTCAudio.cs");
            }
        }
Exemple #8
0
        private void RegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent registerEvent)
        {
            switch (registerEvent.State)
            {
            case RTC_REGISTRATION_STATE.RTCRS_UNREGISTERING:
                this.anaPencere.OturumKapatiliyor(registerEvent.Profile.UserName);
                break;

            case RTC_REGISTRATION_STATE.RTCRS_NOT_REGISTERED:     // DisablePresence() çaðýrýldý, kiþiler artýk bizi offline görür
                this.BulunmaDurumuPasif();
                this.anaPencere.OturumKapandi();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                this.anaPencere.OturumAciliyor();
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                this.anaPencere.OturumAcildi(registerEvent.Profile.UserName);
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
            case RTC_REGISTRATION_STATE.RTCRS_ERROR:
            {
                int durumKodu = registerEvent.StatusCode;

                // logon baþarýsýz, server yok veya authenticate gerekli
                if ((durumKodu == Sabitler.RTC_E_STATUS_CLIENT_UNAUTHORIZED) ||
                    (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_PROXY_AUTHENTICATION_REQUIRED) ||
                    (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_FORBIDDEN) ||
                    (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_NOT_FOUND))
                {
                    // kullanýcýya authentication ekranýný göster...
                    Bilgiler bilgi = this.anaPencere.DogrulamaFormuGoster();

                    if (bilgi != null && bilgi.GecerliMi())
                    {
                        this.DogrulamaYap(bilgi.URI, bilgi.Kimlik, bilgi.Sifre);
                    }
                    else
                    {
                        this.Cikis();
                        this.BulunmaDurumuPasif();
                        this.anaPencere.OturumKapandi();
                        // oturum açýlamadý, kullanýcýyý uyar!
                        if (kayitDurumu == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                        {
                            this.anaPencere.MesajGoster("Giriþ Baþarýsýz!", "Hata");
                        }
                        return;
                    }
                }
                else
                {
                    this.Cikis();
                    this.BulunmaDurumuPasif();
                    this.anaPencere.OturumKapandi();
                    // oturum açýlamadý, kullanýcýyý uyar!
                    if (kayitDurumu == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                    {
                        this.anaPencere.MesajGoster("Giriþ Baþarýsýz!", "Hata");
                    }
                    return;
                }
            }
            break;

            case RTC_REGISTRATION_STATE.RTCRS_LOGGED_OFF:     // sunucu profil kaydýný sildi.
                this.Cikis();
                this.anaPencere.OturumKapatiliyor(registerEvent.Profile.UserName);
                break;

            case RTC_REGISTRATION_STATE.RTCRS_LOCAL_PA_LOGGED_OFF:
                break;

            case RTC_REGISTRATION_STATE.RTCRS_REMOTE_PA_LOGGED_OFF:
                break;

            default:
                break;
            }

            this.kayitDurumu = registerEvent.State; // Durumu güncelle. Önemli!!!
        }
        private void RegistrationStateChangeEvent(IRTCRegistrationStateChangeEvent registerEvent)
        {
            switch (registerEvent.State)
            {
                case RTC_REGISTRATION_STATE.RTCRS_UNREGISTERING:
                    this.anaPencere.OturumKapatiliyor(registerEvent.Profile.UserName);
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_NOT_REGISTERED: // DisablePresence() çaðýrýldý, kiþiler artýk bizi offline görür
                    this.BulunmaDurumuPasif();
                    this.anaPencere.OturumKapandi();
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REGISTERING:
                    this.anaPencere.OturumAciliyor();
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REGISTERED:
                    this.anaPencere.OturumAcildi(registerEvent.Profile.UserName);
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REJECTED:
                case RTC_REGISTRATION_STATE.RTCRS_ERROR:
                    {
                        int durumKodu = registerEvent.StatusCode;

                        // logon baþarýsýz, server yok veya authenticate gerekli
                        if ((durumKodu == Sabitler.RTC_E_STATUS_CLIENT_UNAUTHORIZED) ||
                            (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_PROXY_AUTHENTICATION_REQUIRED) ||
                            (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_FORBIDDEN) ||
                            (durumKodu == Sabitler.RTC_E_STATUS_CLIENT_NOT_FOUND))
                        {
                            // kullanýcýya authentication ekranýný göster...
                            Bilgiler bilgi = this.anaPencere.DogrulamaFormuGoster();

                            if (bilgi != null && bilgi.GecerliMi())
                            {
                                this.DogrulamaYap(bilgi.URI, bilgi.Kimlik, bilgi.Sifre);
                            }
                            else
                            {
                                this.Cikis();
                                this.BulunmaDurumuPasif();
                                this.anaPencere.OturumKapandi();
                                // oturum açýlamadý, kullanýcýyý uyar!
                                if (kayitDurumu == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                                {
                                    this.anaPencere.MesajGoster("Giriþ Baþarýsýz!", "Hata");
                                }
                                return;
                            }
                        }
                        else
                        {
                            this.Cikis();
                            this.BulunmaDurumuPasif();
                            this.anaPencere.OturumKapandi();
                            // oturum açýlamadý, kullanýcýyý uyar!
                            if (kayitDurumu == RTC_REGISTRATION_STATE.RTCRS_REGISTERING)
                            {
                                this.anaPencere.MesajGoster("Giriþ Baþarýsýz!", "Hata");
                            }
                            return;
                        }
                    }
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_LOGGED_OFF: // sunucu profil kaydýný sildi.
                    this.Cikis();
                    this.anaPencere.OturumKapatiliyor(registerEvent.Profile.UserName);
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_LOCAL_PA_LOGGED_OFF:
                    break;

                case RTC_REGISTRATION_STATE.RTCRS_REMOTE_PA_LOGGED_OFF:
                    break;

                default:
                    break;
            }

            this.kayitDurumu = registerEvent.State; // Durumu güncelle. Önemli!!!  
        }