Creating an Australian Digit Map and designing Call Routes for OBi Devices Important Note: Before you begin to make configuration modifications to your OBi device, please note that the modifications discussed have been made via the OBi Expert configuration pages within the OBiTALK portal. The configuration is also supported via the Web UI on your OBi device. If you choose to make these changes directly on your OBi device rather than via the OBiTALK cloud management portal, please ensure you have disabled OBiTALK provisioning. • • • • • • Version 1.1 As a primer, setup your OBiTALK account and follow the instructions in the portal to get your OBi Device working with your SIP voice service. You will notice that a short time after you click “Submit” when making changes via the OBiTALK portal, the device will restart. During this process you can continue to make further changes via the OBiTALK portal. If you hit submit again during this process, the device will simply reboot itself again. If you want to test voice features as you make changes, ensure you wait for the OBi device to fully reboot before testing your changes. Once the OBi device has restarted and settled into idle state your custom changes will become available. This may take a bit of getting used to for some users who are used to working directly on the device, however as the device configuration pages are still available even when the device is undergoing a reboot, it means you can potentially work faster via the OBiTALK portal than you can directly on the device. Note, where the document refers to ITSP (Internet Telephony Service Provider) this refers to the preferred Australian definition of VSP (Voice Service Provider). What will be achieved at completion of this tutorial? You will be able to dial 8-‐digit numbers within your area code without the preceding (0x) The Australian numbering plan will be converted to an OBi digit map 112 emergency dial number enabled via remapping to 000 Your outbound calls will be directed either to your SIP voice account or to the PSTN* based on the number dialed. (Requires OBiLINE*) Your OBiLINE will be configured for the Australian PSTN Your OBi device will use Australian progress tones and ringing patterns Deployment Diagram: What You Need: As shown in the picture, you will need the following items: • An OBi with a SIP voice service correctly configured Use the OBiTALK.com portal to easily set-‐up the SIP Voice account. • An analog phone connected to Phone 1 port • An optional analog line connected to Phone 2 port • An optional OBiLINE USB FXO adapter Concept of digit maps and Inbound + Outbound call routes: This document is designed to give you an understanding of the parameters within your Obihai device that define digit maps and call routing between ports and services, both inbound and outbound. An overview of the menus you'll become familiar with: Service Providers Under this menu we define the parameters for our SIP voice service(s). This will include the server details for your ITSP/VSP(s) as well as the digit map for each of your respective ITSP/VSP(s). All that the digit map does is look at the number sequence that has been dialled and if that number meets the criteria of the map then the call is placed. A digit map can be written to disable calls to specific number ranges (for example blocking premium-‐rate numbers) or to transcribe an entered number into something else (for example taking a local phone number and adding an STD code to the start). ITSP profiles can either face outward (OBi WAN port) or inward (OBi LAN port), from the perspective of the OBi device. For example, the SIP Proxy Server for your SIP calling service would be defined as an outward-‐facing service as it uses an IP address or domain name that is WAN-‐side to the OBi device. However, you can also create a local ITSP profile that points at the OBi device itself and presented on the LAN-‐side of the OBi device – in this case that would be a service with the SIP Proxy Server defined as the local host – 127.0.0.1. This is the approach we will use later in this example to allow an IP phone to register to the OBi Device. Voice Service Under this menu we define the Voice services that are available on the OBi device. These voice services can be visualised as a virtual service in the device in that each of these services doesn’t terminate on a physical, analog voice interface. These are SP1 – SP4 (These voice services are associated with an ITSP profile) as well as self-‐contained services (ie they don’t need an ITSP profile) such as OBiTALK peer-‐to-‐peer calling, the Auto Attendant, OBiBT Bluetooth calling via Bluetooth cellular devices, trunk groups and the OBiPLUS service. Physical Interfaces Here we can define the operating parameters for the physical interfaces on the OBi device. These are visualised as a physical part of the OBi, with the device (or PSTN service) attached to the Physical Interface treated as “part of the OBi”. These interfaces are the Phone (FXS) ports of the device and the Line (FXO) port of the device (when you attach the optional OBiLINE USB adapter). These interfaces are “self-‐contained” and can terminate calls – whereas on the Voice services the calls are terminated on an external call processor – be it an IP-‐voice service WAN-‐side or an IP-‐Phone or other IP-‐Voice device LAN-‐side to the OBi device. User Settings for User Defined Digit Maps Here we define our own digit maps for use across the OBi. By creating the digit maps first, we can create much more simple and readable digit maps and call rules across the device. Setup voice services on the OBi Follow the instructions that came with your OBi device to complete the initial device configuration via the OBiTALK portal. During this configuration you can skip the process to add Google Voice to your device as this service is due to be discontinued. Confirming our initial setup in OBi Expert Config. Go into OBiTALK and you'll see your OBi Dashboard. Click the cog symbol device you wish to configure: to the right of the At the next screen, scroll down the page and click OBi Expert Configuration: You'll see a popup confirming you want to enter OBi Expert, click OK. In the next screen, click Enter OBi Expert: We are now going to check the settings that OBiTALK has configured for us for the Profile of the SIP account and the SIP service itself. Obihai devices allow the user to configure the service settings for the SIP account against the ITSP Profile in the Service Providers menu. The ITSP profile also contains the digit map to be used with that specific SIP service. The SP service, located under the Voice Service menu is where you define which ITSP profile this service is to use (ie the ITSP’s server settings and digit map), the user credentials to use with the associated ITSP profile and how to treat inbound calls received from the associated ITSP profile. • • • • Now let’s check that ITSP Profile A and SP1 on the OBi202 have been configured with the proper SIP account details whilst following the initial setup wizard: First go into the Service Providers menu and check that: ITSP Profile A/General/SignalingProtocol = SIP Next go into the Voice Service menu and check that: SP1 Service/X_ServProvProfile = A SP1 Service/AuthUserName = my_SIP_username SP1 Service/AuthPassword = my_SIP_password Connect your (optional) OBiLINE and configure for Australia Select Line from Physical Interfaces: Scroll down to PSTN Disconnect Detection and set: • DisconnectTonePattern 425-‐30;10(.375+.375) Scroll down to Port Settings and set: • ACImpedance 220+(820||120 nF) (Note, select the option "220+(820||120 nF) and 220+(820||115 nF)") • OnHookSpeed 26 ms (Australia) • CurrentLimitingEnable Disable (Default) • CallerIDDetectMethod FSK (Bell 202) (Default) Scroll down to Ring Detection and set: • RingFrequencyMin 10 • RingFrequencyMax 100 • RingThreshold 13.50-‐16.50 • RingValidationTime 256 Configure Phone Ports for Australia: Select Phone 1 from Physical Interfaces: Next, set the correct impedance for the Phone port: 220+(820||115 nF) You'll find the impedance menu located under port settings: You can repeat this process for Phone 2. Change the call progress tones and ringing patterns By default, OBi devices are pre-‐loaded with Australian progress tone and ringing patterns. To enable we set both the Tone Profile and Ring Profile to Profile B from the default setting of profile A. To regionalise the Phone ports, first go into PHONE 1 under physical interfaces: Then scroll down to the Calling Features section and change the ToneProfile to B: You can repeat this process for Phone 2. Next we need to change the ring profile for our SIP voice service: Change X_RingProfile to B: If required, you can also repeat this process for SP2, SP3 and SP4. To regionalise the OBiLINE, go into LINE under physical interfaces: And change RingProfile and ToneProfile to B: Define the Australian numbering system We are going to use the OBi’s user-‐defined digit maps to define the digit maps we call when creating our call flow. We will group out digit maps together by call type, so we’ll create a digit map for local 8-‐digit dialling, another for national dialling, one for emergency services and so on. We have listed each area code’s local digit map – please ensure you only use the one that applies to your local dialling area! Let’s establish the entire number set that can be dialled as an Australian OBi user: Number Dialled Description Local Numbers within the 02 area code: 3xxx xxxx 3xxx xxxx 4xxx xxxx 4xxx xxxx 5xxx xxxx 5xxx xxxx 6xxx xxxx 6xxx xxxx 7xxx xxxx 7xxx xxxx 8xxx xxxx 8xxx xxxx 9xxx xxxx 9xxx xxxx Local Numbers within the 03 area code: 4xxx xxxx 4xxx xxxx 5xxx xxxx 5xxx xxxx 6xxx xxxx 6xxx xxxx 7xxx xxxx 7xxx xxxx 8xxx xxxx 8xxx xxxx 9xxx xxxx 9xxx xxxx Local Numbers within the 07 area code: 2xxx xxxx 2xxx xxxx 3xxx xxxx 3xxx xxxx 4xxx xxxx 4xxx xxxx 5xxx xxxx 5xxx xxxx 7xxx xxxx 7xxx xxxx Local Numbers within the 08 area code: 5xxx xxxx 5xxx xxxx 6xxx xxxx 6xxx xxxx 7xxx xxxx 7xxx xxxx 8xxx xxxx 8xxx xxxx 9xxx xxxx 9xxx xxxx International Numbers: 0011 numbers of variable length for International access 0011xx. National Numbers: 01 xxxx xxxx Australian satellite-‐based phone numbers 01 xxxx xxxx 02 xxxx xxxx NSW, ACT 02 xxxx xxxx 03 xxxx xxxx VIC, TAS 03 xxxx xxxx 04xx xxx xxx Mobiles 04xx xxx xxx 05 xxxx xxxx Location Independent 05 xxxx xxxx 07 xxxx xxxx QLD 07 xxxx xxxx 08 xxxx xxxx SA, NT, WA 08 xxxx xxxx Emergency Numbers: 000 Emergency 000 112 Emergency, transcribed to dial 000 112 Free Call Numbers: 1800 xxx xxx 1800 xxx xxx 180x xxx 180x xxx Local Rate Numbers: 1300 xxx xxx 1300 xxx xxx 13 xx xx 13 xx xx Special Numbers: 1100 – Dial Before You Dig 1100 114x xxxx – Mass calling service 114x xxxx 119x – Community service 119x 122x – Operator services 122x 1225 – International directory assistance 1225 123x – Operator services 123x 124xx – Operator services 124xx 125xxx – Telstra Mobile Services 125xxx 1268x – Internal network services 1268x 1268 xxxx – Internal network services 1268 xxx 1268 xxx xxx – Internal network services 1268 xxx xxx 127 – Variable length testing numbers 127x. 1282 – Call information service 1282 128xx – Call information service 128xxx 15 – Variable length Internal network testing 15x. Premium Numbers: 190x xxx xxx – Premium rate services 190x xxx xxx So what we are going to do now is create a user defined digit map for each of the number groups we’ve identified. Digit Map Syntax I’m now going to explain the syntax we’ll use for our digit maps. This is not exhaustive, but covers the syntax we’ll use in our digit maps. A digit map serves to transform and restrict the number that may be dialed or called, and determine whether sufficient digits have been dialed by the user to form a complete number. Each map is composed of one or more rules surrounded by round brackets ( ) that MUST NOT be omitted. Here is the general format of a digit map: (rule|rule|rule|rule|rule) -‐ The vertical bars | separate each rule. The digit map can contain extra white spaces for readability, the OBi will ignore the spaces when reading the digit map. This should help to make your rules more readable. element and literals – the numbers we dial (elements) and send (literals) For our setup, they can be any combination of 0-‐9,*,# (+,-‐,A-‐Z,a-‐z are also valid. M, s, S, x, X are reserved and have special meaning in the digit map syntax) Now, let’s look at the syntax that can form each rule: x -‐ lowercase x • will match the digits 0,1,2,3,4,5,6,7,8 or 9 • x is a wild card digit that matches any digit from 0-‐9. x is CASE SENSITIVE • If we write (123 xxx xxx) it will match 123 456 789, 123 999 888 and so on x. -‐ lowercase x. (lowercase x-‐dot) • When we use x. will match 0 or more x so if we write (123x.) it will match 123, 1237 1239555 etc • When we use xx. it will match one or more x so if we write (123xx.) It will match 1237 1239555 etc but not 123 • And so xxx. will match 2 or more digits, xxxx. will match 3 or more digits and so on X – UPPERCASE X • will match the digits 0,1,2,3,4,5,6,7,8,9 or *. • This is equivalent to writing a rule with lowercase x and adding the * additionally. UPPERCASE X is the same as writing either of the following: [x*] or [0-‐9*x] (characters in square brackets are explained a little further down) x? – lowercase x? (lowercase x-‐questionmark) • x? matches 0 or 1 x so if we write (12x?) it will match a number in the form of 12 or 12x meaning 12 or 121 or 124 etc would be matched. It won't match anything longer than 12x such as 1249. • xxxx? matches 3 or 4 x so if we write (12xxxx?) it will match 12xxx or 12xxxx meaning 12455 or 12999 or 124556 or 121111 etc would all match, however a number in the form of 12x such as 123 won't match as it doesn't have enough digits, nor would a number of the form 12xxxxxx such as 12555666, as it has too many digits. @ – At symbol @ • a wildcard character that matches any A-‐Z, a-‐z, 0-‐9, * characters except # • Used in the same way as x or X, it just includes a wider range of characters to match [123-‐7] or [135] – matches a digit against any number within the square brackets [ ] • A set of 1 or more digits surrounded by pair of square brackets [ ] will match any digit in the set. The dash – represents an inclusive digit range, for example writing [0-‐3] is the same as writing [0123] • If we write (0[234578]xxxx xxxx) it will match any number starting with 02, 03, 04, 05, 07 or 08 followed by exactly 8 digits. (0[234578]xxxx xxxx) is the same as writing (02xxxx xxxx|03xxxx xxxx|04xxxx xxxx|05xxxx xxxx|07xxxx xxxx|08xxxx xxxx) • You can use alphanumeric and wildcard inside a set [ ], such as [x], [X#], [@#], [a-‐zA-‐Zx] S, S0, S1, S2, ...S9 -‐ UPPERCASE S digit timer of 0 through to 9 seconds • S is equivalent to S1; S0 is the same as “blank”. You can use multiple S elements together if you need more than a 9 second timeout, such as S9S5 for a 14s timeout. • S is CASE SENSITIVE. It should only be used either as the first element of a rule for hot/warm line implementation, or as the last element of a rule as a means of overriding the default interdigit timer • If we write (02xxxx xxxxS5) the digit map will wait for 5 seconds before matching the number -‐ so if we dial 02 5555 6666 the rule will match and wait 5 seconds before sending on. <elements:literals> -‐ This is a substitution rule inside pointy brackets < > and is used to transform digits • This rule can be used to either remove digits from a dialed number, add digits to a dialed number or transform a dialed number. • First, let's look how to transform one number into another. In this case we are going to transform the entered digits of 112 to send out 000. To do this we would write <112:000> we are saying take 112 and replace it with 000 • Next, let's strip off preceeding digits in a number, in this case if a user dials 02 xxxx xxxx let's send on just the xxxx xxxx without the 02, so <02:>xxxx xxxx -‐ we are saying take 02 and replace it with nothing and the match the next 8 places (xxxx xxxx). • If we want to add to the start of a dialled number, for example to add 02 to the start of an 8-‐ digit number, we would write <02>xxxx xxxx or <:02>xxxx xxxx • Finally, to create a hotline to 1234 we would write <:1234> -‐ where we are saying if the user enters nothing then send 1234. This can also be written as <1234>. (map) An embedded digit map for matching subsequent digits. (Mlabel) A named embedded digit map for matching subsequent digits, where label is one of abbreviated terminal names. Possible choices are: • (Msp1) for SP1 Service::DigitMap • (Msp2) for SP2 Service::DigitMap • (Msp3) for SP3 Service::DigitMap • (Msp4) for SP4 Service::DigitMap • (Mpp) for OBiTALK Service::DigitMap • (Mli) for LINE Port1::DigitMap • (Mph) for PHONE Port::DigitMap • (Mph2) for PHONE2 Port::DigitMap • (Maa) for Auto Attendant::DigitMap • (MtgN) for TrunkGroupN::DigitMap, N=1,2,3,4 • (MvgN) for VoiceGatewayN::DigitMap, N=1,2,3,4,5,6,7,8 (!1900x.) -‐ ! call barring rule • To bar users from calling numbers that match a rule, add a ‘!’ in front of that rule in the digit map. The rule is then referred to as a barring rule. Create User Defined Digit Maps We've now presented the form of all the Australian numbers we want to dial and have listed the syntax we'll use. We're now ready to implement our user-‐defined digit maps. First, select User Defined DigitMaps: You'll see there is already a digit map added by default: This digit map is called ipd and is referred to using (Mipd). This digit map is to enable IPv4 dialing. If you have no wish for this feature you can remove the details in this digit map for re-‐use. Local Dialing Digit Map -‐ loc -‐ (Mloc) First we are going to create our local dialing digit map. We shall use Queensland as our example, so use the appropriate numbering plan for your state to enable 8-‐digit local dialing. We are going to label this digit map loc and we'll be able to use the digit map in our syntax later on by referring to this map as (Mloc). You have freedom to label as you wish, so you could call it local (Mlocal), queensland (Mqueensland) as you like. Numbers within the (07) Queensland area code take the form of: 2xxx xxxx, 3xxx xxxx, 4xxx xxxx, 5xxx xxxx, 7xxx xxxx So we can dial a 2,3,4,5 or 7 followed by 7 digits. We will also want to add the 07 area code to outbound calls, so our voice service provider can process the call accurately. So, we'll border our rule with round brackets, ( ) then add 07 to our numbers using <:07> or <07> then match either 2,3,4,5 or 7 using [23457] and then match the final 7 digits with xxx xxxx Our digit map for loc will read as follows: (<:07>[23457]xxx xxxx) or (<07>[23457]xxx xxxx) And we enter it into the OBi as follows: Note, uncheck "OBiTALK Settings" and "Device Default" in order to change the field. International Dialing Digit Map -‐ int -‐ (Mint) International numbers are reached by first dialing 0011 then the country code, area code then local number. As many numbering systems are in use globally, it's easiest to write a catch all expression for all numbers starting with 0011 regardless of length. For example, dialing a number in San Jose, USA would have the form of 0011 1 408 xxx xxxx (0011 followed by 11 digits) whereas calling a mobile phone in Norfolk Island would have the form 0011 672 3 5x xxx (0011 followed by 9 digits). Short of writing a digit map that incorporates every number system in use globally, it's easier to use a catch-‐all for all numbers dialed after the international prefix of 0011. Our digitmap for int will read as follows: (0011xx.) Which says match any number that starts with 0011 and has one or more proceeding digits. We enter this into the OBi as follows: National Dialing Digit Map -‐ nat -‐ (Mnat) National numbers take the following form: 01 xxxx xxxx, 02 xxxx xxxx, 03 xxxx xxxx, 04xx xxx xxx, 05 xxxx xxxx, 07 xxxx xxxx, or 08 xxxx xxxx We'll border our rule with round brackets, ( ) then match 0 followed by 1,2,3,4,5,7, or 8, followed by eight digits: (0[1234578]xxxx xxxx) We enter this into the OBi as follows: Emergency Number Digit Map -‐ sos -‐ (Msos) 000 is the national emergency number dialed from landline phones in Australia. Additionally, 112 is used, but is typically only supported on cellular devices. So, in order to process an emergency call entered as 112, we're going to send it to 000. So we need to border our rule with round brackets ( ) then match 000, we'll separate this first rule with a bar | then our next rule will match 112 and send it as 000 using <112:000> as follows: (000|<112:000>) We enter this into the OBi as follows: Free-‐Call Number Digit Map -‐ fre -‐ (Mfre) Free-‐Call 1800 numbers can take the form of 1800 xxx xxx or 180x xxx This rule is straight forward for us to write: (1800xxx xxx|180x xxx) We enter this into the OBi as follows: Local-‐Rate Non-‐Geo Number Digit Map -‐ lrn -‐ (Mlrn) Local-‐rate non-‐geographic numbers can take the form of 1300 xxx xxx or 13 xx xx and we would write this rule as follows: (1300xxx xxx|130xx xx) We enter this into the OBi as follows: Special Number Digit Map -‐ spe -‐ (Mspe) We need to allow easy dialing of special numbers for network services and so forth. Special numbers in Australia have the following number forms: 1100, 114x xxxx, 119x, 122x, 1225, 123x, 124xx, 125xxx, 1268x, 1268 xxx, 1268 xxx xxx, 127x., 1282, 128xxx, 15x. Of the numbers above, most have a fixed length, except numbers starting with 127 and 15 which can be an arbitrary length. As such, our digit map will read as follows: (1100|114x xxxx|119x|122x|1225|123x|124xx|125xxx|1268x|1268 xxx|1268 xxx xxx|127x.|1282|128xxx|15x.) We enter this into the OBi as follows: Premium Rate Number Digit Map -‐ pre -‐ (Mpre) Lastly we'll create a digit map for premium rate numbers. Premium rate numbers take the form of 190 followed by seven digits, as such our digit map will have the following form: (190x xxx xxx) We enter this into the OBi as follows: We now have the following digit maps defined in the OBi: Label Digit Map (Mipd) (xx.<*:@>xx?x?<*:.>xx?x?<*:.>xx?x?<*:.>xx?x? |xx.<*:@>xx?x?<*:.>xx?x?<*:.>xx?x?<*:.>xx?x?<*::>xx?x?x?x?) Note: (Mipd) is added to your device by default to enable ipv4 dialing. If you don't require this feature then you are free to use this space for another digit map (Mloc) (Mint) (Mnat) (Msos) (Mfre) (Mlrn) (Mspe) (<:07>[23457]xxx xxxx) or (<07>[23457]xxx xxxx) (0011xx.) (0[1234578]xxxx xxxx) (000|<112:000>) (1800xxx xxx|180x xxx) (1300xxx xxx|130xx xx) (1100|114x xxxx|119x|122x|1225|123x|124xx|125xxx|1268x|1268 xxx|1268 xxx xxx|127x.|1282|128xxx|15x.) (190x xxx xxx) (Mpre) Line Selection Codes for outbound terminals Our user defined digit maps will be used to automatically match (and in turn direct) numbers entered on the Analog Phone. However, there may be occasions when the OBi user wishes to send a call out via a specific service. Line selection codes enable this. When we use a line selection code to dial a number, we want the OBi to use the selection code to determine which Digit Map to apply to the proceeding numbers and to not include the line selection code when sending that number on via it's outbound terminal. Action Line Selection Digit Map to apply Code 1* -‐ 99* 1* -‐ 99* (Mpli) Primary or default line's digit map None, calls the auto attendant, AA Call the Auto Attendant **0 None, calls the auto attendant, AA2 Call the second Auto Attendant *** None, calls phone 2, PH2 Call Phone 1 from Phone 2 (and vice-‐versa) # Take the PSTN off hook ready to make a call None, takes the PSTN off-‐hook via LI ## Make a call via the PSTN using it's digit map (Mli) **70 (Mli) Make a call via a cellular device connected to a **8 (Mbt) USB dongle and use the (Mbt) digit map Make a call via a cellular device connected to the **81 (Mbt) first USB dongle and use the (Mbt1) digit map Make a call via a cellular device connected to the **82 (Mbt2) second USB dongle and use the (Mbt2) digit map Make a call via SP1 and use the (Msp1) digit map **1 (Msp1) Make a call via SP2 and use the (Msp2) digit map **2 (Msp2) Make a call via SP3 and use the (Msp3) digit map **3 (Msp3) Make a call via SP4 and use the (Msp4) digit map **4 (Msp4) Make a call via OBiTALK and use the (Mpp) digit **9 (Mpp) map And so, our digit map for our Line Selection Codes would read as follows: ( ([1-‐9]x?*(Mpli)|**0|***|#|##|**70(Mli)|**8(Mbt)|**81(Mbt)|**82(Mbt2) |**1(Msp1)|**2(Msp2)|**3(Msp3)|**4(Msp4)|**9(Mpp) ) We can now create our digit map for Phone 1 by combining our user defined digit maps and our line selection codes. Our rules work in order, so let's choose the order for our rules: Rule Rule Rule Action Order 1 (Msos) Match Emergency Numbers THEN 2 (Mfre) Match Free-‐Call Numbers THEN 3 (Mlrn) Match Local-‐Rate Numbers THEN 4 (Mspe) Match Special Numbers THEN 5 (Mpre) Match Premium Rate Numbers THEN 6 (Mloc) Match Local Numbers THEN 7 (Mint) Match International Numbers THEN 8 (Mnat) Match National Numbers THEN 9 [1-‐9]x?*(Mpli) Match 1* -‐ 99* then match the remainder of digits using (Mpli) THEN 10 **0 Match **0 THEN 11 *** Match *** THEN 12 # Match # THEN 13 ## Match ## THEN 14 **70(Mli) Match **70 then match the remainder of digits using (Mli) THEN 15 **8(Mbt) Match **8 then match the remainder of digits using (Mbt) THEN 16 **81(Mbt) Match **81 then match the remainder of digits using (Mbt) THEN 17 **82(Mbt2) Match **82 then match the remainder of digits using (Mbt2) THEN 18 **1(Msp1) Match **1 then match the remainder of digits using (Msp1) THEN 19 **2(Msp2) Match **2 then match the remainder of digits using (Msp2) THEN 20 **3(Msp3) Match **3 then match the remainder of digits using (Msp3) THEN 21 **4(Msp4) Match **4 then match the remainder of digits using (Msp4) THEN 22 **9(Mpp) Match **9 then match the remainder of digits using (Mpp) THEN 23 (Mpli) Match anything else with the primary/default line's digit map (Mpli) And so our digit map for Phone 1 will read as follows: ((Msos)|(Mfre)|(Mlrn)|(Mspe)|(Mpre)|(Mloc)|(Mint)|(Mnat)|[1-‐ 9]x?*(Mpli)|**0|***|#|##|**70(Mli)|**8(Mbt)|**81(Mbt)|**82(Mbt2)|**1(Msp1)|**2(Msp2)|**3 (Msp3)|**4(Msp4)|**9(Mpp)|(Mpli)) Now select PHONE 1: Delete the existing digit map, then enter our new one into the OBi: You can also enter this digit map into Phone 2, if you wish phone 2 and phone 1 to have the same dialing behaviour. Creating Outbound Call Routes Outbound Calls can specify which trunks to use based on the digit map or number dialed, with rules in this format: {rule},{rule},{rule},{rule} rule = {callee-‐list : terminal} callee-‐list = terminal = {callee|callee : PHx, AAx, SPx, LIx, or PPx} callee = number OR (digit-‐map) OR @ (@=any number) • Rules are tested from left to right • Only one terminal is supported per rule • First matched rule will be selected Let's choose where we want to send our calls based on the number entered by the user: Call Type Digit Map Name Terminal to send to Calls within our area code (Mloc) SP1 (Our SIP voice service) International Calls (Mint) SP1 National Calls (Mnat) SP1 Emergency Numbers (Msos) LI (Our OBiLINE) Free-‐call Numbers (Mfre) LI Local-‐rate numbers (Mlrn) LI Special Numbers (Mspe) LI We will also need to ensure we include our line selection codes, either using the default codes or our custom line selection codes we created earlier: Line Selection Code Digit Map to apply Terminal to send to 1* -‐ 99* (Mpli) Primary or default line's digit map PP (OBiTALK) None, calls the auto attendant, AA **0 AA None, calls the auto attendant, AA2 *** AA2 None, calls Phone 2 PH2 from Phone 1 # PH2 and vice versa None, takes the PSTN off-‐hook via LI ## LI **70 (Mli) LI **8 (Mbt) BT **81 (Mbt) BT **82 (Mbt2) BT2 **1 (Msp1) SP1 **2 (Msp2) SP2 **3 (Msp3) SP3 **4 (Msp4) SP4 **9 (Mpp) PP Rule Order 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 As with our digit maps, we want emergency numbers to be matched and routed first, so let's choose the order for our rules: Rule Rule Action {(Msos):LI} {(Mfre):LI} {(Mlrn):LI} {(Mspe):LI} {(!(Mpre):} {(Mloc):SP1} {(Mint):SP1} {(Mnat):SP1} {([1-‐9]x?*(Mpli)):PP} {**0:AA} {***:AA2} {(<#:>):PH2} {(<##:>):LI} {(<**70:>(Mli)):LI} {(<**8:>(Mbt)):bt} {(<**81:>(Mbt)):bt} {(<**82:>(Mbt2)):bt2} {(<**1:>(Msp1)):sp1} {(<**2:>(Msp2)):sp2} {(<**3:>(Msp3)):sp3} {(<**4:>(Msp4)):sp4} {(<**9:>(Mpp)):pp} {(Mpli):pli} Match Emergency Numbers AND route to LI THEN Match Free-‐Call Numbers AND route to LI THEN Match Local-‐Rate Numbers AND route to LI THEN Match Special Numbers AND route to LI THEN Block Premium Rate Numbers THEN Match Local Numbers AND route to SP1 THEN Match International Numbers AND route to SP1 THEN Match National Numbers AND route to SP1 THEN Match 1*-‐ 99* AND match proceeding digits using (Mpli) AND route to PP THEN Match **0 AND route to AA THEN Match *** AND route to AA2 THEN Match AND remove # AND route all proceeding digits to PH2 THEN Match AND remove ## AND route all proceeding digits to LI THEN Match AND remove **70 AND match proceeding digits using (Mli) AND route to LI THEN Match AND remove **8 AND match proceeding digits using (Mbt) AND route to BT THEN Match AND remove **81 AND match proceeding digits using (Mbt) AND route to BT THEN Match AND remove **82 AND match proceeding digits using (Mbt2) AND route to BT2 THEN Match AND remove **1 AND match proceeding digits using (Msp1) AND route to SP1 THEN Match AND remove **2 AND match proceeding digits using (Msp2) AND route to SP2 THEN Match AND remove **3 AND match proceeding digits using (Msp3) AND route to SP3 THEN Match AND remove **4 AND match proceeding digits using (Msp4) AND route to SP4 THEN Match AND remove **9 AND match proceeding digits using (Mpp) AND route to PP THEN Match anything else with the primary/default line's digit map (Mpli) AND route to the primary/default line pli Based on this our outbound call route for Phone 1 will read as follows: {(Msos):LI},{(Mfre):LI},{(Mlrn):LI},{(Mspe):LI},{(!(Mpre):},{(Mloc):SP1},{(Mint):SP1},{(Mnat):SP1}, {([1-‐ 9]x?*(Mpli)):PP},{**0:AA},{***:AA2},{(<#:>):PH2},{(<##:>):LI},{(<**70:>(Mli)):LI},{(<**8:>(Mbt)):bt},{(< **81:>(Mbt)):bt},{(<**82:>(Mbt2)):bt2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):s p3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli} Whilst this Outbound Call Route is accurate, there is further scope for us to make our syntax more compact. We can optionally do this by grouping our rules for each terminal: {(Msos)|(Mfre)|(Mspe)|(<##:>)|(<**70:>(Mli)):LI},{(Mloc)|(Mint)|(Mnat)|(<**1:>(Msp1)):SP1},{(<**2 :>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{([1-‐9]x?*(Mpli))| (<**9:>(Mpp)):PP},{**0:AA},{***:AA2},{(<**8:>(Mbt))| (<**81:>(Mbt)):bt},{(<**82:>(Mbt2)):bt2},{(Mpli):pli} So now go to Phone 1 on our OBi Device: Delete the existing outbound call route and enter our outbound call route for Phone 1 into our OBi Device: Phone 2 will use an almost identical outbound call route, the difference being this rule will need to change: Match AND remove # AND route all proceeding digits to PH2 THEN {(<#:>):PH2} Which for phone 2 will need to direct to phone 1. So simply use the same rule set as above but replace PH2 with PH1 in the above rule. {(<#:>):PH1}: Match AND remove # AND route all proceeding digits to PH1 THEN {(<#:>):PH1} Finally, we need to ensure SP1 and LI have an accurate digit map to use for matching calls. Assuming both SP1 and LI support the full range of Australian numbers then the digit map for both would read: ((Msos)|(Mfre)|(Mlrn)|(Mspe)|(Mpre)|(Mloc)|(Mint)|(Mnat)) We can set this digit map for LI by going to the Line Port under Physical Interfaces: Delete the existing digit map and enter our digit map as follows: Additionally, if you have kept the user defined digit map (Mipd) in place and wish to enable IPv4 dialing, the we would add (Mipd) to out digit map in ITSP profile A: ((Msos)|(Mfre)|(Mlrn)|(Mspe)|(Mpre)|(Mloc)|(Mint)|(Mnat)|(Mipd)) Enter the digit map for your SIP voice service under ITSP profile A: Delete the existing digit map and enter our new digit map as follows: You should now have a working digit map and outbound call routes that are specific to Australian Numbers.
© Copyright 2024 ExpyDoc