[OpenSIPS-Users] Dynamic routing .

Bogdan-Andrei Iancu bogdan at opensips.org
Mon Sep 28 14:51:54 CEST 2015


That "3" you can load it from DB (via avp_db_query()) or you can get it 
from user profile (load_credentials) or it can be the result of a 
translation (dp_translate based on SIP domain).

It is up to you where you get the value from - the important part is 
that you can pass it via a variable to do_routing().

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 28.09.2015 15:43, Sasmita Panda wrote:
> This is also give a fixed value 3 in do_routing() . I think so .  I 
> want my do_routing() , parameter should be flexible . It should be 
> decided on the basis of the domain of the group . Is this possible ?
>
> */Thanks & Regards/*
> /Sasmita Panda/
> /Network Testing and Software Engineer/
> /3CLogic , ph:07827611765/
>
> On Mon, Sep 28, 2015 at 6:03 PM, Bogdan-Andrei Iancu 
> <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>
>     Use a variable then :)
>
>     $avp(grp) = 3;
>
>     do_routing("$avp(grp)");
>
>     Regards,
>
>     Bogdan-Andrei Iancu
>     OpenSIPS Founder and Developer
>     http://www.opensips-solutions.com
>
>     On 28.09.2015 15:31, Sasmita Panda wrote:
>>     Hi Andrei,
>>
>>         Yes , I know the do_routing() reflects the routing groups .
>>     But in my case its not fixed .
>>     If i am doing  "do_routing("2")"  then it only point to the
>>     group_id :2 of the dr_groups table and do the perform the task .
>>     But I dont want to fix this parameter .
>>
>>     Please have a look into the bellow tables :
>>
>>
>>     mysql> select * from dr_rules;
>>     +--------+---------+--------+---------+----------+---------+--------+-------+---------------+
>>     | ruleid | groupid | prefix | timerec | priority | routeid |
>>     gwlist | attrs   | description   |
>>     +--------+---------+--------+---------+----------+---------+--------+-------+---------------+
>>     |     13 | 3         |           | |        0    | NULL       | 3
>>          | NULL  | My Number     |
>>     |     12 | 2         |           | |        0     | NULL      | 2
>>         | NULL  | My 2nd Number |
>>     +--------+---------+--------+---------+----------+---------+--------+-------+---------------+
>>
>>     mysql> select * from dr_groups;
>>     +----+----------+--------------------------+---------+-------------+
>>     | id | username | domain               | groupid | description |
>>     +----+----------+--------------------------+---------+-------------+
>>     |  3 | .*             | .*@mongodb5-sasmita.com.* |       2 |
>>     Outbound    |
>>
>>     |  4 | .*             | .*@mongodb6-sasmita.com.* |       3 |
>>     Outbound    |
>>     +----+----------+--------------------------+---------+-------------+
>>
>>     mysql> select * from dr_gateways;
>>     +----+------+------+-------------------+-------+------------+-------+------------+-------+--------+-------------+
>>     | id | gwid | type | address | strip | pri_prefix | attrs   |
>>     probe_mode | state | socket | description |
>>
>>     |  4 | 2    |    0   | 192.168.1.17:9900
>>     <http://192.168.1.17:9900> | 0 | NULL       | NULL  |          0
>>           |   0 | NULL   | Freeswitch1 |
>>     |  5 | 3    |    1   | 192.168.1.17:7700
>>     <http://192.168.1.17:7700> | 0 | NULL       | NULL  |          0
>>           |   0 | NULL   | Freeswitch2 |
>>     +----+------+------+-------------------+-------+------------+-------+------------+-------+--------+-------------+
>>
>>
>>     This is my table . Now what I want is if call comes from
>>     groupid:2  then route it to the gwlist:2 , if its coming form
>>     groupid:3  then route it to the gwlist:3 .
>>
>>         In this case how I will do the routing in my script ?
>>
>>
>>     */Thanks & Regards/*
>>     /Sasmita Panda/
>>     /Network Testing and Software Engineer/
>>     /3CLogic , ph:07827611765/
>>
>>     On Mon, Sep 28, 2015 at 4:47 PM, Bogdan-Andrei Iancu
>>     <bogdan at opensips.org <mailto:bogdan at opensips.org>> wrote:
>>
>>         Hi Sasmita,
>>
>>         The param of do_routing() has to reflct the routing group you
>>         want to use (the groupid in the dr_rules table) .
>>
>>         Regards,
>>
>>         Bogdan-Andrei Iancu
>>         OpenSIPS Founder and Developer
>>         http://www.opensips-solutions.com
>>
>>         On 28.09.2015 13:26, Sasmita Panda wrote:
>>>         Hi All ,
>>>
>>>             I mean to say , when there is more that one group and
>>>         for each group there is different gateways then how I will
>>>         set the do_routing parameter inside my script ?
>>>
>>>             If I have a single group then I am setting it as
>>>         do_routing("1") . But for different groups this logic wont
>>>         work . I don't want to add if... else loop for this . I
>>>         don't want to change my config file every time I add an new
>>>         group and its corresponding gateway .
>>>
>>>
>>>             So please help me how will I do this ? Any kind of
>>>         suggestion is welcome .
>>>
>>>         */Thanks & Regards/*
>>>         /Sasmita Panda/
>>>         /Network Testing and Software Engineer/
>>>         /3CLogic , ph:07827611765/
>>>
>>>         On Fri, Sep 25, 2015 at 7:08 PM, Sasmita Panda
>>>         <spanda at 3clogic.com <mailto:spanda at 3clogic.com>> wrote:
>>>
>>>
>>>
>>>             Hi All ,
>>>
>>>
>>>                 I am trying to use dynamic routing in opensips-1.11 .
>>>              I have just done an single outbound call . I have added
>>>             a group corresponding to  outbound domain then i had
>>>             define a gate way corresponding to the group id .
>>>               In side my script , I have added do_routing(group_id)
>>>             . Its working for me .
>>>
>>>                 Now I have multiple groups and for each group the
>>>             gateway is different .
>>>             like : group1 : gr_id:1 , domain : 1.1.1.1:5506
>>>             <http://1.1.1.1:5506>
>>>                     group2 : gr_id2 . domain : 2.2.2.2:5506
>>>             <http://2.2.2.2:5506>
>>>                gatw1 : domain:x.x.x.x:5506 , gw_type:1 , gr_id:1
>>>             gatw2 : domain:x.x.x.y:5506 , gw_type:1 , gr_id:2
>>>
>>>                  Now , I can add this in the table . but how will I
>>>             define it in the script so that for different group
>>>             different gateway will get selected and the call get
>>>             routed ?
>>>
>>>             Please help. Thank you in advance .
>>>
>>>
>>>
>>>             */Thanks & Regards/*
>>>             /Sasmita Panda/
>>>             /Network Testing and Software Engineer/
>>>             /3CLogic , ph:07827611765/
>>>
>>>
>>>
>>>
>>>         _______________________________________________
>>>         Users mailing list
>>>         Users at lists.opensips.org  <mailto:Users at lists.opensips.org>
>>>         http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20150928/e96eefe3/attachment.htm>


More information about the Users mailing list