博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FREESWITCH 填坑指南
阅读量:4587 次
发布时间:2019-06-09

本文共 4574 字,大约阅读时间需要 15 分钟。

转接

1.查看网关注册状态 

sofia status

 

2.桥接(未实践) http://wiki.freeswitch.org.cn/wiki/Mod_lua.html#jump10237

freeswitch.bridge

session1 = freeswitch.Session("sofia/internal/1001%192.168.1.1");session2 = freeswitch.Session("sofia/internal/1002%192.168.1.1");freeswitch.bridge(session1, session2);

 

http://wiki.freeswitch.org.cn/wiki/Mod_lua.html#jump10237

 

3.diaplan脚本中先呼叫一方,再转接另一方

1  prefix = "{ignore_early_media=true}sofia/192.168.150.132/" 2  file_to_play = "/usr/local/freeswitch/sounds/custom/8000/sound.wav" 3    4  function call_number(number) 5    dial_string = prefix .. tostring(number); 6    -- debug("calling " .. dial_string); 7    session = freeswitch.Session(dial_string); 8    session:setAutoHangup(false) 9    session:transfer("5002", "XML", "default")10    return session:hangupCause()11  end12  hangup_cause = call_number("1012")

 

freeswitch下执行lua脚本运行

luarun autodia.lua param1

 

如果通过客户端执行,可以调用fs_cli ,调用完成后退出客户端命令如下:

bin/fs_cli -x "luarun autodia.lua param1"

 

 

 

 

 4.fs_cli连接不上问题

 a.可以看8021端口是否使用,如果是的

 

相关配置文件 conf/autoload_configs/event_socket.conf.xml

 <configuration name="event_socket.conf" description="Socket Client">

   <settings>
     <param name="nat-map" value="false"/>
- <param name="listen-ip" value="::"/>
+ <param name="listen-ip" value="127.0.0.1"/>
     <param name="listen-port" value="8021"/>
     <param name="password" value="ClueCon"/>
- <!--<param name="apply-inbound-acl" value="loopback.auto"/>-->
- <!--<param name="stop-on-bind-error" value="true"/>-->
+ <!--<param name="apply-inbound-acl" value="lan"/>-->
   </settings>
 </configuration>

配置改成如下配置即可

 

 

 

b. ip最好改成本机,否者仍有可能拒绝访问

 

 

5.FREESWITCH转接语音到MRCP Server接收到的音频音质极差问题

  一般是FREEWTICH与终端的音频编码和与MRCP Server的编码不一致导致(终端音频码率较高),FS进行转码时失真过大,SF转码能力可能有些欠缺。通过修改FREESWITCH 目录下conf/vars.xml 将 global_codec_prefs 配置限制为MRCP Server能够接收的编码即可。

 

 

6.单模块编译安装

当已经安装好freeswitch,需要安装一个未安装的模块步骤

1.进入freeswitch-version源码目录

修改module.conf 启动你的安装的模块如mod_json_cdr

2.进入src/mod目录下,make mod_json_cdr

3.在src/mod目录下 make mod_json_cdr-install  

4.在FREESWITCH控制台 load mod_json_cdr

 

 

 

7.集成mod_unimrcp 并对接unimrcpserver

 a.FREESWITCH源码根路径下,修改modules.conf文件,取消“asr_tts/mod_unimrcp”配置的注释

    b. make mod_unimrcp;make mod_unimrcp-install 集成mod_unimrcp模块

 c.切换到安装目录。新建文件conf/mrcp_profiles/unimrcpserver-mrcp-v2.xml,具体配置如下,注意修改ip和端口

 

 d.conf/autoload_configs/unimrcp.conf.xml修改配置,将mrcp对接server选择为上面配置的server,使用profile name熟悉值

 

 e. conf/autoload_configs/modules.conf.xml增加如下配置项,让fs启动时自动加载该模块

 

8.sip、rtp对接配置,修改conf/sip_profiles/external.xml。如果走的是代理等网络,需要视情况将auto-nat改为外部ip(如果本机即有外部ip或者对端支持nat,则可能不需要配置)。

    

 

9.对接mod_format_cdr

  a.编译安装模块,同上

  b.启用模块,同上

  c.配置,修改 conf/autoload_configs/format_cdr.conf.xml,其中几个配置项需要修改

  

 

10.禁用ipv6,如果系统不支持,可能会刷如下错误信息,禁用即可

2018-09-14 17:55:34.161271 [ERR] sofia.c:3146 Error Creating SIP UA for profile: external-ipv6 (sip:mod_sofia@[::1]:5080;transport=udp,tcp) ATTEMPT 2 (RETRY IN 5 SEC)2018-09-14 17:55:34.161271 [ERR] sofia.c:3146 Error Creating SIP UA for profile: internal-ipv6 (sip:mod_sofia@[::1]:5060;transport=udp,tcp) ATTEMPT 2 (RETRY IN 5 SEC)2018-09-14 17:55:39.161270 [ERR] sofia.c:3146 Error Creating SIP UA for profile: external-ipv6 (sip:mod_sofia@[::1]:5080;transport=udp,tcp) ATTEMPT 3 (RETRY IN 5 SEC)2018-09-14 17:55:39.161270 [ERR] sofia.c:3156 Error Creating SIP UA for profile: external-ipv6 (sip:mod_sofia@[::1]:5080;transport=udp,tcp)The likely causes for this are:1) Another application is already listening on the specified address.2) The IP the profile is attempting to bind to is not local to this system.2018-09-14 17:55:39.161270 [ERR] sofia.c:3146 Error Creating SIP UA for profile: internal-ipv6 (sip:mod_sofia@[::1]:5060;transport=udp,tcp) ATTEMPT 3 (RETRY IN 5 SEC)2018-09-14 17:55:39.161270 [ERR] sofia.c:3156 Error Creating SIP UA for profile: internal-ipv6 (sip:mod_sofia@[::1]:5060;transport=udp,tcp)The likely causes for this are:1) Another application is already listening on the specified address.2) The IP the profile is attempting to bind to is not local to this system.

禁用方式:

mv conf/sip_profiles/internal-ipv6.xml conf/sip_profiles/internal-ipv6.xml.bkmv conf/sip_profiles/external-ipv6.xml conf/sip_profiles/external-ipv6.xml.bk

 

转载于:https://www.cnblogs.com/lmsthoughts/p/9322816.html

你可能感兴趣的文章
团队项目第二阶段冲刺站立会议03
查看>>
Python 错误和异常小结
查看>>
sass基础
查看>>
关于Unity中特殊目录
查看>>
360wifi提取版
查看>>
关于Unity遇到的问题
查看>>
jQuery---ajax
查看>>
hdu 1270
查看>>
存储过程笔记
查看>>
AtCoder Grand Contest 017 迟到记
查看>>
CodeForces - 858A k-rounding
查看>>
CF 622F (拉格朗日插值)
查看>>
javascript变量类型转换(简单记几个)
查看>>
python过滤 Kubernetes api数据
查看>>
量子测量
查看>>
教你配置安全的ProFTPD服务器(上)
查看>>
bzoj 1226: [SDOI2009]学校食堂Dining
查看>>
spm3构建多入口项目
查看>>
Java:基本语法
查看>>
HTTP头的Expires与Cache-control
查看>>