[Serusers] rewrite & ACK forwarding problem

Alexander Mayrhofer axelm at nic.at
Fri Jun 27 18:15:26 CEST 2003


Hi,

we're running SER together with a PSTN Gateway. Before a call get's
forwarded to the gateway, we are rewriting the request URI to make
rewriting on the GW as simple as possible:

route {
...
   strip(3);  		# +43xxx -> xxx
   prefix("0");		# xxx -> 0xxx
   rewritehostport(xxx.xxx.xxx.xxx, 5060); # request to gateway
   route(1);
   break;
...

SIP call flow looks like (record route enabled):

(1) phone -> SER
INVITE sip:*43699xxxxxxxx at nic.at43.at SIP/2.0

(2) SER -> phone 
SIP/2.0 100 trying -- your call is important to us

(3) SER -> GW
INVITE sip:0699xxxxxxxx at xx.xx.xx.xx:5060 SIP/2.0

(4) GW -> SER
SIP/2.0 100 Trying

(5) GW -> SER
SIP/2.0 183 Session Progress

(6) SER -> phone 
SIP/2.0 183 Session Progress

(7) GW -> SER
SIP/2.0 180 Ringing

(8) SER -> phone
SIP/2.0 180 Ringing

(9) GW -> SER
SIP/2.0 200 OK
Contact: <sip:0699xxxxxxxx at xx.xx.xx.xx:5060>

(10) SER -> phone
SIP/2.0 200 OK
Contact: <sip:0699xxxxxxx at xx.xx.xx.xx:5060>

[ call established, we can talk, but ... ]

(11) phone -> SER
ACK sip:0699xxxxxxxx at xx.xx.xx.xx:5060 SIP/2.0

--> Here starts the problem. That ACK (11) never gets forwarded to the
Gateway, so after a few seconds, the GW starts over at (9). Those three
packets (9-11) repeat a few times until GW runs into a timeout and drops
the call.

I have the impression that SER can't match the packet to the previous
requests because of the rewritten URI. Is that correct?

The only output at debug level 3 is:

Warning: sl_send_reply: I won't send a reply for ACK!!

Is that a routing goof somewhere in our scripts or is that a more
generic problem? Is the problem that the warning indicates somehow
related to the fact that the ACK is not being forwarded? 

Help appreciated.

cheers

axelm



More information about the sr-users mailing list