最经在玩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问题和解决方法也会及时的更新。

FreeSWITCH异常原因总结的更多相关文章

  1. Java ConcurrentModificationException异常原因和解决方法

    Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...

  2. HttpClient的CircularRedirectException异常原因及解决办法

    HttpClient的CircularRedirectException异常原因及解决办法 这两天在使用我自己爬虫抓取网页的时候总是出现 org.apache.http.client.ClientPr ...

  3. Java并发编程:Java ConcurrentModificationException异常原因和解决方法

    Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...

  4. 【转】Java ConcurrentModificationException异常原因和解决方法

    原文网址:http://www.cnblogs.com/dolphin0520/p/3933551.html Java ConcurrentModificationException异常原因和解决方法 ...

  5. 修改List报ConcurrentModificationException异常原因分析

    使用迭代器遍历List的时候修改List报ConcurrentModificationException异常原因分析 在使用Iterator来迭代遍历List的时候如果修改该List对象,则会报jav ...

  6. 关于fasterxml-jackson发生Can not deserialize instance of异常原因验证

    关于fasterxml-jackson发生Can not deserialize instance of异常原因验证 这两天线上有大量的java.lang.IllegalArgumentExcepti ...

  7. 9、Java ConcurrentModificationException异常原因和解决方法

    Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...

  8. mysql主从同步异常原因及恢复

    mysql主从同步异常原因及恢复 前言 mysql数据库做主从复制,不仅可以为数据库的数据做实时备份,保证数据的完整性,还能做为读写分离,提升数据库的整体性能.但是,mysql主从复制经常会因为某些原 ...

  9. R文件丢失异常原因汇总

    引言: R文件丢失异常在java开发中是个比较常见的异常,造成这个异常的原因可能非常微小,但是给Android开发者们造成的麻烦可是巨大的,当程序员们费尽千辛万苦,找到自己错在哪里的时候,绝对会对自己 ...

随机推荐

  1. DirectX11 With Windows SDK--05 键盘和鼠标输入

    前言 提供键鼠输入可以说是一个游戏的必备要素.在这里,我们不使用DirectInput,而是使用Windows的消息处理机制,不过要从头开始实现会让事情变得很复杂.DXTK提供了鼠标输入的Mouse. ...

  2. log 的 debug()、 error()、 info()方法

    log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF.FATAL.ERROR.WARN.INFO.DEBUG.TRACE. ALL. 简单的说,就是 ...

  3. Spark源码剖析 - SparkContext的初始化(九)_启动测量系统MetricsSystem

    9. 启动测量系统MetricsSystem MetricsSystem使用codahale提供的第三方测量仓库Metrics.MetricsSystem中有三个概念: Instance:指定了谁在使 ...

  4. Set实现数组去重

    ES6 提供了新的数据结构 Set 它类似于数组,但是成员的值都是唯一的,没有重复的值 (set本身是一个构造函数,用来生成 Set 数据结构)   使用Set实现数组去重要简单很多.   第一种数组 ...

  5. vue-router拦截

    说明:以下均在main.js中添加. 主要思路 1.在路由分发时,检查本地缓存是否有账号信息,如果没有,跳转登陆页面,传入当前路由 2.在发送请求时,添加账号token 3.在接收请求时,检查响应的数 ...

  6. SpringBoot系列: 与Spring Rest服务交互数据

    不管是单体应用还是微服务应用, 现在都流行Restful风格,  下图是一个比较典型的使用rest的应用架构, 该应用不仅使用database数据源, 而且用到了一个Weather微服务, 另一方面, ...

  7. ext.net gridlist选择内部元素时自动选择所在行

    function changeSelection(id) { var index = 0; for (var i = 0; i < mcp_liststore.data.length; i++) ...

  8. mybatis-configxml样板

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...

  9. 【noip 2014】提高组Day2T3.华容道

    Description 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B ...

  10. 【bzoj 3779】重组病毒

    Description 黑客们通过对已有的病毒反编译,将许多不同的病毒重组,并重新编译出了新型的重组病毒.这种病毒的繁殖和变异能力极强.为了阻止这种病毒传播,某安全机构策划了一次实验,来研究这种病毒. ...