[SR-Users] DIALPLAN Module: doubts about regular expression usage

Stefano Bertuola stefano.bertuola at gmail.com
Wed Oct 10 10:00:56 CEST 2018


Hi Patrick.

Thanks for your replay.

I also verified an issue with *dialplan.translate* command in *kamcmd*.

Running a live test it is working.

mysql> select * from dialplan;
+----+------+----+----------+--------------+-----------+--------------+----------+-------+
| id | dpid | pr | match_op | match_exp    | match_len | subst_exp    |
repl_exp | attrs |
+----+------+----+----------+--------------+-----------+--------------+----------+-------+
|  1 |    1 |  1 |        1 | ^(\+39)(.*)$ |         0 | ^(\+39)(.*)$ | \2
     | 1     |
+----+------+----+----------+--------------+-----------+--------------+----------+-------+

NOTICE: <script>: +3912345|Before Dialplan
NOTICE: <script>: 12345|After Dialplan


Br. Stefano


On Wed, Oct 10, 2018 at 6:50 AM Patrick Wakano <pwakano at gmail.com> wrote:

> Hi Stefano,
> I have similar rules in my dialplan and they work.
> However the kamcmd dialplan.translate command also fails for me (Kamailio
> 5.0.4), but I guess it is a problem with the command itself and not with
> the translation done by the dp_translate(), because for real calls it does
> work!
>
> Patrick Wakano
>
> On Wed, 10 Oct 2018 at 02:21, Stefano Bertuola <stefano.bertuola at gmail.com>
> wrote:
>
>> Hi Experts.
>>
>> I did some tests with DIALPLAN module and I have some doubts about how to
>> define the regular expressions in the database.
>>
>> For example, using the start character '^' (beginning of the string), it
>> looks not working:
>>
>> kamcmd> dialplan.dump 1
>> {
>>         DPID: 1
>>         ENTRIES: {
>>                 ENTRY: {
>>                         PRIO: 1
>>                         MATCHOP: 2
>>                         MATCHEXP: ^(\+39)(.*)$
>>                         MATCHLEN: 0
>>                         SUBSTEXP: ^(\+39)(.*)$
>>                         REPLEXP: \2
>>                         ATTRS: 1
>>                 }
>>         }
>> }
>> kamcmd> dialplan.translate 1 "+39123456"
>> error: 500 - No translation
>>
>>
>> Removing it, it works... but not as desired:
>>
>> kamcmd> dialplan.dump 1
>> {
>>         DPID: 1
>>         ENTRIES: {
>>                 ENTRY: {
>>                         PRIO: 1
>>                         MATCHOP: 1
>>                         MATCHEXP: (\+39)(.*)$
>>                         MATCHLEN: 0
>>                         SUBSTEXP: (\+39)(.*)$
>>                         REPLEXP: \2
>>                         ATTRS: 1
>>                 }
>>         }
>> }
>> kamcmd> dialplan.translate 1 "+39123456"
>> {
>>         Output: 123456"
>>         Attributes: 1
>> }
>> kamcmd> dialplan.translate 1 "xxxxxxx+39123456"
>> {
>>         Output: 123456"
>>         Attributes: 1
>> }
>>
>>
>> Can someone help me understand how the regular expression should be used
>> in DIALPLAN, please?
>>
>> Br. Stefano
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20181010/f9cb2b84/attachment.html>


More information about the sr-users mailing list