[OpenSIPS-Users] drouting: is_from_gw() does not detect requests from (redundant) PSTN gateways

Rene de Vall rene.devall at gmail.com
Fri May 29 09:51:04 CEST 2009


Greetings,

..we are experiencing the following problem:

We use 2 gateways from/to the PSTN, both are datafilled in the table
dr_gateways with type = 1.  In our routing script we use is_from_gw("1") to
filter requests coming from the PSTN gateways.

Unfortunately the function does not detect these requests.

It seems that the code in drouting.c (is_from_gw_1) uses not only the ip
address but also the source-port of the request to compare/match/find the
gateway. As the gateways do not use 5060 as their source port when
forwarding requests to OpenSIPS, is_from_gw_1 does not find a match in the
gateway list.

Is this intended per design ?
And if it is intended, could you please be so kind and advice a workaround ?
Please no "if ($si == 'x.x.x.x')" based workarounds, as this should be
provisioned via database (eg. mysql), without the need to rewrite the
routing script every time a change is required.

Our drouting datafill looks like this:

>select * from dr_gateways;
+------+------+--------------------+-------+------------+-------+-------------+
| gwid | type | address            | strip | pri_prefix | attrs |
description |
+------+------+--------------------+-------+------------+-------+-------------+
|    1 |    1 | 10.0.1.75          |     0 |            |       |
pstn1       |
|    2 |    1 | 10.0.1.76          |     0 |            |       |
pstn2       |
|    3 |    2 | 10.0.2.61          |     0 |            |       |
ocs         |
|    4 |    4 | 10.0.2.107         |     0 |            |       |
pbx1        |
|    5 |    4 | 10.0.2.207         |     0 |            |       |
pbx2        |
|    6 |    4 | 10.0.2.109         |     0 |            |       |
pbx3        |
|    7 |    4 | 10.0.2.209         |     0 |            |       |
pbx4        |
+------+------+--------------------+-------+------------+-------+-------------+

>select * from dr_rules;
+--------+---------+-------------+---------+----------+---------+---------+---------------+
| ruleid | groupid | prefix      | timerec | priority | routeid | gwlist  |
description   |
+--------+---------+-------------+---------+----------+---------+---------+---------------+
|      1 | 0       |             |         |       50 |       0 | 1,2     |
pstn1+pstn2   |
|      2 | 0       | 0043222254  |         |       50 |       0 | 3       |
ocs           |
|      3 | 0       | 00432220045 |         |       50 |       0 | 4,5,6,7 |
pbx           |
+--------+---------+-------------+---------+----------+---------+---------+---------------+

We are using OpenSIPS 1.5.1 on Red Hat Enterprise Linux 5.

Looking forward to hear/read your answers and best regards,

René de Vall
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20090529/dfa0c4fb/attachment-0001.htm 


More information about the Users mailing list