博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FreeSWITCH异常原因总结
阅读量:6304 次
发布时间:2019-06-22

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

  最经在玩FreeSWITCH的时候,遇到很多的问题,特此总结一下,希望以后不要犯类似的错误了:

  1、Client端无法注册,但是FS运行正常?

     解决办法:查看防火墙是否关闭。/etc/init.d/iptables stop ,这条指令的仅仅是在运行FS的时候关闭一次防火墙,如果想每次开机都关闭防火墙,使用chkconfig iptables off。

  2、打开FS的WebSOCKET功能?

    解决办法:在/usr/local/freeswitch/conf/sip_profiles/internal.xml中去掉WS的注释即可,该行代码为:<param name="ws-binding" value=":5066"/>

  3、修改完FS之后,发现FS并没有按照自己修改的方式进行?

    解决办法:在fs_cli 中输入reloadxml,或者重新开启FreeSWITCH。

  4、开启FreeSWITCH的常用方法有哪些?

    A、/usr/local/freeswitch/bin/freeswtich -nonat

    B、/etc/init.d/freeswitch start

    C、service freeswitch start 

  5、如何让FS实现媒体流和SIP信令分开传输,即媒体流实现P2P,SIP信令来维持通话过程的建立?

    解决办法:设置FS为媒体绕行方式,默认的是流媒体(RTP包)和SIP 信令是在一起传输,都经过FS,目的是FS做监控或者录音录影的功能。

           要让RTP 和SIP 分离,只要在/usr/local/freeswitch/conf/dialplan/default.xml中的Local_Extension中添加如下的代码即可。

          <action application="set" data="bypass_media=true"/>

          <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>

  6、在fs_cli中使用show calls,或者使用 sofia status profile internal reg查看注册账号是,发现已经注销的账号还没有及时更新?

  原因:FreeSWITCH分为内核部分(FS Core)和外围两部分。内核使用其内部的队列、哈希表以及外部的SQL数据库,当前,系统的核心数据库使用SQLite,默认村放在db/core.db。

  使用外部数据库的好处是:查询数据不用锁定内存数据结构。这样不仅能提供性能,而且降低了死锁的风险,保证了系统的稳定。

     系统对数据库操作做了优化,在高并发状态时,核心会尽量将几百条 SQL 一齐执行,这大大提高了性能。show calls 等都是直接从数据库中读取内容并显示,所以在低并发的状态下执行就显得稍微有点慢。

  7、从SDP协议应该看到的讯息:(2013/12/25)

    A、所要描述的RTP的IP以及端口PORT;

    B、编码器的种类,以及是否支持视频;

    C、是否支持按键功能

           注:很多情况下呼叫不成功都是因为SDP协商不成功导致的

   以上是近期遇见问题的一个小结,以后的FS问题和解决方法也会及时的更新。

转载于:https://www.cnblogs.com/logo-fox/p/3465288.html

你可能感兴趣的文章
Linux VNC黑屏(转)
查看>>
Java反射简介
查看>>
react脚手架应用以及iview安装
查看>>
shell学习之用户管理和文件属性
查看>>
day8--socket网络编程进阶
查看>>
node mysql模块写入中文字符时的乱码问题
查看>>
仍需"敬请期待"的微信沃卡
查看>>
分析Ajax爬取今日头条街拍美图
查看>>
内存分布简视图
查看>>
POJ 2918 求解数独
查看>>
如何学习虚拟现实技术vr? vr初级入门教程开始
查看>>
第4 章序列的应用
查看>>
Mysql explain
查看>>
初识闭包
查看>>
java tcp socket实例
查看>>
011 指针的算术运算
查看>>
hdu1874畅通工程续
查看>>
rails 字符串 转化为 html
查看>>
java-学习8
查看>>
AOP动态代理
查看>>