Setting up a chan_sip trunk for CTCIMS in FreePBX

上周末,我发现FreePBX到中国电信IMS服务器的chan_pjsip中继出现问题,电话呼入遇忙音或报网络问题。经过一番抓包分析后,我用回了chan_sip中继。我估计中国电信近期对IMS服务器作过系统升级,导致跟Asterisk 13 pjsip中继之间的对称SIP/RTP信令的匹配问题。不过,最新版的MicroSIP软电话仍能匹配,电话呼入和呼出都没问题。

要使用chan_sip中继,须在EPON网关上为chan_sip绑定的端口号设置端口转发。

Setup port forwarding on the voice network interface of the epon home gateway

The voice network interface on the epon gateway is 1_VOICE_INTERNET_R_VID_46 (epon0.4).
Note: chan_sip binds to the non-default SIP port 5160 in FreePBX.

服务器名 外部初始端口 外部终止端口 协议 内部初始端口 内部终止端口 服务器IP地址 WAN接口
SIP 5160 5160 UDP 5160 5160 192.168.1.2 epon0.4

Create a chan_sip trunk in FreePBX

  • General:
    • Trunk Name: CTC
    • Outbound Caller ID: 0216XXXXXXX
  • sip Settings:
    • Outgoing:
      • Trunk Name: CTC
      • PEER Details:
        host=15.192.XX.XX
        username=+86216XXXXXXX@sh.ctcims.cn
        secret=xxxxxx
        type=peer
        keepalive=30
        insecure=port,invite
        fromuser=+86216XXXXXXX
        fromdomain=sh.ctcims.cn
        context=from-trunk
        dtmfmode=auto
    • Incoming:
      • Register String: +86216XXXXXXX@sh.ctcims.cn:xxxxxx:+86216XXXXXXX@sh.ctcims.cn@15.192.XX.XX

Asterisk SIP Settings

  • General SIP Settings
    • NAT Settings
      • External Address: 28.XX.XX.XXX (IP address of epon0.4)
      • Local Networks: 192.168.0.0/16
  • Chan SIP Settings
    • NAT Settings
      • NAT: yes
      • IP Configuration: Static IP
    • Registration Settings
      • Registration Minimum Expiry: 1500
      • Registration Default Expiry: 1500

Updates

2020-06-15

  • Pressing number keys doesn't work with IVR systems. Add dtmfmode=auto to "PEER Details" to resolve the issue.

See also

14 thoughts on “Setting up a chan_sip trunk for CTCIMS in FreePBX”

  1. 也发现这问题了,每次重启能工作,没多久就断了。
    请教一下,为啥要在猫上端口转发?还有chan_sip只能使用猫的5160端口吗?

    1. 原来 是RASPBERRY PI发热的问题。后来改到OPENWRT下运行ASTERISK工作了一段时间。

    2. 因为chan_sip对nat支持不好,需要手动设置,并且需要在猫上设置端口转发

  2. 我在OPENWRT下装的ASTERISK运行几个月,(SIP.conf)挺正常的。
    这周开始,不能注册到上海电信了,显示 SIP_REG TIMEOUT。
    你现在还能工作吗?

  3. 我的环境是freepbx, 注册到中国移动的IMS. 使用SIP
    但是遇到一个问题,如果被叫启用了voLTE, 就会出现487错误,接不起来。

    有没有什么建议?

    1. 你说一下你的移动IMS在FreePBX里如何配置的吗?我用MicroSIP注册完全正常,就是FreePBX一直没有成功过

  4. 感谢您提供的教程,我用的也是中国电信。
    按照教程采用chan_sip 接入,能够正常呼入,但是呼出时提示“您拔的号码不存在”,请教一下是否还需要设置什么吗?

    1. 本文只涉及中继设置,中继设置就这些。PBX要工作还需要设置Extensions, Inbound Route 和 Outbound Route

  5. 楼主,我也是上海电信用户,光猫是自己换的华为8255WS,软路由是OPENWRT。 现在我是把电话接在光猫的电话口上使用的。 我在电话上是小白。因为我家里的交换机是万兆电口POE++交换机。我想问的是,有没有可能通过OPENWRT支持上海电信的VOIP,然后我在家里任意的网口上接上POE的IP电话机就可以打电话?

  6. 我也是microsip正常,pjsip只有单向声音,只能单线拨出。抓包对比了一下,pjsip的包似乎少了一个contact uri parameter ob。
    但没找到如何在freepbx中设置这一参数的方法,或许有效?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.