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