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.
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@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
This should be Route:sip:Bob@oser2;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
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@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.
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
I think it is a configuration "problem" as usual :P I guess some info about nating is lost when forwarding from one ser to the other....I have to dig into logs....maybe I find out the problem soon.
Don't worry about your openser instances...
Samuel.
2006/1/25, Klaus Darilion klaus.mailinglists@pernau.at:
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@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
This should be Route:sip:Bob@oser2;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
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@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.
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Problem "solved".
I had added Alice as trusted for oser1 and using directly the IP of oser2 to call Bob (no DNS yet :( ). Using the onsip config files, the forwarding section within is_uri_host_local does not contain any line for solving NAT of Alice's UA and this info was lost in the way to oser2....who added oser1's IP as the contact when using fix_nated_contact.
So,..for all those people using onsip config file be aware of this fact if you want to forward to other proxies....
Sam.
2006/1/25, samuel samu60@gmail.com:
I think it is a configuration "problem" as usual :P I guess some info about nating is lost when forwarding from one ser to the other....I have to dig into logs....maybe I find out the problem soon.
Don't worry about your openser instances...
Samuel.
2006/1/25, Klaus Darilion klaus.mailinglists@pernau.at:
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@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
This should be Route:sip:Bob@oser2;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
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@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.
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users