[SR-Users] Issue in Dialplan Module

Joel Serrano joel at gogii.net
Tue Aug 8 21:29:08 CEST 2017


Hi,

The 'subst_exp' is incorrect, it should be "\1" instead of "1" (note the
backslash).

Send the debug logs when you have them.

J.

On Mon, Aug 7, 2017 at 11:56 PM, Logeshwaran G <logeshwarangs at gmail.com>
wrote:

> Please find the below rules I am using:
>
> +----+------+----+----------+--------------+-----------+----
> -----------+----------+-------+
> | id | dpid | pr | match_op | match_exp    | match_len | subst_exp     |
> repl_exp | attrs |
> +----+------+----+----------+--------------+-----------+----
> -----------+----------+-------+
> |  1 |    1 |  1 |        1 | ^000[0-9]+$  |         0 | ^000([0-9]+)$ |
> 1        |       |
>
>
> Correct me If I am Wrong,
>
> I will enable the logs and send you for the clarity.
>
> On Mon, Aug 7, 2017 at 7:11 PM, Joel Serrano <joel at gogii.net> wrote:
>
>> Hi,
>>
>> I don't see the problem...
>>
>> checked with online tester and the regex looks OK:
>>
>> [image: Inline image 1]
>>
>>
>>
>> Can you enable debug logs and try again, then send the logs?
>>
>>
>> On Sun, Aug 6, 2017 at 11:19 PM, Logeshwaran G <logeshwarangs at gmail.com>
>> wrote:
>>
>>> I mean to say by applying the Rule mentioned from Joel is also not
>>> worked.
>>>
>>>
>>> Rules:
>>> ======
>>> dpid: 1
>>> pr: 1
>>> match_op: 1
>>> match_exp: ^000[0-9]+$  <<<<<<< This will trigger a match on any number
>>> that will start with three zeros.
>>> match_len: 0
>>> subst_exp: ^000([0-9]+)$  <<<<<<< If the match_exp is found, then
>>> create a group with the desired part of the number, in this case,
>>> everything after the three zeros.
>>> repl_exp: \1   <<<<<<< \1 is a back reference to group 1, in this case
>>> the number you selected in subst_exp, without the three zeros.
>>> attrs:
>>>
>>>
>>>
>>>
>>> On Mon, Aug 7, 2017 at 11:43 AM, Logeshwaran G <logeshwarangs at gmail.com>
>>> wrote:
>>>
>>>> Please find the below output
>>>>
>>>>  5(12951) ERROR: <script>: R-URI User: 000919629897172
>>>>  5(12951) ERROR: <script>: R-URI User: 000919629897172
>>>>
>>>>
>>>>
>>>> On Mon, Aug 7, 2017 at 11:10 AM, Joel Serrano <joel at gogii.net> wrote:
>>>>
>>>>> Can you add logging and post results?
>>>>>
>>>>>  if (is_method("INVITE")) {
>>>>>                xlog("R-URI User: $rU\n");
>>>>>                dp_translate("1", "$rU/$rU");
>>>>>                xlog("R-URI User: $rU\n");
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Aug 6, 2017 at 10:05 PM, Logeshwaran G <
>>>>> logeshwarangs at gmail.com> wrote:
>>>>>
>>>>>> I am using the below function:
>>>>>>
>>>>>>  if (is_method("INVITE")) {
>>>>>>
>>>>>>                dp_translate("1", "$rU/$rU");
>>>>>> }
>>>>>>
>>>>>>
>>>>>> On Sat, Aug 5, 2017 at 9:19 PM, Joel Serrano <joel at gogii.net> wrote:
>>>>>>
>>>>>>> Can you post your block of config related to dialplan module from
>>>>>>> kamailio.cfg?
>>>>>>>
>>>>>>> Also, how are you calling the dp_* functions?
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Aug 4, 2017 at 10:34 PM, Logeshwaran G <
>>>>>>> logeshwarangs at gmail.com> wrote:
>>>>>>>
>>>>>>>> Thanks a lot for the Detailed Explanation.
>>>>>>>>
>>>>>>>> I am Beginner to Kamailio, As per Your Suggestion I have used the
>>>>>>>> below Rule:
>>>>>>>>
>>>>>>>> Rules:
>>>>>>>> ======
>>>>>>>> dpid: 1
>>>>>>>> pr: 1
>>>>>>>> match_op: 1
>>>>>>>> match_exp: ^000[0-9]+$  <<<<<<< This will trigger a match on any
>>>>>>>> number that will start with three zeros.
>>>>>>>> match_len: 0
>>>>>>>> subst_exp: ^000([0-9]+)$  <<<<<<< If the match_exp is found, then
>>>>>>>> create a group with the desired part of the number, in this case,
>>>>>>>> everything after the three zeros.
>>>>>>>> repl_exp: \1   <<<<<<< \1 is a back reference to group 1, in this
>>>>>>>> case the number you selected in subst_exp, without the three zeros.
>>>>>>>> attrs:
>>>>>>>>
>>>>>>>> But the First three Digit is not Removed. Please find the below log:
>>>>>>>>
>>>>>>>>  5(16152) INFO: <script>: Request : INVITE
>>>>>>>> sip:000919629897172 at 209.95.52.97 SIP/2.0
>>>>>>>> Record-Route: <sip:209.95.52.97;lr>
>>>>>>>> Record-Route: <sip:209.95.52.97;lr>
>>>>>>>> To: <sip:000919629897172 at 45.249.123.97>
>>>>>>>> From: 7777<sip:7777 at 45.249.123.97>;tag=501aa976
>>>>>>>> Via: SIP/2.0/UDP 209.95.52.97;branch=z9hG4bK0d3
>>>>>>>> 6.636d0921d672f2d0bdb3fc87c52a3caa.0
>>>>>>>> Via: SIP/2.0/UDP 209.95.52.97;rport=5060;branch
>>>>>>>> =z9hG4bK0d36.4d76f923bd5cc7d64297898058440098.0
>>>>>>>> Via: SIP/2.0/UDP 45.249.123.97:6107;received=45
>>>>>>>> .249.123.97;branch=z9hG4bK-d87543-1054953376-1--d87543-;rport=6107
>>>>>>>> Call-ID: db4777505114995c
>>>>>>>> CSeq: 1 INVITE
>>>>>>>> Contact: <sip:7777 at 45.249.123.97:6107>
>>>>>>>> Max-Forwards: 68
>>>>>>>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE,
>>>>>>>> SUBSCRIBE, INFO
>>>>>>>> Content-Type: application/sdp
>>>>>>>> User-Agent: eyeBeam release 3004t stamp 16741
>>>>>>>> Content-Length: 191
>>>>>>>>
>>>>>>>> v=0
>>>>>>>> o=- 355180136 355180140 IN IP4 45.249.123.97
>>>>>>>> s=eyeBeam
>>>>>>>> c=IN IP4 45.249.123.97
>>>>>>>> t=0 0
>>>>>>>> m=audio 31444 RTP/AVP 18 0 8 101
>>>>>>>> a=fmtp:101 0-15
>>>>>>>> a=rtpmap:101 telephone-event/8000
>>>>>>>> a=sendrecv
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sat, Aug 5, 2017 at 10:30 AM, Joel Serrano <joel at gogii.net>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Ok, so clearly you have not tried what Daniel suggested...
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *IN a regexp ^ matches the beginning of the line/string, and $
>>>>>>>>> matchesthe end. So "^000$" only matches exactly "000" and not
>>>>>>>>> "000xxxx"Remove the $ to match strings begining with 000.*
>>>>>>>>>
>>>>>>>>> Rules:
>>>>>>>>> ======
>>>>>>>>> dpid: 1
>>>>>>>>> pr: 1
>>>>>>>>> match_op: 1
>>>>>>>>> match_exp: ^000$
>>>>>>>>> match_len: 0
>>>>>>>>> subst_exp: ^0000$
>>>>>>>>> repl_exp:
>>>>>>>>> attrs:
>>>>>>>>>
>>>>>>>>> Can you see you still have the $ char at the end of match_exp and
>>>>>>>>> subst_exp?
>>>>>>>>>
>>>>>>>>> To begin with, do you know how regular expressions work? Because
>>>>>>>>> that is the first thing you need to know to correctly use the dialplan
>>>>>>>>> module.
>>>>>>>>>
>>>>>>>>> That said you need a match expression, a substitute expression,
>>>>>>>>> and a replace expression...
>>>>>>>>>
>>>>>>>>> Try with:
>>>>>>>>>
>>>>>>>>> Rules:
>>>>>>>>> ======
>>>>>>>>> dpid: 1
>>>>>>>>> pr: 1
>>>>>>>>> match_op: 1
>>>>>>>>> match_exp: ^000[0-9]+$  <<<<<<< This will trigger a match on any
>>>>>>>>> number that will start with three zeros.
>>>>>>>>> match_len: 0
>>>>>>>>> subst_exp: ^000([0-9]+)$  <<<<<<< If the match_exp is found, then
>>>>>>>>> create a group with the desired part of the number, in this case,
>>>>>>>>> everything after the three zeros.
>>>>>>>>> repl_exp: \1   <<<<<<< \1 is a back reference to group 1, in this
>>>>>>>>> case the number you selected in subst_exp, without the three zeros.
>>>>>>>>> attrs:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> What isn't clear to me is that 91 you are talking about in your
>>>>>>>>> email, you might have to exclude/include that in your regex.
>>>>>>>>>
>>>>>>>>> Have a look at https://www.kamailio.org/do
>>>>>>>>> cs/modules/devel/modules/dialplan.html#dialplan.installation
>>>>>>>>>
>>>>>>>>> You have a couple examples that might make it more clear.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Let me know if it helps.
>>>>>>>>>
>>>>>>>>> Joel.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Aug 4, 2017 at 9:18 PM, Logeshwaran G <
>>>>>>>>> logeshwarangs at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Yes I have Tried, please find below the Rules I have applied and
>>>>>>>>>> the Result:
>>>>>>>>>>
>>>>>>>>>> Rules:
>>>>>>>>>> ======
>>>>>>>>>> dpid: 1
>>>>>>>>>> pr: 1
>>>>>>>>>> match_op: 1
>>>>>>>>>> match_exp: ^000$
>>>>>>>>>> match_len: 0
>>>>>>>>>> subst_exp: ^0000$
>>>>>>>>>> repl_exp:
>>>>>>>>>> attrs:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I am Calling to the number 00091xxxxxxxxxx , But its saying as
>>>>>>>>>> Too many Hops.
>>>>>>>>>>
>>>>>>>>>> Its only looking for 000, Its not taking the 91xxxxxxxxxx
>>>>>>>>>> numbers, If I call 000 only its replacing with the given number in the Rule
>>>>>>>>>> table.
>>>>>>>>>>
>>>>>>>>>> I need to Remove only the first 3 digits, and the other numbers
>>>>>>>>>> should go to the call.
>>>>>>>>>>
>>>>>>>>>> For Example If I am calling 00091xxxxxxxxx, It should remove the
>>>>>>>>>> first 3 digits 000 and 91xxxxxxxxx call should be place.
>>>>>>>>>>
>>>>>>>>>> Please Guide me for removing the first three digits alone and
>>>>>>>>>> other numbers should takes place.
>>>>>>>>>>
>>>>>>>>>> On Fri, Aug 4, 2017 at 6:43 PM, Joel Serrano <joel at gogii.net>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Have you tried what Daniel suggested?
>>>>>>>>>>>
>>>>>>>>>>> Share the results of the tests and we can go from there.
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Aug 3, 2017 at 21:34 Logeshwaran G <
>>>>>>>>>>> logeshwarangs at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Input Please!!
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Aug 3, 2017 at 5:08 PM, Logeshwaran G <
>>>>>>>>>>>> logeshwarangs at gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks a lot!
>>>>>>>>>>>>>
>>>>>>>>>>>>> But for my scenario,
>>>>>>>>>>>>>
>>>>>>>>>>>>> If I am Dialling 000919999999999, need to remove the first
>>>>>>>>>>>>> three digits 000, so the call should go to 919999999999.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am stucked to create the rule for the above scenario, Kindly
>>>>>>>>>>>>> help me for the same.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Kind Regards,
>>>>>>>>>>>>> Logeshwaran
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Aug 3, 2017 at 4:48 PM, Daniel Tryba <d.tryba at pocos.nl
>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thu, Aug 03, 2017 at 04:00:45PM +0530, Logeshwaran G wrote:
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> > +----+------+----+----------+-
>>>>>>>>>>>>>> ----------+-----------+-----------+----------+-------+
>>>>>>>>>>>>>> > | id | dpid | pr | match_op | match_exp | match_len |
>>>>>>>>>>>>>> subst_exp | repl_exp
>>>>>>>>>>>>>> > | attrs |
>>>>>>>>>>>>>> > +----+------+----+----------+-
>>>>>>>>>>>>>> ----------+-----------+-----------+----------+-------+
>>>>>>>>>>>>>> > |  1 |    1 |  1 |        1 | ^000$     |         0 |
>>>>>>>>>>>>>> ^000$     |
>>>>>>>>>>>>>> > |       | 111
>>>>>>>>>>>>>> > +----+------+----+----------+-
>>>>>>>>>>>>>> ----------+-----------+-----------+----------+-------+
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>> > The above rule replacing only the 000, If we Dial 000xxxx
>>>>>>>>>>>>>> its omitting,
>>>>>>>>>>>>>> > While Dialing 000 its replacing that with 111.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> IN a regexp ^ matches the beginning of the line/string, and $
>>>>>>>>>>>>>> matches
>>>>>>>>>>>>>> the end.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> So "^000$" only matches exactly "000" and not "000xxxx"
>>>>>>>>>>>>>> Remove the $ to match strings begining with 000.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> 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 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 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 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 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 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/20170808/ad4cf4f0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 266703 bytes
Desc: not available
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170808/ad4cf4f0/attachment.png>


More information about the sr-users mailing list