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.46<sip: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.46
out_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
jigpgandhi@gmail.com