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(a)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(a)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@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@45.249.123.97>
> From: 7777<sip:7777@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@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(a)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(a)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(a)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(a)gmail.com>
>>>> wrote:
>>>>
>>>>> Input Please!!
>>>>>
>>>>> On Thu, Aug 3, 2017 at 5:08 PM, Logeshwaran G <
>>>>> logeshwarangs(a)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(a)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(a)lists.kamailio.org
>>>>>>>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>>>
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Kamailio (SER) - Users Mailing List
>>>>> sr-users(a)lists.kamailio.org
>>>>>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>>
>>>>
>>>> _______________________________________________
>>>> Kamailio (SER) - Users Mailing List
>>>> sr-users(a)lists.kamailio.org
>>>>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing List
>>> sr-users(a)lists.kamailio.org
>>>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users(a)lists.kamailio.org
>>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users(a)lists.kamailio.org
>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org