首先介绍下什么是DID? 翻译为中文为“直接向内拨号”,该服务是由电话公司提供的,它使用户能够直接拨打PBX或VOIP系统中的分机号码,而无需求助于总机或自动话务系统。
现在要实现这样一个功能 - 通过手机或座机拨打一个号码(例如:01088888888),可以直接联系到VOIP系统(FreeSwitch系统)的1008这个用户。如下图所示:
手机/座机 -------------------> 01088888888 ---------------> VOIP系统 ----------------> 1008
分两步实现:
(1) 配置网关
在 \conf\sip_profiles\external 中添加一个XML文件,名为:gw-DID.xml。内容如下: <include> <gateway name="gw-DID"> <param name="realm" value="27.54.226.74"/> // sip provider 提供的服务器IP <param name="username" value="88888888"/>// sip provider 提供的DID账号 <param name="password" value="12345678"/> // sip provider 提供的DID账号密码 <param name="proxy" value="27.54.226.74"/> // sip provider 提供的服务器IP <param name="register" value="true"/> <param name="expire-seconds" value="600"/> <param name="ping" value="30"/> <param name="sip-trace" value="true"/> </gateway> </include> 复制代码
(2)配置拨码计划
在 \conf\dialplan 中修改 public.xml,添加如下内容:
\
<extension name="sipprovider"> <condition field="destination_number" expression="^88888888$"> <action application="transfer" data="1008 XML default"/> </condition> </extension> 通过 FS_CLI 输入 reloadxml 即可。 复制代码
\
通过FreeSwitch同时呼叫多个用户
通过FreeSwitch可以对多个终端进行呼叫,依据振铃顺序不同,可以分为:同振 和 顺振 。
同振是指多个终端同时振铃;顺振是指多个终端顺序振铃。
下面实现如下应用, 某用户拨叫 2000 这个接入号码,希望 1000 和 1001 同时振铃,其中任一个接听来话,另一个停止振铃。
(1) 在 \conf\dialplan\default.xml中添加如下内容,
<extension name="group_dial_sim"> <condition field="destination_number" expression="^2000$"> <action application="bridge" data="sofia/internal/1000@192.168.0.183,sofia/sip/1001@192.68.0.183"/> </condition> </extension> 在 FS_CLI.exe 中运行 reloadxml 即可。 复制代码
下面实现如下应用, 某用户拨叫 2000 这个接入号码,希望 1000 和 1001 顺序振铃,其中任一个接听来话,另一个停止振铃。
2)在 \conf\dialplan\default.xml中添加如下内容,
<extension name="group_dial_seq"> <condition field="destination_number" expression="^2000$"> <action application="bridge" data="sofia/internal/1000@192.168.0.183|sofia/sip/1001@192.68.0.183"/> </condition> </extension> 复制代码
在 FS_CLI.exe 中运行 reloadxml 即可。
\