| 知乎专栏 |
有一组号码,他们可能在通话,你希望终止他们的通话,接到自己这边来,可以使用,代接电话功能。
确认代接电话拨号规则已经配置 /etc/freeswitch/dialplan/default.xml
<extension name="global-intercept">
<condition field="destination_number" expression="^886$">
<action application="answer"/>
<action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/global)}"/>
<action application="sleep" data="2000"/>
</condition>
</extension>
<extension name="group-intercept">
<condition field="destination_number" expression="^\*8$">
<action application="answer"/>
<action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/${callgroup})}"/>
<action application="sleep" data="2000"/>
</condition>
</extension>
<extension name="intercept-ext">
<condition field="destination_number" expression="^\*\*(\d+)$">
<action application="answer"/>
<action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/$1)}"/>
<action application="sleep" data="2000"/>
</condition>
</extension>
<extension name="redial">
<condition field="destination_number" expression="^(redial|870)$">
<action application="transfer" data="${hash(select/${domain_name}-last_dial/${caller_id_number})}"/>
</condition>
</extension>
创建一组用户 callgroup 相同,此处的 callgroup 与 组呼叫 没有任何关系,callgroup 是指代接电话组。
[root@production default]# cat /etc/freeswitch/directory/default/177.xml
<include>
<user id="177">
<params>
<param name="password" value="0848"/>
<param name="vm-password" value="0848"/>
</params>
<variables>
<variable name="toll_allow" value="domestic,international,local"/>
<variable name="accountcode" value="177"/>
<variable name="user_context" value="default"/>
<variable name="effective_caller_id_name" value="BG7NYT"/>
<variable name="effective_caller_id_number" value="177"/>
<variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
<variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
<variable name="callgroup" value="bg7nyt"/>
</variables>
</user>
</include>
配置好后,你可以找几个电话测试,拨通一组后,用另一部话机不通 886 就能接管正在通话的号码。