function DispatchCallback() {} Rcv = function(type, json_str) { console.log("Rcv type:" + type + " json:" + json_str); var parm = JSON.parse(json_str); console.log(parm); } DispatchCallback.InitializeRsp=function(result){ if(result==0){ demo.$message('初始化成功') }else{ demo.$message('初始化失败') } } DispatchCallback.UninitializeRsp=function(result){ if (Parm.Result==0) { demo.$message('释放成功') } else { demo.$message('释放失败') } } DispatchCallback.LoginRsp=function(result){ switch(result){ case 0: demo.$message('登录成功'); break; case 1: demo.$message('资源初始化失败'); break; case 2: demo.$message('用户名密码错误'); break; case 3: demo.$message('许可证过期'); break; case 4: demo.$message('登录失败'); break; case 5: demo.$message('超时,服务器无响应'); break; case 6: demo.$message('已登录,重复登录'); break; } } DispatchCallback.LogoutRsp=function(result){ if(result==0){ demo.$message('注销成功') }else{ demo.$message('注销失败') } } DispatchCallback.ServerLinkStatusNotify=function(result){ switch(result){ case 1: demo.$message('本地服务连接成功'); break; case 2: demo.$message('本地服务断链'); break; case 3: demo.$message('视频服务器连接成功'); break; case 4: demo.$message('视频服务器断链'); break; case 5: demo.$message('软交换服务器连接成功'); break; case 6: demo.$message('软交换服务器断链'); break; case 7: demo.$message('对讲服务器连接成功'); break; case 8: demo.$message('对讲服务器断链'); break; case 9: demo.$message('被踢下线'); break; } } DispatchCallback.MonitorVideoStatusNotify=function(result){ switch(result){ case 1: demo.$message('连接中'); break; case 2: demo.$message('连接成功'); break; case 3: demo.$message('对方挂断'); break; case 4: demo.$message('连接超时'); break; case 5: demo.$message('对方拒接'); break; case 6: demo.$message('来电超时未接'); break; case 7: demo.$message('连接失败'); break; case 8: demo.$message('对方正忙'); break; case 9: demo.$message('对方不在线'); break; } } DispatchCallback.MonitorVideoIncomingCallNotify=function(CallID,Number){ console.log("呼叫ID:"+CallID+"终端号码"+Number); DispatchCtrlLib.MonitorVideoHandleIncomingCall(CallID, 1); console.log("视频推送 来电自动接听"); } DispatchCallback.VoipCallStatusNotify=function(result){ switch(result){ case 1: demo.$message('连接中'); break; case 2: demo.$message('连接成功'); break; case 3: demo.$message('对方挂断'); break; case 4: demo.$message('连接超时'); break; case 5: demo.$message('对方拒接'); break; case 6: demo.$message('来电超时未接'); break; case 7: demo.$message('连接失败'); break; case 8: demo.$message('对方正忙'); break; case 9: demo.$message('对方不在线'); break; } } DispatchCallback.VoipIncomingCallNotify=function(CallID, CallType,ConferenceInvite){ if(CallType==0){ DispatchCtrlLib.VoipHandleIncomingCall(CallID, 1); console.log("语音通话 来电自动接听"); }else{ DispatchCtrlLib.VoipHandleIncomingCall(CallID, 1); console.log("视频通话 来电自动接听"); VideoLibArray[2].StartDisplay(CallID); VideoLibArray[1].StartDisplay(-1); } if(ConferenceInvite==0){ console.log("普通呼叫"); }else{ console.log("会议邀请"); } } DispatchCallback.ConferenceStatusNotify=function(Status,MemType){ switch(Status){ case 0: demo.$message('成员移除'); break; case 1: demo.$message('成员已接入'); break; case 2: demo.$message('成员未接入'); break; case 3: demo.$message('成员连接中'); break; case 4: demo.$message('会议结束'); break; case 5: demo.$message('成员禁言'); break; case 6: demo.$message('成员禁言取消'); break; case 7: demo.$message('成员开始讲话'); break; case 8: demo.$message('成员结束讲话'); break; case 9: demo.$message('会议聚焦'); break; } switch(MemType){ case 1: console.log("成员类型为调度台"); break; case 2: console.log("成员类型为手机"); break; case 3: console.log("成员类型为SIP话机"); break; case 4: console.log("未分机"); break; } } //DispatchCallback.PttMonitorRsp=function(Type,Result){ // if(Type==1){ // if(Result==0){ // demo.$message('开始监听成功'); // }else{ // demo.$message('开始监听失败'); // } // }else if(Type==0){ // if(Result==0){ // demo.$message('取消监听成功'); // }else{ // demo.$message('取消监听失败'); // } // } //} DispatchCallback.LocStartSubscribeRsp=function(result){ if(result==0){ demo.$message('订阅位置成功') }else{ demo.$message('订阅位置失败') } } DispatchCallback.StatusNotify=function(obj){ var status=obj.Status; if(status==0){ demo.$message('终端离线') }else if(status==1){ demo.$message('终端在线') }else if(status==3){ demo.$message('终端在线且上报位置中') } } DispatchCallback.MsgSendRsp=function(result){ if(result==0){ demo.$message('发送消息成功') }else{ demo.$message('发送消息失败') } } DispatchCallback.MsgRecvNotify=function(TargetType,MsgType ){ switch(TargetType){ case 0: console.log("终端"); break; case 1: console.log("群组"); break; case 2: console.log("调度员"); break; case 3: console.log("临时组"); break; } switch(MsgType ){ case 0: console.log("文字"); break; case 1: console.log("图片"); break; case 2: console.log("录音"); break; case 3: console.log("录像"); break; case 4: console.log("位置"); break; case 5: console.log("文件"); break; case 6: console.log("PTT消息"); break; } } DispatchCallback.ServerBroadcastNotify=function(Type){ if(Type==1){ demo.$message('呼叫调度台') }else if(Type==2){ demo.$message('一键告警') }else if(Type==3){ demo.$message('多媒体上传通知') }else if(Type==6){ demo.$message('事件上报') } } DispatchCallback.PttCallback=function(Type, Parm) { switch (Type) { case "PttMonitorRsp": demo.$message('ptt监听应答' + (Parm.Result == 0 ? "成功" : "失败")) break; case "PttCallRsp": demo.$message('ptt呼叫应答' + (Parm.Result == 0 ? "成功" : "失败")) break; case "PttTalkRequestRsp": demo.$message('ptt申请话权应答' + (Parm.Result == 0 ? "成功" : "失败")) break; case "PttTalkReleaseRsp": demo.$message('ptt释放话权应答' + (Parm.Result == 0 ? "成功" : "失败")) break; case "PttCallStatusNotify": demo.pocCall.status_moniter = (Parm.MonitorStatus == 0 ? "空闲" : "监听中"); demo.pocCall.status_call = (Parm.CallStatus == 0 ? "空闲" : "呼叫中"); break; case "PttTalkStatusNotify": if (Parm.Type == 0) { demo.pocCall.status_speak = "空闲" demo.pocCall.speaker = "" } else if (Parm.Type == 1) { demo.pocCall.status_speak = "正在讲" demo.pocCall.speaker = "我" } else if (Parm.Type == 2) { demo.pocCall.status_speak = "正在听" demo.pocCall.speaker = Parm.Talker } break; } }