⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 softagentcallstatus.js

📁 选择和管理有价值客户及其关系的一种商业策略
💻 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 + -