演練:報號業務
轉接坐席成功後,一般會對主叫播報其所需要的電話號碼,簡稱“報號”。
坐席進行自動報號一般有兩種實現方式。
一種是呼通坐席後,坐席將需要播報的號碼設置到隨路數據中,在坐席掛機後,腳本獲取隨路數據,解析出隨路數據中的號碼,進行播報。
該種方式請參照坐席掛機回業務。
另一種是呼通坐席後,坐席單步轉到一個報號的自動業務進行報號,本章節是對第二種方式進行演練
本章節實現這樣一個場景:用戶撥打一個電話後出發VXML業務,業務首先進行排隊接續坐席,
接通坐席後詢問要查詢某酒店聯繫電話,坐席單步轉到報號的業務,對用戶進行號碼播報。
呼叫接入坐席
requestRouting.xml
該腳本的流程是,
1.先用排隊預測標籤獲取排隊參數,如果排隊等待時間大於5s,則向用戶確認是否進行排隊;
否則直接進行排隊。排隊預測超過3次就退出
2.排隊使用RequestRouting的單獨排隊功能。排隊失敗後則跳轉到步驟1,將排隊預測次數加1.
3.排隊成功後使用transfer標籤進行接續坐席
<?xml version=“1.0” encoding=“gb2312”?>
<vxml version=“2.0” application=“approot.vxml”>
<var name=“Skill” expr=“1”/>
<var name=“first” expr=“0”/>
<var name=“WaitTime” expr=“0”/>
<var name=“WaitNum” expr=“0”/>
<var name=“”FreeAgent expr=“0”/>
<var name=“Play” expr=“ ”/>
<var name=“AgentPhone”/>
<form id=“query”>
<block>
<log>begin get queue status</log>
</block>
<object name=“QueueStatus” classid=“method://ngcc/Other/GetStatus”>
<param name=“virtualcenter” expr=“1”/>
<param name=“skill” expr=“Skill”/>
<filled>
<if cond=“QueueStatus.result==‘SUCCESS’ ”>
<log>
get queue status success:
waitnum:<value expr=“QueueStatus.waitnum”/>
freeagentnum:<value expr=“QueueStatus.freeagent”/>
maxwaittime:<value expr=“QueueStatus.maxwaittime”/>
avewaittime:<value expr=“QueueStatus.avewaittime”/>
forecastwaittime:<value expr=“QueueStatus.waittime”/>
</log>
<assign name=“WaitTime” expr=“QueueStatus.waittime”/>
<assign name=“WaitNum” expr=“QueueStatus.waitnum”/>
<assign name=“”FreeAgent” expr=“QueueStatus.freeagent”/>
<if cond=“first ==0”>
<if cond=“WaitTime >5 ”>
<goto next =“#fir_queue”/>
<else/>
<goto next=“#requestRouting”/>
</if>
<elseif cond=“first<3”/>
<goto next=“#sec_queue”/>
<else/>
<exit/>
</if>
<else/>
<log>
get queue status failure,ErrorCode:<value expr=“”QueueStatus.reason”/>;
</log>
<assign name=“first” expr=“first+!”/>
<prompt>排隊查詢失敗</prompt>
<exit/>
</if>
</filled>
</object>
</form>
<form id=“fir_queue”>
<block>
<log>
first wait queue
</log>
</block>
<field name=“fir_wait” type=“digits?maxlenth=1;minlength=1”>
<prompt>排隊等待請按1,退出請掛機</prompt>
<filled>
<if cond=“fir_wait == ‘1’ ”>
<goto next =“#requestRouting” />
<else/>
<exit/>
</if>
</filled>
</field>
</form>
<form id=“sec_queue”>
<block>
<log>
wait queue more
</log>
</block>
<field id =“sec_queue ”>
<block >
<log>
wait queue more
</log>
</block>
<field name=“sec_wait” type=“digits?maxlength=1;minlength=1”>
<prompt>排隊失敗,預計等待時長爲<value expr=”WaitTime”/>秒,繼續排隊等待請按1,退出請掛機</prompt>
<filled>
<if cond=“sec_wait ==‘1’ ”>
<goto next =“#requestRouting”/>
<else/>
<exit/>
</if>
</filled>
</field>
</field>
</form>
<form id=“requestRouting”> <object name=“Queue” classid=“method://cm-ngcc/Other/RequestRouting”>
<param name=“WaitingAudio” expr=“ipfile://wav”/>
<param name=“CallData” expr=“application.s_keypressed”/>
<param name=“AudioRepeate” expr=“3”/>
<param name=“ConnectTimeOut” expr=“6”/> <param name=“virtualcenter” expr=“1”/>
<param name=“RoutingType” expr=“1”/>
<param name=“RoutingInfo” expr=“Skill”/> <param name=“WaitReturn” expr=“1”/>
<filled> <log>
result:<value expr=“Queue” /> agentphone:<value expr=“Queue$.agentphone”/>
</log> <assign name=“Agentphone” expr=“Queue$.agentphone”/>
<if cond=“Queue ==‘OPR_SUCCESS’”> <goto next=“#Transfer”/>
</if> <if cond=“Queue==‘OPR_FAILURE’”>
<assign name=“first” expr=“first+1”/>
<goto next=“#query”/> </if>
<log>=======errorCode:<value expr=“Queue$.errorCode”/>=======</log>
<goto next =“#Transfer”/> </filled>
</object> </form>
<form id=“Transfer”> <transfer name=“tran_test” bridge=“true” destexpr=“Agentphone” maxtime=“5s”>
<filled> <log>
Transfer success,holding time<value expr=“tran_test$.duration” />秒
</log> <exit/>
</filled> </transfer>
</form></vxml>坐席單步轉到報號業務reportPhone.vxml該腳本是坐席通過單步轉觸發該腳本的執行。該腳本是對用戶進行播報號碼。 <?xml version=“1.0” encoding=“gb2312”?><vxml version=“2.0”>
<var name=“Specialssp”/> <var name=“Oldssp”/>
<form> <var name=“outputinfo”/>
<var name=“Curssp”/> <object name=“getcurssp1” classid=“method://ngcc/Other/GetCurCallID”>
<param name=“Oldssp” expr=“CallID”/>
<filled> <prompt bargein=“false”>
初始呼叫:<value expr=“Oldssp”/> </prompt>
</filled> </object>
<!—對主叫放音—> <var name=“CurrentCallID” expr=“Oldssp”/>
<object name=“connectres” classid=“method://ngcc/Call/ExtStartPlay”>
<param name=“CallID” expr=“CurrentCallID”/>
<param name=“PlayType” expr=“5”/> <param name=“PlayPara” expr=“‘88880009’”/>
</object> </form></vxml>