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.