Exemplo n.º 1
0
 private void setserver_Click(object sender, EventArgs e)
 {
     if (BriSDKLib.QNV_CCCtrl(BriSDKLib.QNV_CCCTRL_SETSERVER, ccsvraddr.Text, 0) <= 0)
     {
         AppendStatus("修改服务器IP地址失败 " + ccsvraddr.Text);
     }
     else
     {
         AppendStatus("修改服务器IP地址完成,可以重新登陆.. " + ccsvraddr.Text);
     }
 }
Exemplo n.º 2
0
        private void logonbtn_Click(object sender, EventArgs e)
        {
            if (BriSDKLib.QNV_CCCtrl(BriSDKLib.QNV_CCCTRL_ISLOGON, "", 0) > 0)
            {
                BriSDKLib.QNV_CCCtrl(BriSDKLib.QNV_CCCTRL_LOGOUT, "", 0);
                AppendStatus("已经在线,先离线.");
            }
            string strValue = cccode.Text + "," + ccpwd.Text;                       //','分隔

            if (BriSDKLib.QNV_CCCtrl(BriSDKLib.QNV_CCCTRL_LOGIN, strValue, 0) <= 0) //开始登陆
            {
                MessageBox.Show("登陆失败,CC:" + cccode.Text);
            }
            else
            {
                AppendStatus("开始登陆,CC: " + cccode.Text);
            }
        }
Exemplo n.º 3
0
 private void logoutbtn_Click(object sender, EventArgs e)
 {
     BriSDKLib.QNV_CCCtrl(BriSDKLib.QNV_CCCTRL_LOGOUT, "", 0);
     AppendStatus("CC已经离线");
 }
Exemplo n.º 4
0
        protected override void DefWndProc(ref System.Windows.Forms.Message m)
        {
            switch (m.Msg)
            {
            case BriSDKLib.BRI_EVENT_MESSAGE:
            {
                BriSDKLib.TBriEvent_Data EventData = (BriSDKLib.TBriEvent_Data)Marshal.PtrToStructure(m.LParam, typeof(BriSDKLib.TBriEvent_Data));
                string strValue = "";
                //AppendStatus("接收到消息:" + " type=" + EventData.lEventType.ToString() + " result=" + EventData.lResult + " data=" + FromASCIIByteArray(EventData.szData));
                switch (EventData.lEventType)
                {
                case BriSDKLib.BriEvent_PhoneHook:
                {
                    strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":电话机摘机";
                } break;

                case BriSDKLib.BriEvent_PhoneHang:
                {
                    strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":电话机挂机";
                } break;

                case BriSDKLib.BriEvent_CallIn:
                {               ////两声响铃结束后开始呼叫转移到CC
                    if (EventData.lResult == 2 &&
                        FromASCIIByteArray(EventData.szData) == BriSDKLib.RING_END_SIGN_CH &&
                        m_tagGateData[EventData.uChannelID].lCCHandle == 0)
                    {
                        StartCallCC(EventData);
                        return;
                    }
                    else
                    {
                        strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":来电响铃";
                    }
                } break;

                case BriSDKLib.BriEvent_GetCallID:
                {
                    strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":接收到来电号码 " + FromASCIIByteArray(EventData.szData);
                    //如果接收到来电号码就立即开始呼叫转移到CC
                    StartCallCC(EventData);
                    //
                } break;

                case BriSDKLib.BriEvent_StopCallIn:
                {
                    StopCallCC(EventData.uChannelID);
                    strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":停止呼入,产生一个未接电话 ";
                } break;

                case BriSDKLib.BriEvent_GetDTMFChar: strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":接收到按键 " + FromASCIIByteArray(EventData.szData); break;

                case BriSDKLib.BriEvent_RemoteHang:
                {
                    StopCallCC(EventData.uChannelID);
                    strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":远程挂机 ";
                } break;

                case BriSDKLib.BriEvent_Busy:
                {
                    StopCallCC(EventData.uChannelID);
                    strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":接收到忙音,线路已经断开 ";
                } break;

                case BriSDKLib.BriEvent_DialTone: strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":检测到拨号音 "; break;

                case BriSDKLib.BriEvent_PhoneDial: strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":电话机拨号 " + FromASCIIByteArray(EventData.szData); break;

                case BriSDKLib.BriEvent_RingBack: strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":拨号后接收到回铃音 "; break;

                case BriSDKLib.BriEvent_CC_ConnectFailed: strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":连接CC服务器失败 "; break;

                case BriSDKLib.BriEvent_CC_LoginFailed:           //登陆失败
                {
                    strValue = "登陆失败 原因=" + EventData.lResult.ToString();
                    BriSDKLib.QNV_CCCtrl(BriSDKLib.QNV_CCCTRL_LOGOUT, "", 0);               //释放资源
                    MessageBox.Show("登陆失败");
                } break;

                case BriSDKLib.BriEvent_CC_CallOutSuccess: strValue = "正在呼叫"; break;

                case BriSDKLib.BriEvent_CC_CallOutFailed:
                {
                    BriSDKLib.QNV_CCCtrl_Call(BriSDKLib.QNV_CCCTRL_CALL_STOP, EventData.lEventHandle, "", 0); //停止CC呼叫
                    StopChannel(EventData.lEventHandle);                                                      //停止PSTN通道
                    strValue = "呼叫失败 原因=" + EventData.lResult.ToString();
                } break;

                case BriSDKLib.BriEvent_CC_Connected:
                {
                    AnswerCCHandle(EventData.lEventHandle);
                    strValue = "CC已经连通";
                } break;

                case BriSDKLib.BriEvent_CC_CallFinished:
                {
                    StopChannel(EventData.lEventHandle);
                    strValue = "呼叫结束 原因=" + EventData.lResult.ToString();
                } break;

                case BriSDKLib.BriEvent_CC_LoginSuccess: strValue = "CC登陆成功"; break;

                case BriSDKLib.BriEvent_CC_CallIn: break;

                case BriSDKLib.BriEvent_CC_ReplyBusy: strValue = "CC对方回复忙"; break;

                case BriSDKLib.BriEvent_CC_RecvedMsg: strValue = "CC接收到消息"; break;

                case BriSDKLib.BriEvent_CC_RecvedCmd: strValue = "CC接收到命令"; break;

                default: break;
                }
                if (strValue.Length > 0)
                {
                    AppendStatus(strValue);
                }
            } break;

            default:
                base.DefWndProc(ref m);
                break;
            }
        }