http接口返回线路组名称
# 问题实例
用户在CCAdmin-Web中对接了两条线路,分别是:线路A和线路B。线路A与线路组A绑定,线路B与线路组B绑定。这两条线路的呼叫情况如下:
- 线路A:只能呼叫本地的号码;
- 线路B:只能呼叫外地的号码。
问题:用户在手动外呼的时候,如何判断号码是本地号码还是外地号码。如果是本地号码,控制呼叫走线路A;如果是外地号码,控制呼叫走线路B。
# 实现方法
拨号方案调用http接口,把通道变量destination_number
作为http接口参数,传递给接口。再由接口判断这是本地号码还是外地号码,最后接口返回线路组名称。用户再利用接口返回的线路组名称进行外呼。
- 演示例子:
<condition field="${cti_http_get(http://ip?arg=${destination_number})}" expression="^true$">
1
- 接口返回数据说明:
- 数据类型:json。
- 数据格式:
{"header":{"value1":"1","value2":"2"},"body":""}
- 数据说明:
header
:可用来设置自定义的变量。这里我们需要返回线路组变量。body
:该值可以和拨号方案中的expression进行正则匹配。自定义变量 ,例:该值可以是true
、pass
。这样拨号方案中的expression就可以设置成:^true$
或^pass$
进行正则匹配。
- 注意事项:返回的数据前后不要有空格换行等不可见字符,这会导致和正则表达式匹配不上。
# 解决方案
我们可以修改呼叫外线
拨号方案,对这个拨号方案的匹配规则进行修改:condition
调用http接口,expression
与接口返回的body
值进行正则匹配。最后接口返回的线路组名称由header
解决。
- 接口返回的数据参考:
{"header":{"outbound_linegroup":"线路组名称"},"body":"true"}
1
呼叫外线
拨号方案修改方法:<condition field="${cti_http_get(http://127.0.0.1?arg=${destination_number})}" expression="^true$">
1
上次更新: 2024/10/26, 10:14:26