Freeswitch 常用功能命令及配置详解2021-06-06

常用功能命令及配置详解

配置简介
FreeSWITCH配置文件默认放在 conf/, 它由一系列XML配置文件组成。最顶层的文件是freeswitch.xml,系统启动时它依次装入其它一些XML文件并最终组成一个大的XML文件。

文件                                |    说明
---------------------------------------------------
vars.xml                          | 一些常用变量
dialplan/default.xml              | 缺省的拨号计划
directory/default/*.xml           | SIP用户,每用户一个文件
sip_profiles/internal.xml         | 一个SIP profile,或称作一个SIP-UA,监听在本地IP及端口5060,一般供内网用户使用
sip_profiles/externa.xml          | 另一个SIP-UA,用作外部连接,端口5080
autoload_configs/modules.conf.xml | 配置当FreeSWITCH启动时自动装载哪些模块

reloadxml 命令或按快捷键F6,使新的配置生效。

配置SIP网关拨打外部电话

如果你在某个运营商拥有SIP账号,你就可以配置上拨打外部电话了。该SIP账号(或提供该账号的设备)在 FreeSWITCH 中称为SIP网关(Gateway)。添加一个网关只需要在 conf/sip_profiles/external/ 创建一个XML文件,名字可以随便起,如gw1.xml。

<gateway name="gw1"> 
	<param name="realm" value="SIP服务器地址,可以是IP或IP:端口号"/>
	<param name="username" value="SIP用户名"/>
	<param name="password" value="密码"/>
	<param name="register" value="true" />
</gateway>

如果你的SIP网关还需要其它参数,可以参阅同目录下的 example.xml,但一般来说上述参数就够了。你可以重启 FreeSWITCH,或者执行以下命令使用之生效。

FS> sofia profile external rescan reloadxml

然后显示一下状态:

FS> sofia status

如果显示 gateway gw1 的状态是 REGED ,则表明正确的注册到了网关上。你可以先用命令试一下网关是否工作正常:

FS> originate sofia/gateway/gw1/xxxxxx &echo()

以上命令会通过网关 gw1 呼叫号码 xxxxxx(可能是你的手机号),被叫号码接听电话后,FreeSWITCH 会执行 echo() 程序,你应该能听到自己的回音。

从某一分机上呼出
如果网关测试正常,你就可以配置从你的SIP软电话或portaudio呼出了。由于我们是把 FreeSWITCH 当作 PBX 用,我们需要选一个出局字冠。常见的 PBX 一般是内部拨小号,打外部电话就需要加拨 0 或先拨 9 。当然,这是你自己的交换机,你可以用任何你喜欢的数字(甚至是字母)。 继续修改拨号计划,创建新XML文件: conf/dialplan/default/call_out.xml :

include>
  <extension name="call out">
    <condition field="destination_number" expression="^0(\d+)$">
      <action application="bridge" data="sofia/gateway/gw1/$1"/>
    </condition>
  </extension>
</include>

其中,(\d+)为正则表达式,匹配 0 后面的所有数字并存到变量 $1 中。然后通过 bridge 程序通过网关 gw1 打出该号码。当然,建立该XML后需要在Fs-Con中执行 reloadxml 使用之生效。

呼入电话处理。
如果你的 SIP 网关支持呼入,那么你需要知道呼入的 DID 。 DID的全称是 Direct Inbound Dial,即直接呼入。一般来说,呼入的 DID 就是你的 SIP 号码,如果你不知道,也没关系,后面你会学会如何得到。 编辑以下XML文件放到 conf/dialplan/public/my_did.xml

<include>
  <extension name="public_did">
    <condition field="destination_number" expression="^(你的DID)$">
      <action application="transfer" data="1000 XML default"/>
    </condition>
  </extension>
</include>

reloadxml 使之生效。上述配置会将来话直接转接到分机 1000 上。


号码 | 说明

9664 | 保持音乐
9196 | echo,回音测试
9195 | echo,回音测试,延迟5秒
9197 | milliwatte extension,铃音生成
9198 | TGML 铃音生成示例
5000 | 示例IVR
4000 | 听取语音信箱
33xx | 电话会议,48K(其中xx可为00-99,下同)
32xx | 电话会议,32K
31xx | 电话会议,16K
30xx | 电话会议,8K
2000-2002 | 呼叫组
1000-1019 | 默认分机号

表一: 默认号码及说明

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值