FreeSwitch下配置DID的方法以及呼叫多个用户

379 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情

首先介绍下什么是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 即可。

\