[OpenSIPS-Users] Dynamic Routing module issue with srip

Michele Pinassi michele.pinassi at unisi.it
Mon May 2 11:33:08 CEST 2016


Thanks Bogdan for your prompt reply but seems that don't work as
expected: i need to strip leading '0' from called R-URI and To !

Just to help, i try to describe better my context:

for any external calls, i use route[pstn]:

route[pstn] {
    # Default outbound carrier
    $var(carrier) = "pstn";

    # Need to route to specific carrier ?
    if(avp_db_load("$fu","$avp(out_carrier)")) {
        $var(carrier) = $avp(out_carrier);
       # Remove leading zero
        subst_uri('/sip:0(.*)@(.*)/sip:\1@\2/g');
        subst('/^To:(.*)sip:0(.*)@(.*)/sip:\1@\2/g'); <---- Seems that
don't work !!!
    }
   
    # Need to map outbound caller number ?
    if(avp_db_load("$fu","$avp(out_number_map)")) {
       
uac_replace_from("$avp(out_number_map)","sip:$avp(out_number_map)@$Ri");
        append_hf("P-Asserted-Identity:
<sip:$avp(out_number_map)@$Ri>\r\n");
    }

    xlog("L_INFO","$ci - Route via $var(carrier) from $fU to $tU (RURI:
$ru)\n");

    if(route_to_carrier("$var(carrier)")) {
        t_on_failure("next_gw");
        t_relay();
        exit;
    }
}

Here are dynamic routing tables:

dr gateways
+----+-----------+------+-------------+-------+------------+-------+------------+-------+--------+--------------------+
| id | gwid      | type | address     | strip | pri_prefix | attrs |
probe_mode | state | socket | description        |
+----+-----------+------+-------------+-------+------------+-------+------------+-------+--------+--------------------+
|  2 | mediabox1 |    1 | 172.y.x.x  |     0 | NULL       | NULL 
|          2 |     0 |        | Mediabox gateway   |
|  1 | pstn1     |    1 | 172.y.x.z  |     0 | NULL       | NULL 
|          2 |     0 |        | Patton GW to MD110 |
|  5 | toip1     |    1 | 172.w.x.r |     1 | NULL       | NULL 
|          2 |     0 |        | Trunk VoIP Fastweb |
|  6 | toip2     |    1 | 172.w.x.f |     1 | NULL       | NULL 
|          2 |     0 |        | Trunk VoIP Fastweb |
+----+-----------+------+-------------+-------+------------+-------+------------+-------+--------+--------------------+
dr groups
+----+----------+--------+---------+-------------------+
| id | username | domain | groupid | description       |
+----+----------+--------+---------+-------------------+
|  1 | .*       | .*     |       1 | PSTN              |
|  2 | .*       | .*     |       2 | Asterisk mediabox |
|  5 | .*       | .*     |       3 | Trunk TOIP        |
+----+----------+--------+---------+-------------------+
dr carriers
+----+-----------+-------------+-------+-------+-------+-------------------------+
| id | carrierid | gwlist      | flags | state | attrs |
description             |
+----+-----------+-------------+-------+-------+-------+-------------------------+
|  6 | legacy    | pstn1       |     1 |     0 |       | Carrier to
legacy MD110 |
|  2 | mediabox  | mediabox1   |     1 |     0 |       | Carrier to
MEDIA BOX    |
|  1 | pstn      | pstn1       |     1 |     0 |       | Carrier to
PSTN         |
|  5 | toip      | toip1,toip2 |     1 |     0 |       | Carrier to
Trunk TOIP   |
+----+-----------+-------------+-------+-------+-------+-------------------------+
dr rules
+--------+---------+--------+---------+----------+---------+-------------+-------+-----------------------+
| ruleid | groupid | prefix | timerec | priority | routeid | gwlist     
| attrs | description           |
+--------+---------+--------+---------+----------+---------+-------------+-------+-----------------------+
|      1 | 1       |        |         |      100 | NULL    | pstn1      
| NULL  | Default route to PSTN |
|      2 | 2       |        |         |      100 | NULL    | mediabox1  
| NULL  | Route to MEDIA BOX    |
|      6 | 3       |        |         |      100 | NULL    | toip1,toip2
| NULL  | VoIP Trunk            |

When someone call 00xxxxxxxx and need to get out via "toip" carrier,
just for example, i need to strip out first 0...

Thanks, Michele

Il 29/04/2016 15:59, Bogdan-Andrei Iancu ha scritto:
> Hi Michele,
>
> the per-gw ops are done in all the routing scenarios (per prefix, per
> carrier, etc). Are you sure your call is routed via that GW ? try to
> print in cfg the GW ID to see it the right GW is used.
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 29.04.2016 12:02, Michele Pinassi wrote:
>> Hi all,
>>
>> on my OpenSIPS 1.11.6 i use dymanic module routing to magare multiple
>> routes. I need to strip a number for particular gateways and, following
>> manual, i set to '1' the 'strip' field in dr_gateways table.
>>
>> But, using function "route_to_carrier" to manage carrier routing, i get
>> no number strip...
>>
>> Maybe i'm missing something ?
>>
>> Thanks, Michele
>>
>

-- 
Michele Pinassi
Responsabile Telefonia di Ateneo
Servizio Reti, Sistemi e Sicurezza Informatica - Università degli Studi di Siena
tel: 0577.(23)5000 - centralino at unisi.it

Per trovare una soluzione rapida ai tuoi problemi tecnici consulta le FAQ di Ateneo, http://www.faq.unisi.it 





More information about the Users mailing list