Hello,
great to see you made it trough several nice workarounds to build your wanted solution.
If not helping others for same needs, definitely shows the potential to play with config to find solutions for crazy ideas :-) and hopefully more people will start looking at parameters and functions from different perspectives, not just at the pure meaning of them.
Thanks for sharing, Daniel
On 9/20/13 3:25 PM, Grant Bagdasarian wrote:
Answering another question of mine: "I just need to know how to extract the terminatingsbcaddress from the $avp(dsattrs) avp, so I can set the $du in failure_route."
Solution: Use param transformations
$(avp(dsattrs){param.value,terminatingsbcaddress})
This does require the modparam to be changed from:
modparam("dispatcher", "attrs_col", "('routeid='+ CAST(ID AS NVARCHAR(MAX)) + ',' + 'terminatingsbcaddress=' + TerminatingSBCAddress + ',' + Attributes) AS Attributes")
To
modparam("dispatcher", "attrs_col", "('routeid='+ CAST(ID AS NVARCHAR(MAX)) + ';' + 'terminatingsbcaddress=' + TerminatingSBCAddress + ';' + Attributes) AS Attributes")
Note the commas been replaced by semicolons.
I hope this will help others with similar issues in the future.
*From:*sr-users-bounces@lists.sip-router.org [mailto:sr-users-bounces@lists.sip-router.org] *On Behalf Of *Grant Bagdasarian *Sent:* Friday, September 20, 2013 2:49 PM *To:* Kamailio (SER) - Users Mailing List *Subject:* Re: [SR-Users] dispatcher: set $du in failure_route
Answering my own question: Is there a way to insert this piece of SQL into the query the dispatcher executes to load its table, so that the attrs_avp is filled with these additional values?
Yes, it is. Don't know if this is a safe way in doing so, but here it is.
modparam("dispatcher", "attrs_col", "('routeid='+ CAST(ID AS NVARCHAR(MAX)) + ',' + 'terminatingsbcaddress=' + TerminatingSBCAddress + ',' + Attributes) AS Attributes")
Forget what I said/asked before this question, it doesn't make sense, it is solved with this solution.
I just need to know how to extract the terminatingsbcaddress from the $avp(dsattrs) avp, so I can set the $du in failure_route.
*From:*sr-users-bounces@lists.sip-router.org mailto:sr-users-bounces@lists.sip-router.org [mailto:sr-users-bounces@lists.sip-router.org] *On Behalf Of *Grant Bagdasarian *Sent:* Friday, September 20, 2013 10:03 AM *To:* miconda@gmail.com mailto:miconda@gmail.com; Kamailio (SER) - Users Mailing List *Subject:* Re: [SR-Users] dispatcher: set $du in failure_route
Hello,
Thank you for the idea!
When executing my stored procedure to select the route, one of my columns is built up like below.
('routeid='+CAST(IDASNVARCHAR(MAX))+','+'terminatingsbcaddress='+TerminatingSBCAddress+','+Attributes)ASAttributes
This gives me the already set attributes for the route, but also adds two additional key value pairs to the column.
I should be able to store the values in avp's right? And access them later in failure_route? The terminatingsbcaddress key stores the address which is used to reset the $du value.
The less queries I can perform, the better.
If this is possible, how do I extract the terminatingsbcaddress from this column and store it in an AVP? I've never worked with AVP's before.
I know I have to start by doing:
$var(attributes) = $dbr(vd_query_result=>[0,0]);
If this is not possible, is there a way to insert this piece of SQL into the query the dispatcher executes to load its table, so that the attrs_avp is filled with these additional values?
I couldn't find the SQL which was executed by the dispatcher in the source code.
*From:*sr-users-bounces@lists.sip-router.org mailto:sr-users-bounces@lists.sip-router.org [mailto:sr-users-bounces@lists.sip-router.org] *On Behalf Of *Daniel-Constantin Mierla *Sent:* Thursday, September 19, 2013 9:11 PM *To:* Kamailio (SER) - Users Mailing List *Subject:* Re: [SR-Users] dispatcher: set $du in failure_route
On 9/18/13 4:53 PM, Grant Bagdasarian wrote:
My Dispatcher table has been extended with more columns and also functions as our routing table. I've modified the names of the columns Dispatcher uses to match the columns of the routing table. One of the columns contains the address which is used to set the $du value. So, for every request I'm executing a stored procedure using sqlops to select the address of the SBC (for $du) and the set id to use for the dispatcher. If I'm correct, the dispatcher table is loaded into memory once Kamailio is started or the table is reloaded. In case the first destination fails, how would I get the address of the next SBC to reset the $du value in failure_route? I think I can do it using the setid and the next priority, but how do I access these two values in failure_route? Are there any other solutions to this, perhaps other modules with similar functionality as the dispatcher module?
The setid and next hop address are stored in AVPs, the names of the avps are set via module parameters. See readme starting at:
http://kamailio.org/docs/modules/stable/modules/dispatcher.html#idp15216488
In failure route, before calling ds_next_*(), the first avps store the values used for next destination. You can probably use them for your db query.
Cheers, Daniel
*From:*sr-users-bounces@lists.sip-router.org mailto:sr-users-bounces@lists.sip-router.org [mailto:sr-users-bounces@lists.sip-router.org] *On Behalf Of *Alex Balashov *Sent:* Wednesday, September 18, 2013 4:23 PM *To:* Kamailio (SER) - Users Mailing List *Subject:* Re: [SR-Users] dispatcher: set $du in failure_route
Of course.
Grant Bagdasarian <GB@cm.nl mailto:GB@cm.nl> wrote:
Hello,
Can the $du value also be set in a failure_route? For instance in the case the first destination fails.
I'm currently setting the $du value before I'm calling the ds_next_domain function in request_route.
We have multiple carriers which are connected to different SBCs.
In case $du is not re-set in failure_route, Kamailio will try to send the INVITE to the carrier directly, bypassing the SBC, correct?
Regards,
Grant
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Sent from my mobile, and thus lacking in the refinement one might expect from a fully fledged keyboard.
Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 United States Tel: +1-678-954-0671 Web: http://www.evaristesys.com/, http://www.alexbalashov.com
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org mailto:sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierla -http://www.asipto.com http://twitter.com/#!/miconda http://twitter.com/#%21/miconda -http://www.linkedin.com/in/miconda Kamailio Advanced Trainings - Berlin, Oct 21-24; Miami, Nov 11-13, 2013
- more details about Kamailio trainings athttp://www.asipto.com -
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users