[Devel] [ openser-Bugs-1713469 ] Contact matching in usrloc

SourceForge.net noreply at sourceforge.net
Mon May 7 10:42:38 CEST 2007


Bugs item #1713469, was opened at 2007-05-05 17:13
Message generated for change (Settings changed) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1713469&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: Deleted
>Resolution: Duplicate
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:usr at host
sip:usr at host: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=1713469&group_id=139143



More information about the Devel mailing list