Bugs item #1713555, was opened at 2007-05-05 22:19
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1713555&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.2.x
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Kovalevich Victor (vkc1974)
Assigned to: Nobody/Anonymous (nobody)
Summary: Contact matching in usrloc

Initial Comment:
USRLOC module does not reckon default values of some kinds of Contact HF 
parameters while Contact header filed processing (e.g. kind of transport 
protocol(transport=udp by default), transport protocol port (5060 by default), 
etc.) which can be missed (see RFC3261 and related documents for more details).
For example, USRLOC considers following Contact HF values as different:

sip:[EMAIL PROTECTED]
sip:[EMAIL PROTECTED]:5060;transport=udp

This causes a problem to unregister a user contact properly while processing of 
REGISTER request by save() routine.

Furthermore save() routine does not notify if it cannot update/remove an entry 
within USRLOC if REGISTER request contains Contact HF like described above, for 
example:

- an UA refreshes registration via REGISTER request but with Contact HF value 
different from initial one (the first REGISTER has had) but really correct and 
equal to initial Contact (see examples above). In such case openser can remove 
UA registration as expired when UA is considering server registration as 
actually.

- an UA closes a session to openser server via REGISTER request with Expires=0 
and Contact HF value different from initial one (the first REGISTER request 
while session open has had) but really equal to initial one, see examples 
above. In such case server is considering given UA registration as actual and 
may send a lot of asynchronous kinds of requests (e.g. NOTIFY) to the contact 
that is not really valid. This can cause server hang up: UDP message sending is 
repeating until an acknowledgment is received from UA site and this process can 
take a lot of CPU resources.

Described problem takes a place on openser 1.0, 1.1, 1.2 .

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1713555&group_id=139143

_______________________________________________
Devel mailing list
Devel@openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to