限制通话时长
限制通话时长有两种写法,分别作用于机器人场景与普通通话场景。
# 机器人场景
- 写法:
<action application="set",data="park_timeout=${robot_maximum_connect_time}">
功能:设置机器人最大通话时间为:
${robot_maximum_connect_time},单位:秒(S)。超过了设定的时间,中间件就会强制挂断,挂断原因(hangup_cause):NONE。这里的机器人最大通话时间之所以是个变量,那是因为该变量的值配置在 vars 配置文件中。如果需要自定义设置挂断原因时,可在
${robot_maximum_connect_time}的末尾处添加:ALLOTTED_TIMEOUT,那么如果与机器人的通话时长超过了设定的值,挂断原因就是:ALLOTTED_TIMEOUT。设置挂断原因写法如下:<action application="set",data="park_timeout=${robot_maximum_connect_time}:ALLOTTED_TIMEOUT">1修改
${robot_maximum_connect_time}该变量的值:CCAdmin-Web -> 呼叫中心 -> 配置文件设置 -> vars -> 找到 robot_maximum_connect_time 该变量 -> 重启Freeswitch程序:

配置拨号方案:在进入机器人场景之前设置最大通话时间。

启用拨号方案
进入机器人:如果是分机进入机器人场景,呼叫路由
internal启用进入机器人这一拨号方案;如果是呼入进入机器人场景,呼叫路由external启用进入机器人这一拨号方案。
# 普通通话场景
分机互打、分机外呼手机等场景属于普通通话场景。
写法:
<action application="sched_hangup",data="[+]<time>[ <hangup_cause>]">1功能:超过了设定的时间,单位:秒(S),中间件就强制挂断,并给出挂断原因。
例:我的需求是通话时间不能超过10分钟,并且强制挂断的原因是
ALLOTTED_TIMEOUT。那拨号方案的写法如下所示:
<action application="sched_hangup",data="+600 ALLOTTED_TIMEOUT">1创建拨号方案(拨号方案名称:
通话最大时间):

启用拨号方案:
分机互打
和分机外呼手机场景都开启通话时长限制:internal呼叫路由启用通话最大时间这一拨号方案,并移动到呼叫分机和呼叫外线`这两个拨号方案的上边。
