[Kamailio-Users] Dispatcher module question

Robert McGilvray rmcgilvr at globeop.com
Thu Nov 5 22:31:29 CET 2009


From: users-bounces at lists.kamailio.org
[mailto:users-bounces at lists.kamailio.org] On Behalf Of Alex Balashov
Sent: Thursday, November 05, 2009 4:18 PM
To: DJB
Cc: users at lists.kamailio.org
Subject: Re: [Kamailio-Users] Dispatcher module question

DJB wrote:

> Is there a way that I can pass variable into ds_select_dst(set, alg)
on the 
> set parameter so I can query from database table for setid; for
instance, 
> ds_select_dst("avp(customer_setid)", "4"). I've tried, but it did not 
> work. Please advise.

A look in modules/dispatcher/dispatcher.c reveals that ds_*() 
functions do not parse pseudovariables, which is a problem with a lot 
of existing Kamailio code.  Any arguments you pass to it will be 
interpreted as literal strings.

In short, you can't do that.  You may wish to put in a feature request 
to update these functions to take pseudovariables.

-- 

I haven't looked at the code but I'm using the ds_select functions in
more or less the same way in kam 1.5. I pull the setid from a match in
the dialplan module instead of a db. 

if (ds_select_domain("$avp(s:dpattr)", "0")) {
	if ($avp(s:dispatcher-cnt) > 1) {
		# If there is more than one entry returned for the group
arm the failure route
		t_on_failure("ROUTE_DP_FAILURE");
	}

	route(ROUTE_RELAY);

} else {
	xlog("L_WARN", "KAM_HOST: ($ci) $pr $mi route[$rm][0] $fu -> $ru
- No dst gateways found\n");
	sl_send_reply("404", "No destination gateways found\n");
	exit;
}


OP - Did you try it? 

Bob


--------------------------------------------------------------------------
This email with all information contained herein or attached hereto may contain confidential and/or privileged information intended for the addressee(s) only. If you have received this email in error, please contact the sender and immediately delete this email in its entirety and any attachments thereto.



More information about the Users mailing list