Hi Mark!
Does both gateways do record_route? If yes, then there should be 2 route headers in the BYE sent from the GW.
If server 2 does record_route, then the header Route: sip:JoeUser@OPENSER-TWO:5060 is missing.
If server 2 does not record_route. then the GW must not send to proxy 2.
Further, in the the BYE from GW to openser2, the proxy 1 is addressed 2 times (RURI and route header). proxy 1 should be referenced only 1 time, on the other hand there is no reference to the SIP client.
I guess the problem is how you handle the INVITE. Thus a trace of the initial INVITE would be more useful. I also suspect you to use fix_nated_contact in proxy 2 - this must not happen!
regards klaus
Mark Kent wrote:
I wonder if anyone on this list is open to a thought exercise? I'm trying to put together a cogent message about this, but in the meantime:
I've got a situation where my openser box seems to route stuff to itself and it loops around and around until I get the classic "Too Many Hops" error.
This seems to happen most often on BYE, although I've seen an ACK do it too. Here is a small ngrep snippet, after
PHONE has called OPENSER-ONE who statelessly relays to OPENSER-TWO who t_relays to PSTNGW, and then the pstn user hangs-up:
U 23:03:53.254382 PSTNGW:5060 -> OPENSER-TWO:5060 BYE sip:JoeUser@OPENSER-ONE.example.com:5060;user=phone SIP/2.0 Call-ID: callid@PHONE From: sip:18005551212@OPENSER-TWO.example.com:5060;tag=26674 To: "Joe User" sip:JoeUser@OPENSER-ONE.example.com;tag=thetag Content-Length: 0 CSeq: 1 BYE Via: SIP/2.0/UDP PSTNGW:5060;branch=thebranch Route: sip:JoeUser@OPENSER-ONE:5060 Max-Forwards: 70
# U 23:03:53.255013 OPENSER-TWO:5060 -> OPENSER-ONE:5060 BYE sip:JoeUser@OPENSER-ONE:5060 SIP/2.0 Record-Route: sip:JoeUser@OPENSER-TWO;lr=on;ftag=26674 Call-ID: callid@PHONE From: sip:18005551212@OPENSER-TWO.example.com:5060;tag=26674 To: "Joe User" sip:JoeUser@OPENSER-ONE.example.com;tag=thetag Content-Length: 0 CSeq: 1 BYE Via: SIP/2.0/UDP OPENSER-TWO;branch=otherbranch.0 Via: SIP/2.0/UDP PSTNGW:5060;branch=thebranch Max-Forwards: 69 Route: sip:JoeUser@OPENSER-ONE.example.com:5060;user=phone
Right here OPENSER-ONE freaks out, and the delay causes OPENSER-TWO to re-transmit:
# U 23:03:53.611227 OPENSER-TWO:5060 -> OPENSER-ONE:5060 BYE sip:JoeUser@OPENSER-ONE:5060 SIP/2.0 Record-Route: sip:JoeUser@OPENSER-TWO;lr=on;ftag=26674 Call-ID: callid@PHONE From: sip:18005551212@OPENSER-TWO.example.com:5060;tag=26674 To: "Joe User" sip:JoeUser@OPENSER-ONE.example.com;tag=thetag Content-Length: 0 CSeq: 1 BYE Via: SIP/2.0/UDP OPENSER-TWO;branch=otherbranch.0 Via: SIP/2.0/UDP PSTNGW:5060;branch=thebranch Max-Forwards: 69 Route: sip:JoeUser@OPENSER-ONE.example.com:5060;user=phone
OK, so who on this list is good enough to be able to suggest plausible theories about what my openser.cfg flaw is? If you don't want to speculate openly on the list then please send me a direct email.
Thanks, -mark
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users