Hello,
I am using SER as a redirect server. Recently I came across an issue where the 302 sent back by SER is not liked by a soft switch. Particularly , the format of the CONTACT field according to the softswitch..
Here is an excerpt of the 302 reply send back ...
Session Initiation Protocol Status-Line: SIP/2.0 302 MovedTemporarily Status-Code: 302 Resent Packet: True Suspected resend of frame: 73 Message Header To: sip:12345@172.20.20.46;tag= b27e1a1d33761e85846fc98f5f3a7e58.dfa5 SIP to address: sip:12345@172.20.20.46 SIP tag: b27e1a1d33761e85846fc98f5f3a7e58.dfa5 From: 172.20.20.46sip:12345@172.20.20.46;tag=161dda6e SIP Display info: 172.20.20.46 SIP from address: sip:12345@172.20.20.46 SIP tag: 161dda6e Via: SIP/2.0/UDP 10.99.99.140:9585 ;branch=z9hG4bK-d87543-730866470-1--d87543-;rport=9585 Call-ID: 95239a63f0347c53 CSeq: 1 INVITE * Contact: sip:12345@172.20.20.37:5060 * Server: Sip EXpress router (0.8.14 (i386/linux)) Content-Length: 0 Warning: 392 172.20.20.46:5060 "Noisy feedback tells: pid=9550 req_src_ip=10.99.99.140 req_src_port=9585 in_uri=sip:12345@172.20.20.46out_uri= sip:12345@172.20.20.37:5060 via_cnt==1
the softswitch is wanting the contact field with sip:xxxx@xxx.xxx.xxx.xxx:5060 like a FROM or TO URI.
Here is ser.cfg part that does the sl_send_reply();
# do a stateless redirect, if return code is correct if (method=="INVITE") { xlog("L_INFO", "SourceIP <%is> \n"); xlog("L_INFO", "From-uri<%fu>, r-uri <%ru> \n"); if (!gl_redirect()) { sl_send_reply("480", "TemporarilyUnavailable"); xlog("L_WARN", "Sending a 480 response with r-uri <%ru>\n"); break; } else { sl_send_reply("302", "MovedTemporarily"); xlog("L_DBG", "Sending a 302 response with r-uri <%ru>\n"); break; } };
Any help is appreciated.**
thanks,