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

Stefano Bertuola stefano.bertuola at gmail.com
Thu Oct 11 13:47:41 CEST 2018


Hi again.

I have a last doubt: the dialplan.translate returns both  Output and
Attributes values.

How is returned (if returned) the ATTRS value with dp_translate() function?

How can I use it in Kamailio script?

Br. Stefano



On Thu, Oct 11, 2018 at 8:40 AM Stefano Bertuola <stefano.bertuola at gmail.com>
wrote:

> Hi Daniel.
>
> Thanks for your suggestion. It worked:
>
> kamcmd> dialplan.dump 2
> {
>         DPID: 2
>         ENTRIES: {
>                 ENTRY: {
>                         PRIO: 1
>                         MATCHOP: 1
>                         MATCHEXP: ^\+39.....
>                         MATCHLEN: 0
>                         SUBSTEXP: ^\+(.*)$
>                         REPLEXP: \1
>                         ATTRS: 1
>                 }
>         }
> }
> kamcmd> dialplan.translate 2 s:+3912345
> {
>         Output: 6212345
>         Attributes: 1
> }
> kamcmd> dialplan.translate 2 '+3912345'
> error: 500 - No translation
> kamcmd> dialplan.translate 2 "+3912345"
> error: 500 - No translation
>
>
> Instead, with single or double quotes, it doesn't.
>
> Br. Stefano
>
> On Wed, Oct 10, 2018 at 12:55 PM David Villasmil <
> david.villasmil.work at gmail.com> wrote:
>
>> Or single-quotes
>>
>> On Wed, Oct 10, 2018, 11:50 Daniel-Constantin Mierla <miconda at gmail.com>
>> wrote:
>>
>>> Hello,
>>>
>>> this might be due to automatic translation of kamcmd for its parameters
>>> that look like numbers, can you try with:
>>>
>>> kamcmd dialplan.translate 1 s:+39123456
>>>
>>> If still fails, send here the log messages with debug=3 when running the
>>> rpc command.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 10.10.18 10:00, Stefano Bertuola wrote:
>>>
>>> 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
>>>>
>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>> --
>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>> Kamailio World Conference -- www.kamailioworld.com
>>> Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com
>>>
>>> _______________________________________________
>>> 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/20181011/215f21bb/attachment.html>


More information about the sr-users mailing list