[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