亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩,日本久久久久,日本-区二区三区免费精品,中文字幕日本亚洲欧美不卡

 首頁 > 技術(shù) > 解決方案 > UniMedia 6S級電話語音中間件典型應(yīng)用-自動人工互轉(zhuǎn) [附源碼]

UniMedia 6S級電話語音中間件典型應(yīng)用-自動人工互轉(zhuǎn) [附源碼]

2009-05-15 00:00:00   作者:   來源:   評論:0 點擊:


2009/05/15

1.應(yīng)用場景

//假定CTI引擎的人工服務(wù)結(jié)束通知開關(guān)已經(jīng)打開,即CTI引擎的system.config中的參數(shù)AGENTOVETOIVR=1,缺省是AGENTOVETOIVR=0
/////////////////////////////

//全局變量聲明
SCPMANAGER g_SCPManager

//進程主函數(shù)
sub main(LIST& cpl)
{
int iCallID, iTaskID, iRet
CALL callOriginal
bool isTimeout

//注冊系統(tǒng)錯誤事件處理函數(shù)
EventMap(INF_SYS_ERROR, OnSysError, 0)
//注冊CALL掛機事件處理函數(shù)
EventMap(INF_CTI_ONHOOK, OnCallEndInform, 0)

//在BOOT進程啟動該進程時,參數(shù)是按照CALLID、ANO、BNO,UUD順序先后存放在參數(shù)列表cpl中
//根據(jù)業(yè)務(wù)需要取出參數(shù)值

//獲取進程命令行參數(shù)中的CallID
cpl.GetItem(0, iCallID, iRet)

Log(DBG, "Call Income: CallID=", iCallID)

//根據(jù)對象ID獲得當(dāng)前Call對象
g_SCPManager.FindCallByID(iCallID, callOriginal, iRet)
//設(shè)置Call對象的業(yè)務(wù)處理進程ID為當(dāng)前進程
callOriginal.AttachCurrentProcess(iRet)
//應(yīng)答CALL
callOriginal.Answer(iRet)

callOriginal.Play(false,false,"welcome.vox", iTaskID, iRet)

//來話轉(zhuǎn)換2000ACD隊列,等候人工座席服務(wù)
callOriginal.Forward("2000",-1,"",iRet)
if (iRet == RET_SUCC)
{
Log(DBG,"轉(zhuǎn)ACD隊列成功")
}

//等待人工服務(wù)結(jié)束事件
EventWait(INF_CTI_AGENTSERVICEOVER,callOriginal.CallID,-1,isTimeout)
//等到后繼續(xù)其它流程處理
callOriginal.Play(false,false,"musichold.vox", iTaskID, iRet)
//...

//等待用戶掛機事件
Wait(-1)
}

//掛機通知處理函數(shù)
sub OnCallEndInform(int tag, CALL& call)
{
Log(INF, "OnHooked. CallID=", call.CallID)
Log(INF, "Exit...")

//腳步進程因用戶掛機結(jié)束
Exit("OnHook")
}

//錯誤處理函數(shù)
sub OnSysError(int tag)
{
Log(ERR, "System error: ", __LASTERRSTR__)

//腳步進程因命令調(diào)用失敗結(jié)束
Exit("Error")
}

CTI論壇報道

相關(guān)閱讀:

分享到: 收藏

專題

布拖县| 开远市| 夏津县| 秦皇岛市| 鄂伦春自治旗| 达尔| 万山特区| 清丰县| 包头市| 抚顺市| 循化| 涪陵区| 三明市| 西乡县| 高州市| 南涧| 高淳县| 望城县| 洪雅县| 申扎县| 腾冲县| 安宁市| 长汀县| 南昌县| 基隆市| 康乐县| 永善县| 松溪县| 泽库县| 孟州市| 资溪县| 铜川市| 竹山县| 乌拉特前旗| 保德县| 恩平市| 漯河市| 汝州市| 凤翔县| 阿合奇县| 萝北县|