News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

Dial plan explanation

Started by QBZappy, December 02, 2010, 10:25:46 PM

Previous topic - Next topic

KenC_OB

#140
Quote from: zapattack on April 27, 2013, 01:15:12 AM
Admin manual has everything.
http://www.obihai.com/OBiAdminGuide.htm#_Toc333506161

Thank you - that does seem to have what I need, will study up a bit later.


Quote
Try changing:  |<1847>[2-9]xxxxxx|<1847478>xxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

to
|<1847>[2-9]xxxxxxS0|<1847478>xxxxS0|011xx.S2|xx.|(Mipd)|[^*#]@@.)



Quote from: ianobi on April 27, 2013, 02:43:55 AM
There are two interdigit timers 10 seconds and 2 seconds. In your digit map most of the dialled numbers will automatically be using the 2 second interdigit timer.

Be very careful of using S0 to force the interdigit timer to 0 seconds. A rule such as <1847478>xxxxS0 will match any number as soon as the first four digits have been dialled and no other rules can be used.

Yes, when I read the suggestion above to use S0, it did seem that would trigger a dial as soon as 4 digits were dialed and that would be a problem when dialing a full area code or exchange. I'll follow your examples below.

Quote
We can all be a bit slow dialling from the phone. I know I sometimes stop to re-read a number halfway through dialling! I suggest a 4 second interdigit timer where duplication of the first few digits is possible. You know them, so you might want to make that longer. I suggest for your In-Laws:

Service Providers > ITSP Profile A > General > DigitMap:
(*xx.|**275*x.|[3469]11|1xxxxxxxxxxS0|<1>[2-9]xxxxxxxxxS0|<1847>[2-9]xxxxxxS4|<1847478>xxxxS4|011xx.|xx.)

I've dropped |(Mipd)|[^*#]@@. From the digit map as these are for ip address and sip uri address calling, which I guess will not be needed here.

The four digit dialling is unusual. Is there a chance any of the four digit numbers starts 311x, 411x, 611x or 911x ? If so, there are obvious problems!

Thanks, I will drop the |(Mipd)|[^*#]@@ since it is not needed and just confuses things. I assume this isn't needed for direct no-charge CallCentric-to-CallCentric calls (177xxxxxx #'s)? One often-called relative has CallCentric, so the free calling would be a plus.  

Good point on the 4 digits and 311x, 411x, 611x or 911x conflict - I missed that possibility. So a call to someone with a 4 digit # like 6113 would match to 611 and go to cust service. I suppose a delay on the x11 would help, but probably best for that to be immediate. OTOH, their calling list is not large, I doubt there are any 311x, 411x, 611x or 911x numbers that they use, and I can check that. I suppose I could do "*" for four digit dialing?  I'm not sure how to code that so the * isn't dialed, I'll check that admin guide for that.

update: "*" is already used by CallCentric for features, so I will try with "#" instead - see follow-up post


Thanks so much for the fast feedback, this really helps.

KenC



ianobi

#141
The Callcentric to Callcentric calls should be processed by the 1xxxxxxxxxxS0 rule.

You may wish to consider setting up speed dials for often used numbers. An OBi has 99 speed dials using single and double digits from 1 to 99. Speed dial 1 is reserved for a softphone.


KenC_OB

Quote from: ianobi on April 27, 2013, 10:08:30 AM
The Callcentric to Callcentric calls should be processed by the 1xxxxxxxxxxS0 rule.

You may wish to consider setting up speed dials for often used numbers. An OBi has 99 speed dials using single and double digits from 1 to 99. Speed dial 1 is reserved for a softphone.

Thanks for that validation. I have set up a few of the Obi100 speed dials, these are helpful. I'll see about setting up more for their other friends/family.

So I read up, and if I decide to go this route, it seems this could do the # plus 4 digit number to short-cut dial in the 847-478 exchange:

|<#:>1847478xxxx|

So dialing #xxxx will match, and the # will be removed and the 1847478 pre-pended, so 1847478xxxx will be dialed. Is that right? Since we are using the # as a 'trigger' no timeout should be required, it should be unique.

-KenC




ianobi

I see how you are thinking. The rule you would need is:
|<#:1847478>xxxx|

Let's try to keep it simple. Using the digit map as I proposed, if you dial four digits followed by # then the rule |<1847478>xxxxS4| would be processed instantly.

Dialling # after any number of digits forces the interdigit timer to 0 and instantly executes the rule. So if your In-Laws are ok with that, then it's simple and can be applied to any number - four digits, seven digits etc. I suggest leaving the S4 in place in case they forget to dial the # at the end of the number.

KenC_OB

#144
Quote from: ianobi on April 27, 2013, 11:43:42 AM
I see how you are thinking. The rule you would need is:
|<#:1847478>xxxx|

Let's try to keep it simple. Using the digit map as I proposed, if you dial four digits followed by # then the rule |<1847478>xxxxS4| would be processed instantly.

Dialling # after any number of digits forces the interdigit timer to 0 and instantly executes the rule. So if your In-Laws are ok with that, then it's simple and can be applied to any number - four digits, seven digits etc. I suggest leaving the S4 in place in case they forget to dial the # at the end of the number.

I gotcha, thanks - I see now I had the 1847478 in the wrong place.

I think I'll go with the # plus four digit rule for in the exchange calls. |<#:1847478>xxxx|

It seems the other one would still have the 311, 411, 611, 911 conflict? That's what I figured hitting # first would do - just in case someone has a number like 478-6113 it can't match 611 as they dial since it would be dialed as #6113.

They live in a retirement community, so lots of acquaintances are in the same exchange. This will make it similar to calling another room in the same hotel - I think they'll like that.  We will also get them some phones with the BIG keypads on them, that helps with the sight and dexterity problems.

I think I have a handle on this, will try it out next week when I go over there to rewire them after their number is ported. Thanks so much for the help!

-KenC

KenC_OB

The number was ported, so I went over today to re-wire and set these dial maps. Here's an update:

Recall I wanted to allow for "1" plus 10 digit dialing, 10 digit dialing, 7 digit dialing in the Area Code, and 4 digit dialing in the exchange.

Based on input here, and a few other things I saw from other sources ( like [2-9] for both Area Codes and Exchanges where applicable), I tried the following map:

(*xx.|**275*x.|[3469]11|1[2-9]xx[2-9]xxxxxxS0|<1>[2-9]xx[2-9]xxxxxxS0|<1847>[2-9]xxxxxxS4|<#:1847478>xxxx|011xx.|xx.)


"1" plus 10 digit dialing, and 7 digit dialing worked, but 10 digit dialing did not. I almost went blind looking for an extra space, a missing "|" or ":" something - couldn't find anything. So I tried the # plus 4 digit dialing, and I got kicked out as soon as I hit the #. So I decided to delete that for now (low priority anyway), in case that rule was interfering somehow (but I don't see how). So now:

(*xx.|**275*x.|[3469]11|1[2-9]xx[2-9]xxxxxxS0|<1>[2-9]xx[2-9]xxxxxxS0|<1847>[2-9]xxxxxxS4|011xx.|xx.)

Then 1 plus 10, 10, and 7 digit dialing worked. So I decided to just drop the 4 digit idea for now (though it would be nice).

I tried one more thing - I saw the example of a "warm" line in the guide, a number that would be dialed automatically after the specified wait with no digits entered. They've been known to knock the phone off the hook and not notice, so this would be set to call us if that happened. So I added a 27 second wait to try (planned to make it 90 seconds if it worked) - |<S9S9S9:our-11-digit-number-here>| , but it timed out back to dial tone (or fast busy? Off-Hook tone?) right at 20 seconds. Maybe it would work with a 19 second delay, but I didn't want it calling us for that - and my wife agreed ;) .

So that get's us there for the key stuff, thanks to all for your help. I just realized I forget to check CallCentric's * codes, they should be OK with the *xx. rule (and I did check them before), so I'm sure they work - and they don't use them anyhow, so no big deal. And we've got one more 'BIG BUTTON" phone to help with the eye-sight and dexterity issues, plus I'll add some more speed dials for them when they are ready.

-KenC


ianobi

KenC,

I'm glad you have all the basics working. I had another look at the four-digit dialling idea and I can see why it does not work.

This rule should work:
Service Providers > ITSP Profile A > General > DigitMap:
(*xx.|**275*x.|[3469]11|1[2-9]xx[2-9]xxxxxxS0|<1>[2-9]xx[2-9]xxxxxxS0|<1847>[2-9]xxxxxxS4|<#:1847478>xxxx|011xx.|xx.)

The problem is the "#" is matched here before it can be used as you want:
Physical Interfaces > PHONE Port > DigitMap:
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**3(Mvg1)|**9(Mpp)|(Mpli))

To make your rule work you would have to remove "#" from the Phone Port DigitMap. This should solve your problem, but would remove the ability to use "#" at the end of dialling any number to tell the OBi to send the number out with no delay. This may or may not matter to your In-Laws.

There's just not enough buttons on an average phone!




KenC_OB

Quote from: ianobi on May 03, 2013, 03:50:20 AM
KenC,

I'm glad you have all the basics working. I had another look at the four-digit dialling idea and I can see why it does not work.

...

To make your rule work you would have to remove "#" from the Phone Port DigitMap. This should solve your problem, but would remove the ability to use "#" at the end of dialling any number to tell the OBi to send the number out with no delay. This may or may not matter to your In-Laws.

There's just not enough buttons on an average phone!

Ahh - that explains it. I could play with some other combinations, but it doesn't really seem worth it to eliminate dialing a 3 digit exchange, so I think I'll leave it as is.

I'm still somewhat curious why 10 digit dialing didn't work, but it's academic now as I have what I need.


Hmmm, I guess you can do partial dials with speed dial? So I could set up speed dial 9 as "1847478" then they dial 4 digits - that seems simple enough?

-KenC

Shale

#148
Quote from: KenC_OB on May 03, 2013, 09:03:42 AM
Ahh - that explains it. I could play with some other combinations, but it doesn't really seem worth it to eliminate dialing a 3 digit exchange, so I think I'll leave it as is.
Does the as-it-is include the suggestion in Reply #143? You could increase the S4 to S8 if you  expect to normally use the # after the 4 digits. That would make the possibility of accidental dialing less if the number entry of bigger numbers was slow.

Combine that with specific quick dials, and you should be good. If the users have letters on their keypad, you can make meaningful speed dials that would be thought of as KC#, for example, to dial speed dial slot 52. I thought that was very useful when somebody posted that suggestion.

KenC_OB

Quote from: Shale on May 03, 2013, 09:32:37 AM

Does the as-it-is include the suggestion in Reply #143? You could increase the S4 to S8 if you  expect to normally use the # after the 4 digits. That would make the possibility of accidental dialing less if the number entry of bigger numbers was slow.

Combine that with specific quick dials, and you should be good. If the users have letters on their keypad, you can make meaningful speed dials that would be thought of as KC#, for example, to dial speed dial slot 52. I thought that was very useful when somebody posted that suggestion.

Sorry, I should have been clearer - my 'as is' is currently:

(*xx.|**275*x.|[3469]11|1[2-9]xx[2-9]xxxxxxS0|<1>[2-9]xx[2-9]xxxxxxS0|<1847>[2-9]xxxxxxS4|011xx.|xx.)

I did not include the suggestion from post #143:
QuoteLet's try to keep it simple. Using the digit map as I proposed, if you dial four digits followed by # then the rule |<1847478>xxxxS4| would be processed instantly.

my concern there was (rare as it would likely be), that was pointed out earlier - if one of those 4 digit numbers was 311x, 411x, 611x or 911x, the |[3469]11| rule would gobble it up.

I guess my next step is, when I have some time, since I am on PhonePower and they are on CallCentric, I guess we can call straight thru the internet and avoid per minute charges, using SIP Broker? I'll google a bit. and that sounds like a new thread if I need help.

-KenC

Shale

Quote from: KenC_OB on May 03, 2013, 09:45:47 AM

my concern there was (rare as it would likely be), that was pointed out earlier - if one of those 4 digit numbers was 311x, 411x, 611x or 911x, the |[3469]11| rule would gobble it up.

|[3469]11S4| would introduce a 4 second delay. It may or may not be worth doing.

On the other hand, if there were no 911x numbers that they would ever dial (encompassing a maximum of 10 phone numbers total), then you could have a special rule for 911 and |[346]11S4| for the less critical ones.

KenC_OB

Quote from: Shale on May 03, 2013, 09:54:10 AM
Quote from: KenC_OB on May 03, 2013, 09:45:47 AM

my concern there was (rare as it would likely be), that was pointed out earlier - if one of those 4 digit numbers was 311x, 411x, 611x or 911x, the |[3469]11| rule would gobble it up.

|[3469]11S4| would introduce a 4 second delay. It may or may not be worth doing.

On the other hand, if there were no 911x numbers that they would ever dial (encompassing a maximum of 10 phone numbers total), then you could have a special rule for 911 and |[346]11S4| for the less critical ones.

Something like that did cross my mind, though it didn't occur to me to break out 911 separate and immediate - seems like a reasonable approach. I think I'll give that a try. Thanks.

-KenC

affled

I've got a question about automatically injecting a Star Code into a dialed number and have the commands in the corresponding Star Code apply to that call.  Is it possible using DigitMap in the Phone port or DigitMap in the ITSP profile?

my original post is here: http://www.obitalk.com/forum/index.php?topic=6625.0

Thanks in advance.

lifeisfun

Just purchased obi200 but the configuration is so different from Sipura I would need some help.
I like to have one main provider that will be used by default when I pick up the phone, and by dialing #1 (#2 #3) it would route the call to provider 2 3 4. On any choice of provider I like to be able to dial any digit/*/# combination.

Can someone please give me hand with that  ???

Thanks!

Shale

Quote from: lifeisfun on October 25, 2013, 02:53:43 AM
Just purchased obi200 but the configuration is so different from Sipura I would need some help.
I like to have one main provider that will be used by default when I pick up the phone, and by dialing #1 (#2 #3) it would route the call to provider 2 3 4. On any choice of provider I like to be able to dial any digit/*/# combination.

Already built in is that to call 9876543210 on provider 2, you can dial **29876543210. If you dial just 9876543210, it goes via the provider you had set as the default.

azrobert

#155
Quote from: lifeisfun on October 25, 2013, 02:53:43 AM
I like to have one main provider that will be used by default when I pick up the phone, and by dialing #1 (#2 #3) it would route the call to provider 2 3 4. On any choice of provider I like to be able to dial any digit/*/# combination.

# is an OBi reserved character and has a special function. It indicates end of string and any digits dialed BEFORE the # will be immediately processed by the OBi. However the OBi will allow the 1st character dialed to be a #, so you can accomplish most of what you want.

x on a DigitMap indicates a single digit. Upper case X indicates a digit or asterisk. Placing a period after the x indicates zero or more occurrences.

You did not specify any requirement on length of the dialed string, so this example is crude.

In the Phone Port DigitMap place the following AFTER the beginning parenthesis:
#[123]XX.|

Place the following at the beginning of the Phone Port OutboundCallRoute:
{(<#1:>XX.:sp2},{(<#2:>XX.:sp3},{(<#3:>XX.:sp4},

The above will allow 1 or more digits/asterisks to be routed out your trunks.
You are specifying an unlimited length string when using XX., so the OBi will wait up to 10 seconds after you stop dialing for additional digits. You can dial a # after the last digit to eliminate the pause.

If you want to send the string with a trailing # do this:

{(<#1:>XX.<#>:sp2}

azrobert

Quote from: affled on September 13, 2013, 09:17:10 PM
I've got a question about automatically injecting a Star Code into a dialed number and have the commands in the corresponding Star Code apply to that call.  Is it possible using DigitMap in the Phone port or DigitMap in the ITSP profile?

my original post is here: http://www.obitalk.com/forum/index.php?topic=6625.0

Thanks in advance.

I got it to work by adding a Star Code entry like this:

1623(<1623>xxxxxxx), Modem Call, set($Noji1,200),set($Noec1,1),set($Cdm1,3), call($Code)

Then I dialed 16231234567

There is a disagreement on this forum on the sequence of events after dialing a Star Code.

I believe the Phone Port DigitMap gets control first. If the DigitMap gets a match it passes control directly to the OutboundCallRoute, bypassing the Star Code profile. The dialed string must FAIL in the Phone Port DigitMap before the Star Code profile gets control, therefore you MUST REMOVE any rule in the DigitMap that will match the dialed string.

lifeisfun

Quote from: azrobert on October 25, 2013, 04:08:11 PM
Quote from: lifeisfun on October 25, 2013, 02:53:43 AM
I like to have one main provider that will be used by default when I pick up the phone, and by dialing #1 (#2 #3) it would route the call to provider 2 3 4. On any choice of provider I like to be able to dial any digit/*/# combination.

# is an OBi reserved character and has a special function. It indicates end of string and any digits dialed BEFORE the # will be immediately processed by the OBi. However the OBi will allow the 1st character dialed to be a #, so you can accomplish most of what you want.

x on a DigitMap indicates a single digit. Upper case X indicates a digit or asterisk. Placing a period after the x indicates zero or more occurrences.

You did not specify any requirement on length of the dialed string, so this example is crude.

In the Phone Port DigitMap place the following AFTER the beginning parenthesis:
#[123]XX.|

Place the following at the beginning of the Phone Port OutboundCallRoute:
{(<#1:>XX.:sp2},{(<#2:>XX.:sp3},{(<#3:>XX.:sp4},

The above will allow 1 or more digits/asterisks to be routed out your trunks.
You are specifying an unlimited length string when using XX., so the OBi will wait up to 10 seconds after you stop dialing for additional digits. You can dial a # after the last digit to eliminate the pause.

If you want to send the string with a trailing # do this:

{(<#1:>XX.<#>:sp2}


Thanks for the detailed explanation and help!
I'll try that, and most likely will ask for help if I'm in trouble again :)

Quote from: Shale on October 25, 2013, 07:14:48 AM
Quote from: lifeisfun on October 25, 2013, 02:53:43 AM
Just purchased obi200 but the configuration is so different from Sipura I would need some help.
I like to have one main provider that will be used by default when I pick up the phone, and by dialing #1 (#2 #3) it would route the call to provider 2 3 4. On any choice of provider I like to be able to dial any digit/*/# combination.

Already built in is that to call 9876543210 on provider 2, you can dial **29876543210. If you dial just 9876543210, it goes via the provider you had set as the default.
Thanks

Shale

Quote from: lifeisfun on October 26, 2013, 04:53:42 AM

I presume that sp1 is set as default line, just out of curiosity where do you change that? I didn't find that option.

If using OBiTalk, in the setup for SP1, there is a box to tick: Primary Line for Outgoing Calls. With my OBi202, each SP has 2 boxes to tick or not, because there are two phone ports.

affled

Quote from: azrobert on October 25, 2013, 05:58:53 PM
Quote from: affled on September 13, 2013, 09:17:10 PM
I've got a question about automatically injecting a Star Code into a dialed number and have the commands in the corresponding Star Code apply to that call.  Is it possible using DigitMap in the Phone port or DigitMap in the ITSP profile?

my original post is here: http://www.obitalk.com/forum/index.php?topic=6625.0

Thanks in advance.

I got it to work by adding a Star Code entry like this:
Thank you, I hope to give that a try
1623(<1623>xxxxxxx), Modem Call, set($Noji1,200),set($Noec1,1),set($Cdm1,3), call($Code)

Then I dialed 16231234567

There is a disagreement on this forum on the sequence of events after dialing a Star Code.

I believe the Phone Port DigitMap gets control first. If the DigitMap gets a match it passes control directly to the OutboundCallRoute, bypassing the Star Code profile. The dialed string must FAIL in the Phone Port DigitMap before the Star Code profile gets control, therefore you MUST REMOVE any rule in the DigitMap that will match the dialed string.