在学习的过程中需要使用FS和语音网关连接,拨打内部、外部号码,自己测试成功后,记录下配置步骤,方便,自己和他人
1. 配置讯时语音网关
(1)用户线配置→用户线功能 配置 FXS口
因为FXS口配置的是FS的账户,所以要把注册打上√,然后保存
(2)中继线配置→中继线功能 配置FXO口
在外线号码和显示名称中填入运营商分配的电话号码,其他默认即可
(3)在VoIP语音网关上配置fs服务器地址
注册服务器、代理服务器为FS IP地址 之后需要选择按线路注册 ,注册服务器地址后面要写上端口号
2.FreeSwitch和讯时网关连接
使用的FXS口连接的座机话机:1012 eyeBeam:1000 FS 地址:192.168.100.200 VoIP语音网关地址:192.168.100.192
配置完上面两步后,使用后台启动FS命名(freeswitch -nc)进入到fs控制台 FS控制台输入命令 show registrations 查看注册用户
我的账号1000(FS中存在的账号)和1012(1012是通过语音网关FXS口注册到FS上)已经注册在FS上
3.设置路由规则和配置实际使用场景
(1)FS的分机号呼叫VoIP电话语音网关的分机号(1000呼叫1012)
回到VoIP电话语音网关配置路由规则
配置完成后添加添加至路由表
(2)网关FXS口连接的座机号呼叫FS分机号(1012呼叫1000)
回到VoIP语音电话网关配置路由规则
选择用户线后点击下面的 + 号,(我的是1012)所以选择1012,之后选择任意号码(因为fs中不可能只存在一个账号)最后选择IP侧输入FS IP地址
配置完成后添加至路由表
(3)FS分机号呼叫手机号
回到VoIP语音电话网关配置路由规则
选择IP侧输入FS地址 然后选择任意号码(因为你呼叫的手机号不是唯一的)最后选择中继线点击下面的 + 号,选择运营商分配的电话号码
配置完成后添加至路由表
注意:FS呼叫外部手机号需要在FS上配置拨号计划
进入目录/usr/local/freeswitch/conf/dialplan/default.xml, 然后vim(编辑)default.xml,添加如下配置
extension name 可以随便写 之后的expression必须根据实际情况写正则表达式(文中的意思是呼叫以0开头的任意手机号)
最后data参数里要填写实际使用的VoIP语音网关地址
<extension name="DID">
<condition field="destination_number" expression="(^\d{8,12}$)">
<action application="bridge" data="sofia/external/$1@192.168.100.192"/>
</condition>
</extension>
(4)网关FXS口连接的座机号呼叫手机号
回到VoIP语音电话网关配置路由规则
选择用户线点击下面的 + 号 选择你的FS账号(我的是1012)然后选择任意号码(因为呼叫的手机号不是唯一的),最后选择中继线点击下面的 + 号选择运营商给你分配的电话号码
配置完成后添加至路由表
注意:因为步骤(3)里面设置了FS呼叫外线的拨号计划,所以这里不需要在FS上进行设置 ,只做路由规则即可
(5)手机号呼叫FS账号
回到VoIP语音电话网关配置路由规则
选择中继线点击下面的 + 号,勾选运营商给你分配的电话号码,之后选择任意号码,最后选择IP地址输入fs 服务器地址,这里要注意:使用手机号呼叫fs上面的账号时,IP地址最后要跟上端口号5080,不然VoIP语音电话网关收到来点后转不到FS上面
配置完成后添加至路由表
进入目录/usr/local/freeswitch/conf/dialplan/public.xml,然后添加如下配置
<extension name="DID">
<condition field="destination_number" expression="^(.*)$">
<action application="transfer" data="$1 XML default"/>
</condition>
</extension>
(6)手机号呼叫网关FXS口连接的座机号(这里的实际情况是,手机打座机进来会有语音提示,请拨分机号)
因为第(5)步已经成功,所以这里不需要做任何配置
(7)另一种情况,客户希望用户手机打座机号,座机直接振铃(不需要听到提示音)
实现上面说的,就要在VOIP语音网关进行配置
中继线配置→中继线功能,接入方式由2次拨号,改为绑定(绑定的号码是FS的号码)
然后配置路由规则:中继线(运营商提供的号码)→任意号码→用户线(FS账号1001)
配置完成的路由规则如下
(8)还有一种情况,有时候不能确定是FXS 1,FXS 2 或者 FXO1,FXO2时,路由规则可以这样简写,例如:
FXO[3] X ROUTE FXS 1
FXOX ROUTE FXS (下面的简写测试时是可行的)
心得:语音网关配置好的路由规则有时候需要上下颠倒顺序才行,实际配置过程中,如果配置完成后呼叫不通,其他地方查不出问题,就要回到路由表里面,看是否需要上下调整路由规则(我的路由表里添加了其他路由规则,仅做参考)