📄 softagentcallstatus.js
字号:
var callStatus=CALL_UNKNOWN;
function changeCallStatus(status,oper)
{
if(equalCallStatus(CALL_UNKNOWN)&&status!=CALL_UNKNOWN)
{
callStatus=callStatus^CALL_UNKNOWN;
}
if(consultMonitor.consultState!=CONSULT_IDLE) informConsultMonitor(status);
if(transferMonitor.transferState!=TRANSFER_IDLE) informTransferMonitor(status);
if(conferenceMonitor.conferenceState!=CONFERENCE_IDLE) informConferenceMonitor(status);
if(equalCallStatus(CALL_ESTABLISHED))
{
if(status==CALL_ESTABLISHED)
{
if(equalCallStatus(CALL_RINGING))
{
callStatus=callStatus^CALL_RINGING;
}
else if(equalCallStatus(CALL_DIALING))
{
callStatus=callStatus^CALL_DIALING;
}
if(equalCallStatus(CALL_ESTABLISHED))
{
//alert("第二次established"+statusToString()+equalCallStatus(CALL_HELD)+","+consultMonitor.consultState);
if(consultMonitor.consultState==CONSULT_READY_TO_COMPLETE)
{
if(!equalCallStatus(CALL_CONSULT))
callStatus=callStatus|CALL_CONSULT;
else
{
callStatus=callStatus^CALL_HELD;
callStatus=callStatus^CALL_CONSULT;
}
}
if(transferMonitor.transferState==TRANSFER_READY_TO_COMPLETE)
{
//alert("eeeeeeedd");
if(!equalCallStatus(CALL_TRANSFERED))
callStatus=callStatus|CALL_TRANSFERED;
else
{
callStatus=callStatus^CALL_HELD;
callStatus=callStatus^CALL_TRANSFERED;
}
}
else if(equalCallStatus(CALL_HELD))
{
callStatus=callStatus^CALL_HELD;
}
}
}
else
{
if(!equalCallStatus(status))
callStatus=callStatus|status;
//callStatus=callStatus^status;
}
}
else
{
if(status==CALL_ESTABLISHED)
{
if(equalCallStatus(CALL_RINGING))
{
callStatus=callStatus^CALL_RINGING;
}
else if(equalCallStatus(CALL_DIALING))
{
callStatus=callStatus^CALL_DIALING;
}
}
callStatus=callStatus|status;
}
if(status==CALL_UNKNOWN)
{
callStatus=status;
clearCall();
}
//alert("callStatus:"+statusToString());
updateUI();
}
function equalCallStatus(status)
{
var result=false;
var aa=callStatus&status;//aa为当前状态
if(aa==status)
result=true;
else
result=false;
//alert("equalCallStatus:"+result);
return result;
}
function equalMultiModeStatus()
{
if(callStatus>=CALL_MULTI_MODE)
return true;
else
return false;
}
function equalMultiModeUpHeldStatus()
{
if(callStatus>=CALL_MULTI_MODE_UPHELD)
return true;
else
return false;
}
function equalOffHook()
{
if(callStatus==CALL_ESTABLISHED)
return true;
else
return false;
}
function statusToString()
{
var result="";
if(equalCallStatus(CALL_UNKNOWN))
result=result+"CALL_UNKNOWN|";
if(equalCallStatus(CALL_DIALING))
result=result+"CALL_DIALING|";
if(equalCallStatus(CALL_RINGING))
result=result+"CALL_RINGING|";
if(equalCallStatus(CALL_ESTABLISHED))
result=result+"CALL_ESTABLISHED|";
if(equalCallStatus(CALL_DESTINATIONBUSY))
result=result+"CALL_DESTINATIONBUSY|";
if(equalCallStatus(CALL_HELD))
result=result+"CALL_HELD|";
if(equalCallStatus(CALL_TRANSFERED))
result=result+"CALL_TRANSFERED|";
if(equalCallStatus(CALL_CONSULT))
result=result+"CALL_CONSULT|";
if(equalCallStatus(CALL_CONFERENCED))
result=result+"CALL_CONFERENCED|";
if(equalCallStatus(CALL_ERROR))
result=result+"CALL_ERROR|";
return result;
}
function updateUI()
{
updateLineUI();
updateCallUI();
}
function updateCallUI()
{
if(equalCallStatus(CALL_UNKNOWN))
{
setImgSrc(0,0,0,0,0,4,4,4,4);
}
if(equalCallStatus(CALL_RINGING))
{
setImgSrc(0,0,0,2,8,4,4,4,4);
}
if(equalCallStatus(CALL_DIALING))
{
setImgSrc(0,0,0,2,32,4,4,4,4);
}
//alert("equalMultiModeStatus()"+statusToString()+","+equalMultiModeStatus());
if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==false)
{
setImgSrc(0,0,0,2,0,0,0,0,0);
if(getCallType()==CALLTYPE_CONSULT||getCallType()==CALLTYPE_TRANSFER
||getCallType()==CALLTYPE_CONFERENCE||getCallType()==CALLTYPE_CONSULTEE)
{
setImgSrc(0,0,0,0,0,0,4,4,4);
}else{
setImgSrc(0,0,0,0,0,0,2,2,2);
}
if(equalCallStatus(CALL_DIALING))
{
setImgSrc(0,0,0,0,32,0,0,0,0);
}
else
{
setImgSrc(0,0,0,0,4,0,0,0,0);
}
if(equalCallStatus(CALL_HELD))
{
setImgSrc(0,0,0,0,0,4,0,0,0);
}
else
setImgSrc(0,0,0,0,0,2,0,0,0);
}
if(equalCallStatus(CALL_ESTABLISHED)&&equalMultiModeStatus()==true)
{
setImgSrc(0,0,0,2,0,0,0,0,0);
if(equalCallStatus(CALL_CONSULT))
setImgSrc(0,0,0,0,0,0,2,0,0);
else
setImgSrc(0,0,0,0,0,0,4,0,0);
if(equalCallStatus(CALL_TRANSFERED))
setImgSrc(0,0,0,0,0,0,0,2,0);
else
setImgSrc(0,0,0,0,0,0,0,4,0);
if(equalCallStatus(CALL_CONFERENCED))
setImgSrc(0,0,0,0,0,0,0,0,2);
else
setImgSrc(0,0,0,0,0,0,0,0,4);
if(equalCallStatus(CALL_DIALING))
{
setImgSrc(0,0,0,0,32,0,0,0,0);
}
else
{
setImgSrc(0,0,0,0,4,0,0,0,0);
}
if(equalCallStatus(CALL_HELD))
{
if(equalMultiModeUpHeldStatus()==true)
{
setImgSrc(0,0,0,0,0,16,0,0,0);
}
else
{
if(equalCallStatus(CALL_DIALING))
{
setImgSrc(0,0,0,0,0,16,0,0,0);
}
else
{
setImgSrc(0,0,0,0,0,8,0,0,0);
}
}
}
else
setImgSrc(0,0,0,0,0,4,0,0,0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -