[OpenSER-Devel] [ openser-Patches-1748681 ] Optimized Dialog Matching

SourceForge.net noreply at sourceforge.net
Tue Jul 10 15:39:47 CEST 2007


Patches item #1748681, was opened at 2007-07-05 21:49
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=1748681&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 devel
>Status: Closed
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: reticent (unspin)
Assigned to: Bogdan (bogdan_iancu)
Summary: Optimized Dialog Matching

Initial Comment:
We had a look at the dialog module and found the most appropriate dialog matching mode (mode 2, or RFC3261 compliant matching) to be broken and suboptimal

1.  When looking for a dialog it would carry out a full linear scan of every node in the hash table.  We modified the module such that it now does a hash table lookup instead of a full scan, nicely boosting the performance of dialog matching that is not based on a Record-Route parameter

2.  There was a little difficulty in the fact that, depending on the direction of certain messages, the From and To tags could be reversed.  Previously the dialog module, when using matching mode 2, would employ the "is_direction()" function.  The problem is that is_direction only works if the RR module adds a parameter to the Record-Route header!  (which means mode 2 is almost exactly the same as mode 0, in that it requires an RR parameter to work properly)  So if the function wasn't enabled in the RR module then mode 2 dialog matching would fail somtimes (when the far end transmits certain messages, like a BYE)
Our solution was to do a double hash table lookup as were weren't able to find any way to determine the direction (or otherwise infer which of the two, From and To, should be used in the lookup)


Credits go to:
Tavis Paquette <tavis at galaxytelecom.net>
Peter Baer <pbaer at galaxytelecom.net>


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

>Comment By: Bogdan (bogdan_iancu)
Date: 2007-07-10 16:39

Message:
Logged In: YES 
user_id=1275325
Originator: NO

OK - I made a review of the patch, changed some things (a lot) to get it
even in a better version (related to detecting the direction of the
sequential messages) and finally applied it on SVN.

Any help with testing is welcome :).

Thanks and regards,
Bogdan

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

Comment By: Bogdan (bogdan_iancu)
Date: 2007-07-06 14:36

Message:
Logged In: YES 
user_id=1275325
Originator: NO

Hi,

Thanks for the patch - I will review it shortly and if OK, I will apply it
on SVN.

regards,
bogdan

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

Comment By: Klaus Darilion (klaus_darilion)
Date: 2007-07-06 10:59

Message:
Logged In: YES 
user_id=1318360
Originator: NO

IMO this is very useful. If you use mode=2 to not depend on the
record-route dialog cookie then the dialog module also should not depend on
the ftag parameter.


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

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



More information about the Devel mailing list