[SR-Users] Issue in Dialplan Module

Joel Serrano joel at gogii.net
Sat Aug 5 17:49:16 CEST 2017


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=z9hG4bK0d36.
> 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/docs/modules/devel/modules/dialp
>> lan.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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170805/4da9ab73/attachment.html>


More information about the sr-users mailing list