测试 FreeSWITCH 的 sip_invite_route_uri
bgapi originate sofia/external/1234@61.132.230.73:5161 &echo
得到的是:
172.17.129.123:5088 -> 61.132.230.73:5161
INVITE sip:1234@61.132.230.73:5161 SIP/2.0
Via: SIP/2.0/UDP 8.141.11.8:5088;rport;branch=z9hG4bKcagQFyUgF21NS
Max-Forwards: 70
From: "" <sip:0000000000@8.141.11.8>;tag=t97H06r7rK2vj
To: <sip:1234@61.132.230.73:5161>
Call-ID: 683839e5-6a31-123e-61bf-00163e324ab9
CSeq: 95475261 INVITE
Contact: <sip:mod_sofia@8.141.11.8:5088>
...
但想修改 sip 头,有什么好办法呢?(比如修改主叫号码等)
当然有!
global_setvar sip_invite_route_uri=<sip:1234@172.17.129.123:6666;lr;orig>
用同样的命令再次呼出
bgapi originate sofia/external/1234@61.132.230.73:5161 &echo
则得到:
172.17.129.123:5088 -> 172.17.129.123:6666
INVITE sip:1234@61.132.230.73:5161 SIP/2.0
Via: SIP/2.0/UDP 8.141.11.8:5088;rport;branch=z9hG4bKmjtXXp2cr9KBp
Route: <sip:1234@172.17.129.123:6666;lr;orig>
Max-Forwards: 70
From: "" <sip:0000000000@8.141.11.8>;tag=6NQUNB3HpyDXD
To: <sip:1234@61.132.230.73:5161>
Call-ID: ddb0fd6b-6a32-123e-61bf-00163e324ab9
CSeq: 95475574 INVITE
Contact: <sip:mod_sofia@8.141.11.8:5088>
...
剩下的就很简单了,配置 kamailio/opensips ,用 sip proxy 修改 sip 头
kamailio/opensips listen=udp:172.17.129.123:6666
也就是 fs->sip proxy->落地
FreeSWITCH 很强很方便,只要用心,就能解决好多实际问题