You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Yate实现SIP经M3UA承载ISUP再转回SIP的呼叫路由

Yate配置:实现SIP→M3UA/ISUP→SIP的跨节点呼叫路由

呼叫拓扑:

[sip phone A] -- SIP --> [Yate A] -- ISUP over M3UA --> [Yate B] -- SIP --> [sip phone B]

以下是针对Yate A、Yate B的分节点配置修改指南,覆盖你提到的核心配置文件及必要补充:


一、Yate A 配置(SIP转ISUP over M3UA)

1. sigtransport.conf(SCTP传输层)

替换占位符IP,启用M3UA所需的端点模式:

[sctp-link]
type=sctp
stream=false
local=YATE_A_IP:5050  # 替换为Yate A实际IP,如172.16.100.10:5050
remote=YATE_B_IP:5050  # 替换为Yate B实际IP,如172.16.100.20:5050
endpoint=true  # 必须开启,M3UA依赖端点关联建立连接

2. ysigchan.conf(SS7/ISUP通道)

修正路由器配置,确保点码匹配Yate B:

[m3ua-gateway]
type=ss7-m3ua-gateway
sig=sctp-link
router=ss7-router  # 启用SS7路由器,原配置router=false会导致路由失效
network=isup-trunk

; SS7 ISUP中继配置
[isup-trunk]
type=ss7-isup
netindicator=national
pointcodetype=ITU
pointcode=0-0-6  # Yate A本地点码
remotepointcode=0-0-5  # 必须与Yate B的本地点码一致
defaultpointcode=0-0-5
router=ss7-router

; 新增SS7路由器配置
[ss7-router]
type=ss7-router
default=isup-trunk

3. regexroutes.conf(SIP转ISUP路由规则)

添加规则将SIP呼叫导向ISUP中继:

; 所有来自SIP的呼叫转发到ISUP中继
^sip/(.*)=$ISUP/\1@isup-trunk

; 可选:匹配特定号码前缀(如10开头)的呼叫
^sip/10(.*)=$ISUP/10\1@isup-trunk

4. sip.conf(SIP接入补充)

确保SIP电话A能注册到Yate A:

[sip-phone-a]
type=register
username=sip-phone-a
password=your-secure-password
domain=YATE_A_IP
allow=all

二、Yate B 配置(ISUP over M3UA转SIP)

1. sigtransport.conf(SCTP传输层)

对应Yate A配置,设置本地及远程IP:

[sctp-link]
type=sctp
stream=false
local=YATE_B_IP:5050  # 替换为Yate B实际IP,如172.16.100.20:5050
remote=YATE_A_IP:5050  # 替换为Yate A实际IP,如172.16.100.10:5050
endpoint=true

2. ysigchan.conf(SS7/ISUP通道)

本地点码与Yate A的远程点码保持一致:

[m3ua-gateway]
type=ss7-m3ua-gateway
sig=sctp-link
router=ss7-router
network=isup-trunk

; SS7 ISUP中继配置
[isup-trunk]
type=ss7-isup
netindicator=national
pointcodetype=ITU
pointcode=0-0-5  # Yate B本地点码,与Yate A的remotepointcode一致
remotepointcode=0-0-6  # Yate A的本地点码
defaultpointcode=0-0-6
router=ss7-router

; 新增SS7路由器配置
[ss7-router]
type=ss7-router
default=isup-trunk

3. regexroutes.conf(ISUP转SIP路由规则)

添加规则将ISUP呼叫转发到SIP电话B:

; 所有ISUP呼叫转发到SIP电话B的注册地址
^ISUP/(.*)=$sip/\1@SIP_PHONE_B_IP  # 替换为SIP电话B的IP或注册域

; 可选:匹配特定号码(如SIP电话B号码为1001)
^ISUP/1001=$sip/1001@172.16.100.30

4. sip.conf(SIP转接补充)

允许Yate B向SIP电话B发起呼叫:

[sip-phone-b-outbound]
type=call
username=sip-phone-b
domain=SIP_PHONE_B_IP
allow=all

三、关键验证项

  • SCTP连通性:确保Yate A与Yate B的5050端口开放SCTP协议,可通过sctp_test工具测试连通性。
  • 点码一致性:Yate A的remotepointcode必须与Yate B的pointcode完全匹配,反之亦然。
  • 号码格式兼容:若SIP与ISUP号码格式不一致(如有无区号前缀),可在regexroutes.conf中添加转换规则,例如:
    ; 将SIP的1001转换为ISUP的001001
    ^sip/1001=$ISUP/001001@isup-trunk
    

内容的提问来源于stack exchange,提问作者Mohammad Ghasemi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:53:12