background image
OEM Customer Programmable Dialer
Engineering Programming 1








       Customer Programmable Dialer
Engineering Program Functions
 







Rev 300605 ­ correct command to program route type and exceptions in examples
background image
OEM Customer Programmable Dialer
Engineering Programming 2
1.0 Digit Matching

The OEM Inteli-Route dialer has 16 general-purpose routes available, see Diagram 1.
Diagram 1 ­ Inteli-Route Dialer Routes

(Note all pictures are screen shots from the OEM Customer programming tool -
Combined Activate.)

Each route is split up into 4 parts a) the route dial code b) the route prefix and c) the route
time (not shown) and d) the route type (not shown).

Digits dialed by the customer are matched against the digits stored in the dial code and if
the digits match, that route is checked to see if its time profile is valid (not shown). If it is
a valid time then the digits stored in the route prefix section are dialed to line (including
any delays).

If the route is a Standard route (see route types) then the digits dialed by the customer
will then be dialed to line and the router will go to sleep, allowing any other digits dialed
by the customer to go direct to the telephone line.
background image
OEM Customer Programmable Dialer
Engineering Programming 3
If there is no match with the digits in one route, then the next route will be checked for a
match until all routes have been tested when the default route will be executed. The
default route is always executed if no other route is matched (and the digits dialed aren't
in the exception list ­ see Exceptions).

Here is an example using a typical plan for the UK (Figure 2)

Figure 2 ­ Simple Plan for the UK

In the UK, local calls start with 2 to 9, (Local Route, above route 7), National calls start
with 01 or 02 (route 8), International calls start with 00 (route 9) and mobile calls start
with 077,078 or 079 (route 10).

Note ­ this is a typical plan for the UK. However the choice of routes for local, national
etc are just arbitrary choices. The local route could have been in any available route. Also
note that the prefixes for the local route include a code (the STD) which must be dialed
before the customer dialed digits only in the local route. This STD code is changed for
each location that a dialer is installed and is usually programmed by the Management
Platform automatically.

Lets assume that the customer dials the number 01383 8xxxxx. Initially the dialer stores
the customer digits and nothing goes to the line. As the digits are dialed each route is
background image
OEM Customer Programmable Dialer
Engineering Programming 4
checked in turn from the top (route 1) to the bottom (route 15, marked Other 5 in Figure
2) for a match. In this case there is a match found on route 8 against the dial code 01
(which matches the digits dialed by the customer 01383) and this route is executed
(ignoring route times). The dialer dials 1664 to line and then the digits the customer has
dialed (01383....) and the goes to sleep.

Now assume the customer dials 0906 xxxxxxxx (this is a high rate number in the UK).
Routes 1 to 15 are checked but there is no match in any route code so the default route is
executed. The dialer dials 1664 to line and the the customer number 0906........

The default UK plan reserves route 1 for PBX digits, routes 2 and 3 for short code dialing
(##1 dials a long number), Route 4 for CLI control (customer can dial 141 or 1470 in
front of a number but the number should still be routed) and Route 5 for Exception-to-
exceptions (codes which override the exceptions).

1.1 Exceptions

The dialer can store a large number of exceptions, or matched digits (Up to 120) that
should always be sent to line. Figure 3 shows typical exceptions for the UK
Figure 3. UK Exceptions
background image
OEM Customer Programmable Dialer
Engineering Programming 5
Any numbers dialed by the customer that starts with these exception digits will
automatically be sent to line rather than being checked on the routes (note see Advanced
Dialer Operation for an explanation of how the exception mechanism is controlled by the
route types).

In the UK hash (#) and star(*) are used for service programming and 1 is used for
operator services. 999 is the emergency services code.

There is room in exceptions for approximately 120 characters which is approximately 40
­ 3 digit codes (the codes are packed in a compressed manner which makes it hard to
predict how many codes you can store).

There is a special route in the UK plan called `exception to exception' route (route 6) -
which allows you to override exceptions for particular numbers (in the UK example
above you could enter 192 ­ directory enquiries in the exception-to-exception route and
have this code routed to a service provider. This would override the 1 exception digit for
only this number ­ 192).


1.2 Dial Codes

The digits dialed by the customer are checked against each routes dial codes until a match
is found and that route is then executed (if it has a valid time band).

The routes are checked from route 1 down to route 15. To ensure correct operation you
should position single digit checks of the same digit in a higher number route than double
digit check of the same digit. For example if you programmed the routes like this:-

Route 8 ­ Dial code 0
Route 9 ­ Dial code 00

then route 9 would never be executed as route 8 would always match with anything
beginning with 0 (except if route 8 is not in a valid time band).

There is room for a maximum of 32 characters in a dial code. Because of the way the
characters are packed (see Packing Digits in Digit Routes) it is difficult to predict how
many codes you can store in each Dial Code but there is room for approximately 15 two-
digit codes.

All digits that can be entered on a normal telephone can be used as dial code digits, but
note that there are two special digits which can be used for advanced programming of the
dialer, digit hex D - wildcard and digit hex 0 (not the same as the 0 on the telephone
keyboard which is hex A) ­ which means check flag. These are explained in advanced
programming.
background image
OEM Customer Programmable Dialer
Engineering Programming 6

1.3 Route Prefixes

After the route dial codes have been matched to the customers dialed digits the digits in
the route prefixes are dialed to line and if the route is a Standard route the dialer goes to
sleep.

There can be a maximum of 32 characters in the prefix digits and as this route is not
packed you can store 32 digits to be dialed without pauses or any other functions. You
can insert a pause anywhere in the prefix digits of up to 7 seconds (note that Activate has
3 pause areas defined. This is just for customer convenience in programming as pauses
can be placed anywhere in the prefix digits and you can have as many pauses as you have
room in the route.)

Each pause is 2 characters (hex D and the pause character in half seconds from 0 to hex E
­ See Advanced Programming).

There are also a set of functions which can be inserted anywhere in the prefix digits using
the hex E character, followed by two parameter characters. These allow special functions
to be programmed like tone detect and call back (see Advanced Programming).
background image
OEM Customer Programmable Dialer
Engineering Programming 7

1.4 Route Types

Each of the 15 routes has a route type associated with it. So far, all the examples have
used the Standard Route type, but there are a total of 15 route types available, although
not all are useful. Route types can only be changed using a special version of Activate or
with engineering programming from the telephone keypad (see Advanced programming).
Figure 5 shows the route type screen from Activate.
Figure 5. Route types
There are 3 fundamental route types which control how the customers dialed digits are
dialed with the route prefix digits.

Standard route types dial the matched customer digits AFTER the prefix digits.
Strip routes deletes the digits matched in the dial code of the route and then dials the
prefix digits and then any customer dialed digits after the matched digits. (Used for short
code dialing e.g. ##1 would dial a number but not the ##1).
Pre-dial route dials the matched digits before the prefix digits and then any other digits
the customer has entered.
background image
OEM Customer Programmable Dialer
Engineering Programming 8
Each of these 3 routes can set the dialer to go to sleep after the prefix digits have been
dialed (normal route) or continue checking the subsequent routes against the customer
remaining dialed digits (Continue route). Also any one of these routes can force a recheck
of the exceptions after finishing its operation (Advanced Dialer Operation).

There is a special route type used for PBX digits. If the digits don't match the PBX route
digit then the dialer goes to sleep, otherwise it enables normal routing.

List of Route Type Codes

Value
Description
0
Standard
1
Strip
2
Pre-Dial
3
Call Bar
4
Standard and Continue
5
Strip and continue
6
Pre-Dial and Continue
7
Special route ­ do not use
8
Standard and Continue Recheck Exceptions
9
Strip and Continue Recheck Exceptions
10
Pre-Dial and Continue Recheck Exceptions
11
PBX Recheck Exceptions
12
PBX
13
Standard and Recheck Exceptions
14
Strip and Recheck Exceptions
15
Pre-Dial and Recheck Exceptions


background image
OEM Customer Programmable Dialer
Engineering Programming 9
2.0 Advanced Dialer Operation

2.1 Exception Checking

Although each route in the dialer operates independently from every other route to
provide a completely working dialer solution the route types must be carefully combined
together to make a working set.

Routes are split into two types: those routes that need to be executed before the
exceptions are checked and those that must be checked after the exceptions are checked.
Refer to the UK standard programming figure for this discussion:-
UK Standard Plan

In this plan the first 6 routes (The PBX route, Short code route, CLI control route, Barred
route and Exception-to-exception route) must be checked before the exceptions are
checked, and all the other routes checked after the exceptions have been tested.

A simple example demonstrates this. If # is in the exceptions and ##1 is used to dial a
short code then the exceptions would trap the # before the short code route was executed.
However, if the exceptions are checked after route 6 in the above example, then short
code ##1 operates correctly
background image
OEM Customer Programmable Dialer
Engineering Programming 10
It is important to select the correct route type for each of these special routes 1 to 6.

PBX route 1 ­ should be a Standard route (STD) if no PBX digit defined and a PBX route
if there is a PBX digit ­ note this is automatically programmed by both Activate and the
Management center software, and there is support for Engineer programming of this from
the telephone keypad (see Advanced Programming).

Short Codes route 2 and 3. These need to be a strip route to prevent the customers digits
going to line (e.g. ##1).

CLI control (route 4) is a Standard and Continue route. In the UK the customer can
control whether the person he is dialing can see his CLI or not using these codes.The
dialer must allow these codes to go to line unchanged, but resume digit matching on the
next digits entered by the customer for proper routing. For example 1470 01962... should
still match with the national (01) route and ignore the 1470.

Barred (route 5) allows number barring. It uses call bar route type (BAR). Any set of
digits that matches this route will leave the dialer in a suspended state blocking digits to
line until the customer hangs up. It would normally be used with complete numbers, but
can also be used to bar access to high rate dial codes (like 09 in the UK).

Exc-to-Exc (route 6) is a standard route with a recheck of the exceptions. After this route
the exceptions are checked WHETHER the route is matched or not. This route divides
the routes into 2 parts. Routes 1 to 6 are performed before the exceptions are checked and
routes 7 to 15 and default (0) route are performed after the exceptions have been checked.

The diagram below shows these routes (with the PBX route not having a digit and
therefore set as a normal route) in a typical UK dialer.
background image
OEM Customer Programmable Dialer
Engineering Programming 11
background image
OEM Customer Programmable Dialer
Engineering Programming 12
2.2 Route Times

A route will only be executed if its time profile is valid at the time the route is checked.
Below is a picture of the route time screen from Activate.
Route Times
If a route time is blank then this is used as a `don't care' state and is ignored on the time
test. Routes can be valid on certain days of the week, or between a start and end time.
Note the start hour of a route MUST be less then the end hour ­ the time cannot cross
midnight.

Times are entered using the 24-hour clock. Dates are entered as DD MM YY.

The clock can be set manually through the telephone (see advanced programming).

Normal usage for timed routes is to switch the routing to different carrier at peak times
than at off peak times. To achieve this you must use two routes. The lower numbered
route (tested first) should contain one of the time periods (usually the Peak time) and the
next route should be valid at all times. For example:-

Route 9 matches 00 (international calls) between 8am and 6pm
background image
OEM Customer Programmable Dialer
Engineering Programming 13
Route 10 matches 00 anytime (no need to specify the time on this route-valid at all
times).

When an international call is dialed in peak time, route 9 will be valid and executed.
When the same call is dialed at off-peak, route 9 will be outside its time window and will
be rejected while route 10 (which matches at all times) will then be executed, effectively
changing the route code during the off-peak period.

The internal clock of the dialer is set on every routine phone home and especially on the
first call. If the dialer is plugged in without a call to the management center then the clock
will start at a random time in the past (usually the time it was programmed by Activate).
It is important to manage the dialer correctly when timed routing is used. The dialer will
freeze the time when it is disconnected from the line and will not update the clock until it
is re-powered when the clock will resume, having lost the hours it was disconnected.

background image
OEM Customer Programmable Dialer
Engineering Programming 14
3.0 Advanced Programming

Warning:- these engineering functions require intimate knowledge of the dialers
route codes and prefixes. It is very easy to corrupt the router data in such a way that
the dialer will not operate properly and will need to be reset with Activate.

The input functions from the telephone have absolutely no checking on the validity
of the digits input. In most cases the keys are written to memory in the dialer as they
are entered thus there is no way to cancel a change except by re-entering it. Hanging
the phone up will not reset the attempted data change and will probably leave the
dialer in an unusable state (however the dialer functionality can be restored by re-
entering the data into the corrupted route correctly, or by clearing with Activate.)


There are two levels of manual data entry and access in the dialer ­ level 1 which starts
with #*# followed by a single function digit and then appropriate programming codes.
Level 2 is accessed through #*#4 and is used for manual data entry of route information.
After entering data use # to end the data entry.

Level 1

#373 Set immediate phone home after hang up
#*#1 Enter store 1
#*#2 Enter Store 5
#*#3 Enter Store 8
#*#4 Manual data entry (this is the main code used for programming the dialer)
#*#5 Manual time set
#*#6 Confirmation of correct downloading of data from the management center
#*#7 Manual time read. The dialer dials out the internal clock time which can be read
by a DTMF decoder (digit display unit).
#*#8 Write time to the internal clock
#*#9 Phone home using Store 1
#*#* Engineer phone home ­ enter phone number (e.g. #*#* 0871 717 0488 #)

Level 2

#*#41 Reset Dialer
#*#42 Enter Store X
#*#43 Enter main phone home number
#*#44 Enter Route Type
#*#45 Enter Route Prefix
#*#46 Enter Route Dial Code (must be packed!!!!)
#*#47 Enter/clear PBX digit (sets route type automatically!)
#*#49 Enter Exceptions (Must be packed!!!)
#*#4# Enter override code
background image
OEM Customer Programmable Dialer
Engineering Programming 15
Level 1 in Detail

#373 Set immediate phone home after hang up

This sets the phone home flag. When the phone is placed on-hook the dialer phones the
stored phone home number and then waits for the management center response. This will
reset the time and then obey the management center commands.

#*#1 Enter store 1
#*#2 Enter Store 5
#*#3 Enter Store 8

All stores use the same piece of 32x4 bit nibble memory (which used to be the backup
phone home number). Store 1 is the 1
st
4 bits (1
st
nibble), store 2 is the 2
nd
nibble and so
on. Any store can extend into any other store. If you store a number in any store (except
store 8) you need to allow plus 1 digit for the terminating character. Store 8 does not need
a terminating character if there are 4 digits in it.
To set store 1 to 18866 type #*#1 18866 #. This uses up 6 of the 32 nibbles and extends
into store 2 which should therefore not be used.

#*#4 Manual data entry (this is the main code used for programming the dialer)

#*#5 Manual time set

This sets the dialer internal clock. Data is entered as
DD MM YY d hh mm ## where DD
is the date, MM is the month and YY is the year. D is the day of the
week with Sunday as 0, Monday 1 etc through to Saturday which is 6. hh
and mm are the hour and the minute in the 24 hour clock.

e.g. to enter Thursday (day 4) 16
th
September 04 at 12.20pm enter
#*#5 16090441220##

#*#6 Confirmation of correct downloading of data from the management center

If the dialer has successfully reprogrammed in the last hour then the dialer will return
with 3 beeps.

#*#7 Manual time read. The dialer dials out the internal clock time which can be read
by a DTMF decoder (digit display unit).

Format is ##
DD MM YY d hh mm ## where d is the day of the week with
Sunday as 0

#*#8 Write time to the internal clock

There are two clock stores in the dialer. The RAM clock and the EE Clock. The RAM
clock is read and written to by #*#5 and #*#7 and is valid as long as the dialer is
powered. If the dialer is disconnected from the telephone line for more than 2 minutes
background image
OEM Customer Programmable Dialer
Engineering Programming 16
then the RAM clock will be corrupted (lost). When the dialer is powered back up the
RAM clock will be set from the EE Clock store. This is set either by the Activate
programming software or this command (#*#8), which stores the clock in its current
state.

In pratice, the EE clock will always be wrong and the RAM clock should be set either by
a call to the management center or by using #*#5.

#*#9 Phone home using Store 1
Normally not used

#*#* Engineer phone home ­ enter phone number (e.g. #*#* 0871 717 0488 #)
Dialer will hold the line to await the management center even if you hang up.
background image
OEM Customer Programmable Dialer
Engineering Programming 17
Level 2 Commands in Detail

When entering a level 2 command you can enter binary data at any time using the * key
as follows:-

**
the * character
*0
hex 0 (note keypad 0 is usually hex A).
*1
hex A (keypad 0)
*2
hex B (keypad *)
*3
hex C (keypad #)
*4
hex D
*5
hex E
*6
hex F

All commands should end with the # key

#*#41 Reset all routes
Warning : Use this command only as a last resort.

Requires a password (373):-

#*#41 373 #

Any other key sequence will exit the command.

This command is useful if you are entering a lot of data from the telephone keypad, the
dialer gets into a mess and you don't have access to activate. Also useful if you don't
know the programming state of the dialer.

All the route dial codes, prefixes and exceptions are cleared (blanked), including the UK
default dial codes. All the routes are set to standard route type. Note this will prevent
exception checking until one of the routes is set to recheck exceptions (STDX ­ route
type 13).

To reprogram the UK default program after this command enter:-

Exceptions

#*#49 1 *3 ** *5*5 999 #
Set 1 # * 999 as exceptions

Short code 1 & 2 (route 2 and 3)

#*#44 02 1 #
Set route 2 type to strip
#*#44 03 1 #
Set route 3 type to strip

CLI control (Route 4)
background image
OEM Customer Programmable Dialer
Engineering Programming 18
#*#46 04 *5*5 141 *5 1470 #
Set route 4 Dial code to 141,1470
#*#44 04 4 #
Set route 4 Type to Standard and continue (4)

Bar Route (5)

#*#44 05 3 #
Set route 5 type to bar

Exception to Exception Route (6)

#*#44 06 *4 #
Set route 6 type to Standard recheck exceptions (13)

Local Route Dial Code (7)

#*#46 07 23456789 #
Set route 7 dial code to 2,3,4,5,6,7,8,9

National Route Dial code (8)

#*#46 08 *5 01 02 #
Set route 8 dial code to 01,02

International Route Dial code (9)

#*#46 09 *5 00 #
Set route 9 dial code to 00

Mobile route dial code (10)

#*#46 10 *5*5 077 078 079 #
Set route 10 dial code to 077,079,079
background image
OEM Customer Programmable Dialer
Engineering Programming 19
#*#42 Enter store X

All stores use the same piece of 32x4 bit nibble memory (which used to be the backup
phone home number). Store 1 is the 1
st
4 bits (1
st
nibble), store 2 is the 2
nd
nibble and so
on. Any store can extend into any other store. If you store a number in any store (except
store 8) you need to allow plus 1 digit for the terminating character. Store 8 does not need
a terminating character if there are 4 digits in it.
To set store 3 to 18866 type #*#423 18866 #. This uses up 6 of the 32 nibbles and
extends into store 4 which should therefore not be used.

#*#43 Enter Main phone home number

#*#43 phone home number # - for example #*#43 0871 717 0488 #. Numbers are stored
in pairs as they are entered and the # terminates the dial string correctly. To enter a dial
delay us the hex D character (*4) followed by the delay in half seconds. For 3 seconds
delay enter *46 within the dialed string.

If phone home is enabled by Activate or the Management Centre then clearing the phone
home number will prevent the dialer performing its phone home function (however if
#373 is used to force a phone home the dialer will go on line for 30 seconds but will not
dial anything).

#*#44 Enter route type

Sets the route type for any route.
To set route 1 to standard route (code 0) enter #*#44 01 0 #. To set route type Standard
and Recheck exceptions (route type 13) enter #*#44 01 *4 #. *4 is the escape sequence
for Hex D which is 13.

See the previous route types table.


#*#45 Enter route prefix

#*#45 route number then prefix #. For example to change the route prefix for route 7 to
1664 enter #*#45 07 1664#. Routes are always entered as 2 digit numbers from 01 to 15
with 00 being the default route.

There are various commands that can be added to the route prefix to perform special
functions:-

*4n (hex D) Insert delay into the string where n is the delay in half seconds.
Note ­ due to a bug in the firmware, the delay is not mapped to the correct ascii
characters so use this table to set the delay you want.
1 to 9 ­ 0.5 to 4.5 secs
0 ­ 5 secs
background image
OEM Customer Programmable Dialer
Engineering Programming 20
*0 ­ no delay
*1 ­ 5.5 secs
*2 ­ 6 secs
*3 ­ 6.5 secs
*4 ­ 7 secs
*5 ­ 7.5 secs

*5cn (hex E) Special functions (Important: always put 2 digits after the *5). C is a
single digit command from 0 to 4 and n can be 0 to 9 and also *1 to *6 for hex A to hex
F.
*50n
Wait for the customer to stop entering dial digits for n half seconds
and then continue dialing. The dialer will monitor the digits being dialed and
when the customer pauses for at least n half seconds the dialer will restart
digit dialing.

*51n
Initiate call back with n*2 seconds timeout (only supported in the
call back dialer). The line is disconnected waiting for ring back while the
phone and dialer are powered from the power supply. When ringing is
received or timeout occurs the line is reconnected.

*52n
Wait for tone with n seconds time out. Once a tone is received or
the timout occurs digit dialing is resumed.

*53n
Send character n to the input buffer as if the customer had dialed
the digit. This is used for special programming and should be partnered with
*50 to ensure the customer has finished dialing.

*540
Set the internal pin flag. Used for special programming when
partnered with the flag check condition in the route dial code. Note that there
must be a dummy digit on the end (*540) as the *5 commands are always 3
characters long.

*55n
Set the internal flag n. Used for special programming when
partnered with the flag check condition in the route dial code.

*56n
Dial Store n


#*#46 Enter route dial code

Route dial codes are the codes that are matched against the user-dialed digits to select a
route to execute. The data must be packed correctly. Usage #*#46 route number packed
data #.

For example to set route 7 to match on any single digit from 2 to 9 enter
background image
OEM Customer Programmable Dialer
Engineering Programming 21

#*#46 07 23456789 #

Digit Packing

Digits are packed in character count order starting with the single digits and then the pairs
and then the triple digits etc. Between each set is a special packing character (*5 hex E)
which increases the character count by one. Therefore to set route 8 dial code to match on
double digits 01 enter #*#46 08 *5 01 #.

A more complex example. To match route 10 on the following 2 or 3 or 4 or 01 or 02 or
077 or 078 or 079 then enter #*#46 10 234 *5 0102 *5 077078079 #

Note that route 0 has no dial digit as it is the default route. Entering route 0 in this
command will cause unpredictable results.

Special Characters

*4 (hex D) wildcard character. Any dialed string can contain this wildcard character
which will match on any digit. Use *4 anywhere in the route dial code as a wildcard
character.

*0 (hex 0). Test flag (used with the set flag command in the prefix route). Usually used as
the only character in the dial code. If the flag is clear (default condition) then this route is
always executed. If the flag has been set by one of the previous routes then this route is
rejected.

Use:- can be used for efficient pin verification. Set route 7 and any other consecutive
routes to the match the pins. Use the flag set command when the route is matched. Then
set the last route to test the flag. The subsequent routes will only be tested if a valid pin
has been entered.

#*#47 Enter PBX digit

The PBX digit is a digit that must be dialed to get an outside line. Any number dialed that
doesn't start with this digit is regarded as an internal call and will make the dialer go to
sleep. When this number is dialed the dialer resumes normal routing on any digits entered
after the PBX digit. Route 1 is normally used as the PBX route.

To set 9 as the PBX digit enter #*#47 9 #.
(Note this command automatically sets Route 1 route type to PBX).

To blank the PBX digit (turn PBX function off) enter #*#47#.

See the previous route types table.
background image
OEM Customer Programmable Dialer
Engineering Programming 22

#*#49 Enter Exceptions

Exceptions are dial codes which should be sent to the default carrier (usually the national
carrier). This is usually used for operator and emergency services, but can also be used to
prevent the routing of free calls.

Exceptions must be packed similarly to dial codes. There is room for 128 characters in
the exceptions ­ but please use Activate or the Management Centre for more than about
12 to 15 characters! It is always advisable to have the dialer pre-programmed with as
much data as possible and use telephone entry for minor changes.

To enter # , * , 1 and 999 as exceptions dial #*#49 *3**1*5*5999#.

Breakdown :-
#*#49 program exceptions command
single codes # and * (*3=# and **=*)
single digit 1.
Increase the character count to 3 by adding 2 to the character count ­ *5 *5
triple digit 999
# to terminate.