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,
Jignesh Gandhi wrote:
the softswitch is wanting the contact field with sip:xxxx@xxx.xxx.xxx.xxx:5060 like a FROM or TO URI.
Then your softswitch is broken. Contact, From, and To URI can be given without the angle brackets. You only need them if you have URI parameters or a display name.
I know that doesn't help you much, but
if (!gl_redirect())
gl_redirect() doesn't appear in exist in SER or OpenSER. You will have to talk to whoever you got that from.
Or your softswitch vendor. Print 3261 and go hit them on the head with it. Several times.
Regards, Martin
On 03/27/2007 09:50 AM, Martin Hoffmann wrote:
Jignesh Gandhi wrote:
the softswitch is wanting the contact field with sip:xxxx@xxx.xxx.xxx.xxx:5060 like a FROM or TO URI.
Then your softswitch is broken. Contact, From, and To URI can be given without the angle brackets. You only need them if you have URI parameters or a display name.
indeed.
I know that doesn't help you much, but
if (!gl_redirect())
As a workaround: if you set the "q" parameter from your function, SER will enclose the contact URI in <>. Check set_ruri_q() in dset.h
Miklos
gl_redirect() doesn't appear in exist in SER or OpenSER. You will have to talk to whoever you got that from.
Or your softswitch vendor. Print 3261 and go hit them on the head with it. Several times.
Regards, Martin _______________________________________________ Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers