限制通话时长
限制通话时长有两种写法,分别作用于机器人场景
与普通通话场景
。
# 机器人场景
- 写法:
<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呼叫路由启用
通话最大时间这一拨号方案,并移动到
呼叫分机和
呼叫外线`这两个拨号方案的上边。