[Devel] [ openser-Feature Requests-1632996 ] dialog module: better dialog check and more functions

SourceForge.net noreply at sourceforge.net
Thu Jan 11 09:54:41 CET 2007


Feature Requests item #1632996, was opened at 2007-01-11 09:54
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1632996&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: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Klaus Darilion (klaus_darilion)
Assigned to: Nobody/Anonymous (nobody)
Summary: dialog module: better dialog check and more functions

Initial Comment:
better dialog check
====================

The dialog module identifies in-dialog requests with a RR cookie. Setting "use_tight_match" enables checking of the callid too.

This should be extended to check from/to tag too, e.g:

use_tight_match = 0: check RR cookie
use_tight_match = 1: check RR cookie + call-id
use_tight_match = 2: check RR cookie + call-id + from/totag

I guess checking from/to tag also needs some logic to detect the direction of the request (upstream/downstream via ftag RR parameter or encoded in the RR dialog cookie)

Further, it may make sense to optionally store not only the from and to tag, but also

- upstream and downstream record route headers
- upstream and downstream contact headers
- upstream and downstream CSeq
- complete From and To header
- canonical SIP AoR of callee (for below dialog_to_exist() function)

to fake SIP requests (e.g. BYE like B2BUA) and for below functions

more functions
===================
IMO the following functions would be quite useful for the dialog module.

dialog_exist(): checks if the transaction matches an existing dialog. Can be used as additional security check in loose_roote()

dialog_exist("$fu","$avp(count)"): returns the number of dialogs which have $fu in From: header or in canonical R-URI

dialog_from_exist("$fu","$avp(count)"): returns the number of dialogs which have $fu in From: header

dialog_to_exist("$avp(whatever)","$avp(count)"):  returns the number of dialogs which have $avp(whatever) URI in canonical R-URI

The last 3 functions can be used to count the number of concurrently calls of a user (of course this works only if dialog module also stores the URIs, not only the from/to tags.) 

Further this only works if all requests from/to a certain user are routed via a single proxy.


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

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



More information about the Devel mailing list