[SR-Users] DIALPLAN Module: doubts about regular expression usage
Daniel-Constantin Mierla
miconda at gmail.com
Fri Oct 12 15:36:09 CEST 2018
Hello,
upon successful matching, the attr column value is set in the variable
specified by:
-
https://www.kamailio.org/docs/modules/devel/modules/dialplan.html#dialplan.p.attrs_pvar
Cheers,
Daniel
On 11.10.18 13:47, Stefano Bertuola wrote:
> 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 <mailto: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
> <mailto:david.villasmil.work at gmail.com>> wrote:
>
> Or single-quotes
>
>
> On Wed, Oct 10, 2018, 11:50 Daniel-Constantin Mierla
> <miconda at gmail.com <mailto: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 <mailto: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
>> <mailto: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
>> <mailto: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
>> <mailto: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
>> <mailto:sr-users at lists.kamailio.org>
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
> --
> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda
> <http://www.linkedin.com/in/miconda>
> Kamailio World Conference -- www.kamailioworld.com <http://www.kamailioworld.com>
> Kamailio Advanced Training, Nov 12-14, 2018, in Berlin -- www.asipto.com <http://www.asipto.com>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> <mailto:sr-users at lists.kamailio.org>
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
--
Daniel-Constantin Mierla -- www.asipto.com
www.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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20181012/2e9df2fa/attachment.html>
More information about the sr-users
mailing list