美文网首页
【Freeswitch+Opensips】将freeswitch

【Freeswitch+Opensips】将freeswitch

作者: 安安爸Chris | 来源:发表于2019-05-17 10:08 被阅读0次

如果freeswitch上有一个网关是注册在别的系统或者呼叫中心上的,那么可以通过配置external下的xml文件来实现注册。注册也很简单,可以参考external下的example样例来写。主要也是把realm,username,password等写清楚即可。
如下示例所示一个简单external gateway的注册

<include>
    <gateway name="test_user">
        <param name="username" value="test_user"/>
        <param name="realm" value="sip.example.com"/>
        <param name="password" value="123456"/>
        <param name="expire-seconds" value="360"/>
    </gateway>
</include>

注册流程如下


普通注册流程

那么如果新增了opensips这个网关怎么办呢?
基本思想是将freeswitch的注册发送地址改为opensips,然后在opensips修改sip路由,将注册消息转发至真实地址。
注册流程如下


增加了opensips的注册流程

那么现在的注册信息需要改写一下,

<include>
    <gateway name="test_user">
        <param name="username" value="test_user"/>
        <param name="realm" value="opensips.example.com"/>
        <param name="from-domain" value="sip.example.com"/>
        <param name="password" value="123456"/>
        <param name="expire-seconds" value="360"/>
    </gateway>
</include>

这里的改动主要有两点:

  • realm需要改写为opensips的域名或者地址
  • from-domain需要保持真实的域名或者地址,不然注册时会找不到

opensips配置的更改

修改opensips.cfg文件中的路由脚本部分,主要添加一下register消息的处理

       if (is_method("REGISTER")) {
           xlog("L_INFO", "this is register!!!!!\n");
           $rd = 'sip.example.com'; #将route domain修改为真实domain
           #$rp = '2102'; # 如果有修改端口的话
       }

相关文章

网友评论

      本文标题:【Freeswitch+Opensips】将freeswitch

      本文链接:https://www.haomeiwen.com/subject/ldqnaqtx.html