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(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users