All,
We have had a new issue arise within openser, basically we
connect to a SIP carrier that uses Asterisk as a proxy. Naturally, this
carrier is hellbent on offloading the RTP traffic, thus the reinvites.
My issue is that they appear to be sending the second invite "too fast",
before the initial RTP even gets a chance to establish. This was working
just fine before, and I believe they changed something. Anyway, they're
refusing to help with this issue, so now I must "fix" it on my end.
OpenSER is in-part, the problem.. See below:
(Sorry if formatting is off, dump from tethereal ..)
0.000000 204.13.233.13 -> 206.80.70.47 SIP/SDP Request: INVITE
sip:8886963856@206.80.70.47, with session description
0.001752 206.80.70.47 -> 204.13.233.13 SIP Status: 100 trying -- your
call is important to us
0.002723 206.80.70.47 -> 206.80.70.54 SIP/SDP Request: INVITE
sip:+1314xxxxxxx@sip.stl.netlogic.net, with session description
0.010327 206.80.70.54 -> 206.80.70.47 SIP Status: 100 Trying
0.292175 206.80.70.54 -> 206.80.70.47 SIP Status: 180 Ringing
0.292692 206.80.70.47 -> 204.13.233.13 SIP Status: 180 Ringing
2.016246 206.80.70.54 -> 206.80.70.47 SIP/SDP Status: 200 OK, with
session description
2.016893 206.80.70.47 -> 204.13.233.13 SIP/SDP Status: 200 OK, with
session description
2.050871 204.13.233.13 -> 206.80.70.47 SIP Request: ACK
sip:+1314xxxxxxx@206.80.70.54
2.051233 204.13.233.13 -> 206.80.70.47 SIP/SDP Request: INVITE
sip:+1314xxxxxxx@206.80.70.54 2.051827 206.80.70.47 -> 204.13.233.13
SIP Status: 100 trying
--<<KABOOM>>--
2.051956 206.80.70.47 -> 206.80.70.54 SIP/SDP Request: INVITE
sip:+1314xxxxxxx@206.80.70.54,
2.052112 206.80.70.47 -> 206.80.70.54 SIP Request: ACK
sip:+13142664000@206.80.70.54
2.053028 206.80.70.54 -> 206.80.70.47 SIP/SDP Status: 200 OK, with
session description
2.053336 206.80.70.54 -> 206.80.70.47 SIP Status: 503 Server error
Where you see "kaboom", is the problem. If you notice, the time between
the first ACK and second INVITE is about 1ms .. While this shouldn't be
a problem, you'll notice when the ACK/INVITES are getting statefully
forwarded, they're getting sent out of order. The end point is an
Asterisk machine, thus the 503 error.
Carrier_Ast --> OpenSER --> Netlogic_Ast
I am using loose_route to forward, just like everyone else, they are
even hitting loose_route in the correct order.. Thoughts? Suggestions?
This seems like something internal to OpenSER, I have tried butchering
the config to force the ACK out first and it just created more problems.
Thanks!
Matt S