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-boun...@lists.sip-router.org [mailto:sr-users-boun...@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-boun...@lists.sip-router.org <mailto:sr-users-boun...@lists.sip-router.org> [mailto:sr-users-boun...@lists.sip-router.org] *On Behalf Of *Grant Bagdasarian
*Sent:* Friday, September 20, 2013 10:03 AM
*To:* mico...@gmail.com <mailto:mico...@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-boun...@lists.sip-router.org <mailto:sr-users-boun...@lists.sip-router.org> [mailto:sr-users-boun...@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-boun...@lists.sip-router.org <mailto:sr-users-boun...@lists.sip-router.org> [mailto:sr-users-boun...@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 <g...@cm.nl <mailto:g...@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

--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Trainings - Berlin, Oct 21-24; Miami, Nov 11-13, 2013
  - more details about Kamailio trainings at http://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

Reply via email to