Hi All,
I've recently stumbled upon this little hitch while using kamailio with
topoh module that the Contact header do not contains the User part for the
302 Moved temporarily packet.
*My topology:*
UserA<====\
->Kamailio<===>FreeSwitch
UserB<====/
The B party has set Call forwarding on their phone hence phone sends a 302
Moved Temporarily to Kamailio.
Via: SIP/2.0/UDP
TOPOH.KAMAILIO.IP:5060;branch=z9hG4bK0767.4e4e57deca89da5c5f5ae97228325f85.0
Via: SIP/2.0/UDP
TOPOH.KAMAILIO.IP;branch=z9hG4bKsr-j4IPOlV7MGQKatycM.y7MGZLMGZwM.1LgRWIC9gIgx4fMGZAOBVAOBNfzuaVHRaYpB1LNSQLpx4uMx3Az6eL3RsBCxu-zRrUWSeOgjeBk.IVm4ds34aONc**
From: "+4319714111"
<sip:+4319714111@FREESWITCH.IP.HERE>;tag=yUr5UZ7eF794K
To: <sip:502@USER.B.IP.HERE:5060>;tag=105223296
Call-ID: cd811276-4b4d-1234-66ae-005056867dbc
CSeq: 87257355 INVITE
Contact: <sip:06606017597@FREESWITCH.IP.HERE:5060>
User-Agent: Yealink SIP-T46G 28.80.0.70
Diversion: <sip:502@USER.B.IP.HERE:5060>;reason=unconditional
Content-Length: 0
This is modified in Kamailio TOPOH and sent to FreeSwitch as following
SIP/2.0 302 Moved Temporarily
Via: SIP/2.0/UDP
10.0.20.71;received=10.0.20.71;rport=5060;branch=z9hG4bKeBcy9HKK9cDKr
From: "+4319714111"
<sip:+4319714111@FREESWITCH.IP.HERE>;tag=yUr5UZ7eF794K
To: <sip:502@USER.B.IP.HERE:5060>;tag=105223296
Call-ID: cd811276-4b4d-1234-66ae-005056867dbc
CSeq: 87257355 INVITE
Contact: <*sip:TOPOH.KAMAILIO.IP*
;line=sr-N6IAzBy6WBy6MxFwW.qwPSW5ohWINhaYNLu4g9W4OhWI3wKLgRsIpUg5kGs7g9P-W.y6My**>
User-Agent: Yealink SIP-T46G 28.80.0.70
Diversion: <sip:502@USER.B.IP.HERE:5060>;reason=unconditional
Content-Length: 0
Which results in a Call Originate from FreeSwitch with RURI as this:
INVITE
*sip:TOPOH.KAMAILIO.IP*;line=sr-N6IAzBy6WBy6MxFwW.qwPSW5ohWINhaYNLu4g9W4OhWI3wKLgRsIpUg5kGs7g9P-W.y6My**
SIP/2.0
I am thinking that in TOPOH Module some patch is required to atleast retain
the $rU for 3XX replies , not sure if this will break some RFC or Kamailio
stability etc !
Thanks,
Sammy.