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--|
F1: INVITE Bob@oser2
F2: INVITE Bob@oser2
Record-Route:<sip:Bob@oser1;nat=yes;lr=on>
F3: INVITE Bob@bob_contact_ip
Record-Route:<sip:Bob@oser2;nat=yes;lr=on>
Record-Route:<sip:Bob@oser1;nat=yes;lr=on>
OK,ACK not shown..
F4: BYE Bob@nat_fixed_ip
Route:<sip:Bob@oser1;nat=yes;lr=on>,<sip:Bob@oser2;nat=yes;lr=on>
F5: BYE Bob@nat_fixed_ip
Route:<sip:Bob@oser1;nat=yes;lr=on>
F6: BYE Bob@bob_fixed_ip
Everything ok, session closed.
But, and here comes the problem:
F7: BYE Alice@alice_fixed_ip
Route:<sip:Bob@oser2;nat=yes;lr=on>,<sip:Bob@oser1;nat=yes;lr=on>
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@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@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@oser1_ip:5060;nat=yes;lr=o
n'
Jan 25 13:17:07 localhost openser[25501]: after_strict: The last route
URI: 'sip:Bob@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.