コード例 #1
0
ファイル: eLTEVideoMonitor.cs プロジェクト: eSDK/esdk_Cgw
        /// <summary>
        /// 服务用户状态信息回调
        /// </summary>
        /// <param name="modSta"></param>
        private void CallModuleStatusDelegateFun(ref strDCModuleStatusIndicator modSta)
        {
            NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
            logEx.Info("Enter:CallModuleStatusDelegateFun, Type : {0},Status : {1}. ", Enum.GetName(typeof(dc_module_t), modSta.m_module_type), Enum.GetName(typeof(module_status_t), modSta.m_status_value));
            if (dc_module_t.SIP_MODULE == modSta.m_module_type)
            {
                if (module_status_t.SIP_RECONNECT == modSta.m_status_value ||
                    module_status_t.KICK_OFF == modSta.m_status_value ||
                    module_status_t.SIP_KEEPALIVE_REJECT==modSta.m_status_value)
                {
                    eLTELoginInfo loginInfo = new eLTELoginInfo();
                    loginInfo.Ip = ip;
                    loginInfo.Port = iPort;
                    loginInfo.User = user;
                    //loginInfo.Pwd = password;
                    loginInfo.Pwd = CommonFunction.DecryptByte2Str(pwdByte, CgwConst.PASSWORD_TAG);
                    loginInfo.PTTUSER = bPttUser;
                    loginInfo.FIXEDCAMERA = bFixedCamera;
                    loginInfo.NotFirstLogin = true;

                    //使用线程轮询加载监控平台
                    Thread loaderThread = new Thread(LoginThread);
                    loaderThread.IsBackground = true;
                    loaderThread.Start(loginInfo);
                    loaderThread.Join(20000);
                }
                else if (module_status_t.PASSWORD_CHANGE == modSta.m_status_value ||
                         module_status_t.USER_DELETE == modSta.m_status_value)
                {
                    logEx.Error("User Status Exception,Not ReConnect");
                }
            }            
        }