[Users] loose_route() (misbehaviour?)

Klaus Darilion klaus.mailinglists at pernau.at
Wed Jan 25 14:19:35 CET 2006


samuel wrote:
> Hi all,
> 
> Might be related to the mail I just sent about the username in the
> record-route or to another problem but the thing is that I can not
> close the session from the callee side...i'll try to explain:
> 
> There are two users registered to two different openser instances. In
> the session initiation, the record route headers contain the usernames
> of both users and are therefore stored in the end points.
> When the caller sends the BYE, the callee's openser receives the BYE
> and rewrites the URI with the record-route (shouldn't it consider the
> request for itself and check the Req-URI instead??).
> 
> NExt is the diagram and some more info...
> 
> 	Alice	oser1	oser2	 Bob
> 	 |	  |	  |	  |
> 	 |--F1---> |--F2--->|--F3-->|
> 	 |	  |	  |	  |
> 	 |	  |	  |	  |
> 	 |	  |	  |	  |
> 	 |--F4-->  |--F5-->|--F6--> |
> 	 |	  |	  |	  |
> 	 |	  |	  |	  |
> 	 |	  |	  |	  |
> 	 |	  |<--F8---|<--F9--|

guess F9 should be F7

> 
> F1: INVITE Bob at oser2
> 
> F2: INVITE Bob at oser2
>     Record-Route:<sip:Bob at oser1;nat=yes;lr=on>
> 
> F3: INVITE Bob at bob_contact_ip
>     Record-Route:<sip:Bob at oser2;nat=yes;lr=on>
>     Record-Route:<sip:Bob at oser1;nat=yes;lr=on>
> 
> 
> OK,ACK not shown..
> 
> F4: BYE Bob at nat_fixed_ip
>     Route:<sip:Bob at oser1;nat=yes;lr=on>,<sip:Bob at oser2;nat=yes;lr=on>
> 
> F5: BYE Bob at nat_fixed_ip
>     Route:<sip:Bob at oser1;nat=yes;lr=on>

This should be
      Route:<sip:Bob at oser2;nat=yes;lr=on>

> 
> F6: BYE Bob at bob_fixed_ip
> Everything ok, session closed.
> 
> But, and here comes the problem:
> F7: BYE Alice at alice_fixed_ip
>     Route:<sip:Bob at oser2;nat=yes;lr=on>,<sip:Bob at oser1;nat=yes;lr=on>

strange, I never had any problems. Can you dump the full messages F7 and 
F8 and the looping requests?

regards
klaus


> When this message arrives to ser1, it sees the route header and, make
> a strict routing process and rewrites the header in the Req-URI to
> Bob at ser1.
> oser1 resends itself the message, and when it receives it again looks
> for use Bob in the local bindings which obviously does not exists (Bob
> is in oser2).
> Log:
> 
> Jan 25 13:17:07 localhost openser[25501]: is_preloaded: No
> Jan 25 13:17:07 localhost openser[25501]: grep_sock_info - checking if
> host==us: 13==13 &&  [ip_oser1]== [ip_oser1]
> Jan 25 13:17:07 localhost openser[25501]: grep_sock_info - checking if
> port 5060 matches port 5060
> Jan 25 13:17:07 localhost openser[25501]: after_strict: Next hop:
> 'sip:Bob at oser1_ip;nat=yes;lr=on' is loose router
> Jan 25 13:17:07 localhost openser[25501]: parse_headers: flags=ffffffffffffffff
> Jan 25 13:17:07 localhost openser[25501]: DEBUG: get_hdr_body : content_length=0
> Jan 25 13:17:07 localhost openser[25501]: found end of header
> Jan 25 13:17:07 localhost openser[25501]: rewrite_uri: Rewriting
> Request-URI with 'sip:Bob at oser1_ip:5060;nat=yes;lr=o
> n'
> Jan 25 13:17:07 localhost openser[25501]: after_strict: The last route
> URI: 'sip:Bob at oser1_ip:5060;nat=yes;lr=on'
> Jan 25 13:17:07 localhost openser[25501]: DEBUG: has_totag: totag found
> Jan 25 13:17:07 localhost openser[25501]: DEBUG: t_newtran: msg id=12
> , global msg id=11 , T on entrance=0xffffffff
> Jan 25 13:17:07 localhost openser[25501]: parse_headers: flags=ffffffffffffffff
> Jan 25 13:17:07 localhost openser[25501]: parse_headers: flags=78
> Jan 25 13:17:07 localhost openser[25501]: t_lookup_request: start
> searching: hash=3891, isACK=0
> Jan 25 13:17:07 localhost openser[25501]: DEBUG: RFC3261 transaction
> matching failed
> Jan 25 13:17:07 localhost openser[25501]: DEBUG: t_lookup_request: no
> transaction found
> 
> 
> Thanks a lot!!!
> 
> Sam.
> 
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
> 
> 





More information about the Users mailing list