VoIP hardware is developing fast - this is where you ask all those “how do I make my SIP Telephone, Adapter or Asterisk box work with my voip provider?” questions.

Advertisement

By Sponsor
User avatar
By cecilrhode
#5155
Hi
For reasons known only to themselves, my SIP provider uses the code *141 to withhold the dialling number, ie the normal 141 but with star in front.

Now, I have copied and edited a dial plan from this site to use with my Linksys PAP2 adapter. It works fine, and I can withhold numbers by dialling *141. However, I'd like to withhold my number the normal way, using just 141 so I'm looking for a substitution that would allow 141 to be input, but dialled as *141. I haven't had any look. The number dials but gives an error tone and doesn't connect.

I've tried <141:*141> & <1[4][1]: *1[4][1]> and a few others.

My dial plan looks like this:
(<*141xxxxxxxxxxx.|xxxxxxxxxxx.)
ie, it dials a normal 11 digit number, with/without *141 in front.

I'm happy with a simple dial plan, as there's only me using it, I'm willing to take responsibility for inputting a number in the correct format, and as the numbers I dial are 11 digits long, the above is ok. I would like to avoid using *141 though, as I've started using it on my mobile by mistake and obviously it doesn't dial.

I would have thought such a substitution would be simple but this is my first foray into dial plans and but I can't work it out. Can any one offer any ideas?
TIA

Best answer by WelshPaul » Fri 19th January 2018, 11:07
cecilrhode wrote:Hi
I've tried <141:*141> & <1[4][1]: *1[4][1]> and a few others.

My dial plan looks like this:
(<*141xxxxxxxxxxx.|xxxxxxxxxxx.)
ie, it dials a normal 11 digit number, with/without *141 in front.
You were close, try this:
Code: Select all
(*xx|<141:*141>xxxxxxxxxxx.|xxxxxxxxxxx.)
Now, when dialling 14101234567890 on your telephone keypad, your PAP2 should dial out with *14101234567890

View Post

Advertisement

By Sponsor
User avatar
By WelshPaul
#5156
cecilrhode wrote:Hi
I've tried <141:*141> & <1[4][1]: *1[4][1]> and a few others.

My dial plan looks like this:
(<*141xxxxxxxxxxx.|xxxxxxxxxxx.)
ie, it dials a normal 11 digit number, with/without *141 in front.
You were close, try this:
Code: Select all
(*xx|<141:*141>xxxxxxxxxxx.|xxxxxxxxxxx.)
Now, when dialling 14101234567890 on your telephone keypad, your PAP2 should dial out with *14101234567890
User avatar
By cecilrhode
#5157
Brilliant! Thanks a lot. I must admit to spending an hour or so so trying different patterns, starting from scratch, and learning as I went.

I bet it took you about 10 secs to work it out! Haha

I had (<141:*141>|xxxxxxxxxxx.) which didn't work. I thought that would allow the number to be dialled directly but also for optional number withholding. Obviously I don't yet understand how dial plans works. Is there a simple explanation why that pattern doesn't work whilst (<141:*141>xxxxxxxxxxx.) does?

Incidentally, am I right that (<:*141>xxxxxxxxxxx.) on its own will always withhold the number without any prefix being dialled?

As a bonus the suggested pattern also works with international numbers in the form (*xx|<141:*141>xxxxxxxxxxx.|xxxxxxxxxxx.|00[1-9]x.)
Is that because <141:*141>xxxxxxxxxxx.| just happens to duplicate the international part which is effectively redundant? I haven't had time to test that theory yet, but I suppose it could be important to someone wanting to block international calls.
User avatar
By WelshPaul
#5158
cecilrhode wrote: Fri 19th January 2018, 19:17 I bet it took you about 10 secs to work it out! Haha
10? more like 3 seconds! ;-)

Check out this post: viewtopic.php?t=147 and this one: viewtopic.php?t=1007
cecilrhode wrote: Fri 19th January 2018, 19:17 I had (<141:*141>|xxxxxxxxxxx.) which didn't work.
The "|" in the above dial plan ends separates each sequence. So your dial plan above would work like this:
  • <141:*141> - Dial 141 and a match is made, changes 141 to *141 and dials out.
  • xxxxxxxxxxx. - Dial eleven digits or more and the phone will dial out after a few seconds as defined in the devices configuration settings.
If you had used "(<141:*141>xxxxxxxxxxx.)" then it would work as one, like so:
  • <141:*141>xxxxxxxxxxx.
So, based on the above dial plan, pressing 141 on your telephones keypad will result in a match with "<141:*141>" and your PAP2 would convert the 141 to *141 but it won't dial out just yet! The device will wait for more inputs as instructed by this "xxxxxxxxxxx." part of the above dial plan. A good example is Sipgate! Sipgate requires users to dial 50000 to access their voicemail service but by using <50000:1571> in our dial plan like so "(<50000:1571>|xxxxxxxxxxx.)", we can access it by dialling 1571.

If you replace the xxxxxxxxxxx. with xxxxxxxxxxx (no full stop at the end), once the 11th digit has been pressed on the telephones keypad, your Linksys PAP2 will process the call immediately and dial out, any extra digits dialled after the 11th digit will be ignored.
cecilrhode wrote: Fri 19th January 2018, 19:17 Incidentally, am I right that (<:*141>xxxxxxxxxxx.) on its own will always withhold the number without any prefix being dialled?
Yes. :thumbsup:
cecilrhode wrote: Fri 19th January 2018, 19:17 As a bonus the suggested pattern also works with international numbers in the form (*xx|<141:*141>xxxxxxxxxxx.|xxxxxxxxxxx.|00[1-9]x.)
Is that because <141:*141>xxxxxxxxxxx.| just happens to duplicate the international part which is effectively redundant? I haven't had time to test that theory yet, but I suppose it could be important to someone wanting to block international calls.
What you posted above breaks down to three separate sequences and they are:
  • <141:*141>xxxxxxxxxxx. - Allows for dialling withheld numbers to 11 digit phone numbers or more
  • xxxxxxxxxxx. - Allows for dialling 11 digit phone numbers or more
  • 00[1-9]x. - Allows for dialling international numbers or 4 digit numbers or more starting with 00
Because you have the full stop at the end, you're allowing numbers ranges of any length. So, this "00[1-9]x." isn't needed because xxxxxxxxxxx. will match the same string. ;-)

This might help you understand better: https://toao.net/108-linksys-dial-plan-tips

FYI, if you want to block a number range, use the following format:
  • 09! = Blocks premium rate numbers
  • 07989! = Blocks calls to mobile numbers starting with 07989
So if I was to use this:
  • (<*xx|0xxxxxxxxxx|<141:*141>0xxxxxxxxxx|09!|xx.)
The "*xx" part will allow me to use start codes such as "*69" call return.
The "0xxxxxxxxxx" part allows me to dial 11 digit numbers starting with a zero, e.g. 01211234567
The "<141:*141>0xxxxxxxxxx" part allows me dial 141 before any 11 digit numbers starting with a zero so I can hide my number.
The "09!" blocks premium rate number calling.
The "xx." part will match any other numbers I enter but won't dial out for up to 10 seconds.
CJT-80 liked this
User avatar
By cecilrhode
#5171
Thanks
I had already read those links (but now I have an operating manual courtesy of one of the links).
My problem stemmed from a fundamental misunderstanding of how the codes worked. I thought that they were modular, ie several parts of the code could be matched in series to the input, whereas as soon as part of the code matches a diallable number, the number is dialled. Hence I was constructing the code such as (<141:*141>|xxxxxxxxxxx.) thinking that the <141:*141> would then be conjoined with the next input xxxxxxxxxxx. and dialled if appropriate when in reality, the | separator ends the matching attempt and dialling starts.

The dial plans works well now, and as I said, because only I use it, I don't need any complicated number matching and I don't mind waiting 3 secs before the number is dialled, so thanks a lot.

Advertisement

By Sponsor
Gigaset N300A IP

Thanks for checking, I was curious, wondering if w…

Pitney Bowes Franking Machine

Im with FP and their tech team is very good with r…

Supported Products: OBi504vs OBi508vs Firm…

Supported Products: OBi200 OBi202 OBi300 OB…

Sign up for full membership