Freeswitch 用作软电话
Freeswitch 使用mod_portaudio 模块支持本地的音频设备,该模块默认是不编译的,你需要去modules.conf中找到,并且将#注释去掉,然后重新编译。
下面的执行目录: cd /usr/local/freeswitch/ 都在这个下面,别搞错了。
make mod_portaudio
make mod_portaudio-install
然后在命令行中执行
load mod_portaudio
提示ok就是成功了
然后执行:
pa devlist
接下来就可以测试了:
pa looptest (回路测试)
pa call 9196
pa call 1020
pa hangup (挂机)
假设要从SIP分机呼叫到你,那么需要修改拨号计划(Diaplan),将如下内容放到conf/dialplan/default/portaudio.xml
portaudio.xml 如果没有需要新建。
<include>
<extension name="call me">
<condition field="destination_number" expression="^(me|123545678)$">
<action application="bridge" data="portaudio"/>
</condition>
</extension>
</include>
然后用软电话拨打me
控制台通过pa answer 和pa hangup也应答和挂断。
配置SIP网关拨打外部电话
如果你拥有某个运营商提供的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="密码"/>
</gateway>
如果还需要其他参数 可以查阅目录下的example.xml,一般这些参数就够了
需要重启Freeswitch ,或者执行一下命令:
sofia profile external rescan
显示一下网关的注册状态:
sofia status
如果显示 gateway gw1 的状态是REGED,说明已经正确的注册到了网关上,你可以用命令试下网关是否正常:
originate sofia/gateway/ge1/xxxxxxx &echo
通过网关gw1 呼叫号码xxxxxxx (也可以是你的手机)被叫号码接听电话后,Freeswitch 会执行echo程序,你应该能听到自己的回声。