|
|
Understanding and comprehending call flows, outbound as well as inbound, can be overwhelming and intimidating. Correct configuration of the gateway, and possibly gatekeeper, is essential to ensure call completion. In addition, the Gateserver must be able to make sense of the numbers (tokens) being passed in order for the various entities to handle them properly. This chapter discusses the various scenarios that the Gateserver must accommodate to handle calls properlyrules-based outdial security, inbound subscriber access model, etc. However, to gain a more complete understanding of the various external components necessary in this call flow environment, please refer to the following sites:
uOne adheres to E.164 standards for International numbers. International numbers require varying telephone number lengths that may include country code, city code, differing prefix rules, and a multiplicity of dialing rules that vary by country.
uOne provides two sets of numbering plan dependent prompts. One set supports the North American Numbering Plan (NANP) and the other set is generic. The NANP prompt set references 4, 5, 7, and 10-digit dialing. Although these prompts may be used, they do not cause uOne to put limits on the input digit strings. Rather, such limits must be handled via rules.
![]() |
Note 5-digit dialing is unique to PBX networks that span multiple locations. |
The CMA server agent and the UM, FaxPrint, and SMS_Notify application agents use the Addressing and Dialing Rules for technology prefix stripping, alias address processing, address expansion, conversion to dial string, and for dialing constraints. The DialMap.ini file defines these addressing and dialing rules.
![]() |
Note The term address expansion refers to taking the digits entered by the user and expanding them to a fully qualified telephone number that acts as a mailbox ID. The term dialing conversion refers to taking an internal telephone number and converting it to a dial string that is recognized by the VoIP network as a valid dial string. For example, the subscriber enters the number 5551234, which can be expanded to 18045551234 in order to obtain a mailbox ID, or the number can be converted to 1#18045551234 in order to have a valid dial string (where'1#' is the technology prefix used to identify a voice gateway). |
The addressing and dialing rules are stored in the DialMap.ini file. The easiest way to explain how addressing and dialing rules work is to provide various models.
In order to provide security for outbound calls, all outgoing telephone numbers input by users must be successfully converted to dialable numbers via a specified section in the DialMap.ini file. This section name will be specified in the COS. If no section is specified in the COS, then the USDOMESTIC section will be used for numbers input by subscribers and the CALLERACCESS section will be used for numbers input by callers. Any outgoing call must be successfully converted in order for an outgoing call to be made. The COS attribute used to obtain the section name will be determined by whether the user entering the number is a logged-in subscriber or a caller. There are two different COS attributes, PhoneNumberDialingSection, for subscribers, and PhoneNumberCallerAccessSection for callers.
![]() |
Note In no way are MinMax rules used to enforce outdial security. MinMax rules are used only to direct the user to input a number that is the expected number of digits. |
![]() |
Note Because reach and attendant coverage numbers are input by logged-in subscribers, they are converted using PhoneNumberDialingSection, not PhoneNumberCallerAccessSection. |
A mailbox ID and a password (PIN) are required for subscriber access. An exact match is the only acceptable search available for mailbox ID in the directory server. If no match is found for the mailbox ID, then the number is expanded using the section of the DialMap.ini file specified by the LoginExpandSection parameter of the UM.ini file. If this parameter is missing or blank, then the DialPlan section will be used. If the new telephone number is still not unique after expansion, the application requests that the caller supply a fully qualified telephone number. Using the MinMax data obtained from the DialMap.ini file, the user is prompted to enter a minimum or a maximum number of digits if the input is out of the allowed range of digits for the given section. This sequence is repeated until the maximum number of retry attempts have been exhausted. The maximum number of login attempts is the number set in the UM.ini file as MaxLoginAttempts. If no number is specified in the UM.ini file, then the default of three is used.
Once the subscriber has successfully logged into their account, any necessary address expansion, e.g., creating a distribution list via the telephone interface, will be performed by the section of the DialMap.ini file that is obtained from the user's PhoneNumberExpansionSection COS attribute. If there is no value in the PhoneNumberExpansionSection, then the LoginExpandSection parameter in the UM.ini file is used. If both are blank, the default section is DialPlan. If the expansion fails, then a NANP-oriented default expansion may be attempted if the LegacyDefault parameter in UM.ini is set to Enabled (emulating UM 3.0 behavior).
If the subscriber attempts to make a telephone call through their mailbox, the input telephone number will be converted to a dialable number by using the COS attribute PhoneNumberDialingSection (which is listed as the Subscriber Access Dialing Section field on the uOne Administration screen) as the DialMap.ini section name. If this dialing conversion fails, the application will return an error message.
The LoginExpandSection is used in exactly the same manner to build a mailbox ID for international numbers. It is recommended that the mailbox IDs have a consistent length or at least conform to E.164. An entry is not required in the LoginExpandSection of the UM.ini file; however, the LegacyDefault parameter must be set to Disabled because LegacyDefault is intended only for use with NANP.
![]() |
Note If the LegacyDefault parameter in the UM.ini file is set to `Enabled', then the default method of building a mailbox ID is attempted if all other methods fail. The final default method sets a "padding" number to either the subscriber ID, if a subscriber has logged in, or to the remote number (ANI) if the access is not by a subscriber. If the input number length is less than 4, the default method fails. If the input number length is greater than 4 but less than the "padding" number length, then the input number is extended by overlaying the input number over the "padding" number. (For example, if the input number is 1255 and the "padding" number is 8047621234, then the number returned by the padding process would be 8047621255.) If the length of the input number is greater than or equal to the length of the "padding" number, then the input number is returned unmodified. Note that the use of LegacyDefault is discouraged. It is intended for use by those upgrading from UM 3.0. See the Upgrade Issues section for more information on LegacyDefault as it relates to an upgrade from UM 3.0. |
In the leave message model, the RDNIS on the incoming call is used to determine the Mailbox ID for which the message is being left. If necessary, this number is expanded using the DialMap.ini file. The LoginExpandSection parameter from the UM.ini file is used to determine the DialMap.ini section name used for the expansion. If this parameter is blank or missing, then DialPlan is used. If no exact match is found on the directory server for the expanded number, or if the expansion fails, then the caller is offered the "top level" menu. After selecting 1, for Leave Message, the caller is asked to input a telephone number. An attempt is made to expand this number using the LoginExpandSection, if it exists, and DialPlan if it does not. If the expansion fails, then the legacy default expansion is attempted if enabled. If the new telephone number is still not unique after expansion, the application can request that the caller supply a more accurate subscriber number. Using the MinMax data obtained from the DialMap.ini file, the user can be prompted to enter a minimum or a maximum number of digits, if the input is out of the allowed range of digits for the given section. If the input number cannot be resolved, then the caller is asked to input a fully qualified mailbox ID. Once a subscriber has been successfully identified, the PhoneNumberExpansionSection of the subscriber's COS (with the same defaults noted in the subscriber access model) will be used for expansion. PhoneNumberCallerAccessSection from the subscriber's COS will be used for dialing conversion. (It is listed as the Caller Access Dialing Section field on the uOne Administration screen.) If, during caller access, the caller enters *8 to make a call, the telephone number will be converted to a dialable number using the specified section. If the conversion fails, an error message will be returned.
Outdial security is provided by the PhoneNumberCallerAccessSection parameter, which may limit the phone numbers which may be called. If this parameter is blank, then the CALLERACCESS section will be used.
When a subscriber wishes to print a fax or text e-mail, the fax or e-mail is spooled by the FaxPrint application agent. The fax number where the fax or e-mail is to be printed has already been expanded by the uOne (according to the subscriber access expansion mechanism described above) before it was placed in the subject field of the fax message. FaxPrint uses this expanded number to determine where the fax should be sent. It uses the SMTPHostSection parameter in FaxPrint.ini to specify a section (default GWHOSTS) in DialMap.ini to convert the number to the fully qualified domain name of an offramp fax gateway.
![]() |
Note Subscriber-dependent security is not provided by FaxPrint. |
AMIS-A is implemented via use of UM 3.0. For information concerning this feature, please refer to the UM Plus 3.0 documentation.
CMA can be configured to map calling and called party call data from the call signaling of incoming calls before that data is used. This is useful for stripping technology prefixes or transport addresses or for expanding abbreviated numbers to fully qualified numbers. The H225CALLINGPARTY and H225CALLEDPARTY DialMap.ini sections are used for this purpose.
The SMS_Notify application agent maps the destination address for a cell phone to receive an SMS message using the SMS-MAPPING DialMap.ini section. Typically this is used to convert a national number to an international number.
Before you start administering the addressing and dialing rules, ensure that the following tasks have been completed.
Perform the following tasks to administer the Addressing and Dialing Rules.
Step 2 Set up the DialMap.ini file(s).
Step 3 Rigorously test the address and dialing rules configuration.
Step 4 Assign the dialing conversion rules for a COS.
Step 5 Assign the address expansion rules for a COS.
Within the sample UM.ini file, the LoginExpandSection parameter is set to DialPlan for backward compatibility purposes. Therefore, if the DialPlan section of the DialMap.ini file does not exist or is configured improperly, the user may be unable to login using an abbreviated number on the first two attempts. On the third attempt, the user will be required to enter a fully qualified mailbox ID.
The LegacyDefault parameter in the UM.ini file is set to `Disabled' in the sample and quickconf-generated UM.ini file and must be changed to `Enabled' during an upgrade from UM 3.0 to uOne 4.2s, if UM 3.0 expansion behavior is desired.
The processing of numbers input for outdialing has undergone fundamental changes since UM 3.0. If you are upgrading from UM 3.0 be aware that input numbers to be dialed are not expanded before undergoing dialing conversion. This means your existing dialing conversion sections (e.g. USDOMESTIC) must change.
![]() |
Note The DialMap.ini file format has changed starting in uOne 4.2s. If you are upgrading from UM 3.0, uOne 4.1s or a beta uOne 4.2s, you must convert all of your rules. See the uOne 4.2s Release Notes for instructions on doing so. |
You need to complete this section if you want to allow subscribers to enter an abbreviated number that needs to be expanded to match their mailbox ID during initial login (such as when they use # to enter the ANI). This task is not required if your users will always enter a fully qualified telephone number at login.
1. Go to the Gateserver where the call will be arriving.
2. Go to the UM agent directory
cd $PARMLIB/apps/UM
3. Edit the following parameter in the UM.ini file:
4. Edit the DialMap.ini file (located in $TNTHOME/parms) and create a format for <PhoneFormat label section> with the login expansion rules. See "Setting Up the DialMap.ini File".
Parameter | Description | Valid Values |
|
|
You need to complete this section if you want to establish any of the following:
Set up the DialMap.ini file as follows:
Step 2 cd $TNTHOME/parms
Step 3 Edit the DialMap.ini file
Step 4 You can create many sections for the Addressing and Dialing Rules. The following provides the general format of the file:
The order in which the rules are listed under the Format will determine which rule is checked first. The first rule that matches the requirement is the one that is used. This means that rules that match specific input (such as 900 numbers) must be placed before rules that are more general such that they would match that same specific input. Otherwise, the specific rules will never be used. The addressing and dialing rules can be complex and deserve special attention and rigorous testing. A detailed example is included at the end of this chapter (Example 11-1).
Complete this section if you want to set up dialing conversion rules for a Class of Service. This also associates minimum and maximum expected input lengths (MinMax rules) with the COS.
1. Access uOne Administration.
2. Click on the COS Administration button.
3. Click on Add a COS (or Modify a COS).
4. Enter the format section name for the Subscriber Access Dialing Section field. This value should match a format section used in the DialMap.ini file to define subscriber dialing conversion rules. See "Setting Up the DialMap.ini File".
5. Enter the format section name for the Caller Access Dialing Section field. This value should match a format section used in the DialMap.ini file to define caller dialing conversion rules. See "Setting Up the DialMap.ini File".
6. Click on Submit (or Modify).
You need to complete this section if you want to allow members of a COS to use abbreviated addressing for a Class of Service. This also associates minimum and maximum input lengths (MinMax rules) with the COS.
1. Access uOne Administration.
2. Click on the COS Administration button.
4. Enter the search criteria in the input fields.
5. Click on Search.
6. Click on the appropriate class of service definition, if necessary.
7. Enter the format section name for the Phone Number Expansion Section. This value should match a format section used in the DialMap.ini file to define address expansion rules. See "Setting Up the DialMap.ini File".
8. Click on Modify.
The token mapping involves these steps:
1. Check to see if the passed Input Token matches the Input parameter of the next rule of the format section. The format section to use is specified in the lookup along with the Input Token. If a match occurs go to the next step, if not try the next rule.
2. The system builds a string to return using literal characters and the backreferences ($i0, $i1, $i2,...) formed by each parenthesized expression in the Input regular expression matched in step 1.
It is strongly recommend that you use the TestDialMap command to test each rule of your addressing and dialing rules configuration before reloading the DialMap.ini file to ensure it behaves as intended.
1. On the Gateserver on which you defined your rules, type:
2. Execute the TestDialMap command. Use the following format.
Example
.
| Argument | Valid Values |
filename | A DialMap.ini file. |
A PhoneFormat section label from the specified DialMap.ini file. | |
input token | The Input Token to be used in the mapping. |
![]() |
Note For any DialMap.ini changes to be used by CMA and the UM and FaxPrint agents, you must reload the DialMap.ini file. For DialMap.ini changes to be used by SMS_Notify, you must stop and restart SMS_Notify. Use the reload command available within umcli. For more information on this tool, see the uOne Operations Manual. |
[PhoneFormat]
USDOMESTIC
CALLERACCESS
DialPlan
H225CALLINGPARTY
H225CALLEDPARTY
GWHOSTS
SMS-MAPPING
[USDOMESTIC]
MinMax
Block900
Office
Local
National
International
[USDOMESTIC:MinMax]
Input=MinMax
Return=4,19
[USDOMESTIC:Block900]
Input=^(1?)(900)([0-9]{7})$
Return=BLOCK
[USDOMESTIC:Office]
Input=^(5[56])([0-9]{2})$
Return=1804762$i0$i1
[USDOMESTIC:Local]
Input=^([0-9]{7})$
Return=1804$i0
[USDOMESTIC:National]
Input=^(1?)([0-9]{10})$
Return=1$i1
[USDOMESTIC:International]
Input=^(011)([0-9]{1,16})$
Return=$i1
[CALLERACCESS]
MinMax
Office
Local
[CALLERACCESS:MinMax]
Input=MinMax
Return=4,7
[CALLERACCESS:Office]
Input=^(5[56])([0-9]{2})$
Return=1804762$i0$i1
[CALLERACCESS:Local]
Input=^([0-9]{7})$
Return=1804$i0
[DialPlan]
MinMax
Office
Local
[DialPlan:MinMax]
Input=MinMax
Return=4,10
[DialPlan:Office]
Input=^(5[56])([0-9]{2})$
Return=804762$i0$i1
[DialPlan:Local]
Input=^([0-9]{7})$
Return=804$i0
[H225CALLEDPARTY]
StripTransportAddress
StripTechPrefix
[H225CALLEDPARTY:StripTransportAddress]
Input=^([A-Za-z0-9:.]*,)(.*)$
Return=$i1
[H225CALLEDPARTY:StripTechPrefix]
Input=^([0-9]*#)([0-9]{4,16})$
Return=$i1
[H225CALLINGPARTY]
StripTransportAddress
[H225CALLINGPARTY:StripTransportAddress]
Input=^([A-Za-z0-9:.]*,)(.*)$
Return=$i1
[GWHOSTS]
Any10Digits
[GWHOSTS:Any10Digits]
Input=^([0-9]{10})$
Return=offramp.cisco.com
[SMS-MAPPING]
National
[SMS-MAPPING:National]
Input=^([0-9]{10})$
Return=1$i0
| Section | Description |
|---|---|
[PhoneFormat] | The six Phone Formats to be defined are: USDOMESTIC, CALLERACCESS, DialPlan, H225CALLEDPARTY, H225CALLINGPARTY, GWHOSTS, and SMS-MAPPING. |
[USDOMESTIC] | The format, USDOMESTIC, has six rules: MinMax, Block900, Office, Local, National and International. |
[USDOMESTIC:MinMax] | The first rule for USDOMESTIC is MinMax and is defined as follows: If Input is MinMax, then the system should inform the user that a minimum of 4 and a maximum of 19 digits are expected as input. Note that this is not a security feature but rather a means of directing the user to enter the desired input. That is, if the user enters digits that match a rule below, the digits will be accepted, even if they are out of the minimum and maximum range specified by this rule. Stated another way, MinMax rules are intended for user assistance, not outdial security. |
[USDOMESTIC:Block900] | The second rule for USDOMESTIC is Block900 and is defined by: If Input is a 900 number, then the system should block any calls to it. |
[USDOMESTIC:Office] | The third rule for USDOMESTIC is Office and is defined by: If Input is an extension in the range of 5500-5699, then the system should dial the number, prefixing it with the local country code, area code, and exchange. The prefixing is done to conform a system of gatekeepers that expects fully-qualified E.164 addresses. |
[USDOMESTIC:Local] | The fourth rule for USDOMESTIC is Local and is defined by: If Input is a local number, then the system should dial the number, prefixing it with the local country code and area code. |
[USDOMESTIC:National] | The fifth rule for USDOMESTIC is National and is defined by: If Input is a national (long distance) number, then the system should dial the number, prefixing it with the local country code. |
[USDOMESTIC:International] | The sixth rule for USDOMESTIC is International and is defined by: If input is an international number (as indicated by the 011 international prefix), then the system should dial the international number following the prefix. |
[CALLERACCESS] | The format, CALLERACCESS, has 3 rules: MinMax, Office, and Local. Note how toll calls are prohibited by omitting any rules that would match toll numbers. This is a major part of how outdial security works. |
[CALLERACCESS:MinMax] | The first rule for CALLERACCESS is MinMax and is defined by: If Input is MinMax, then the system should indicate to the user that input of 4 digits minimum and 7 digits maximum is expected. Note again that this mechanism is strictly intended to direct the user and is not supported as a means of outdial security. |
[CALLERACCESS:Office] | The second rule for CALLERACCESS is Office and is defined by: If Input is an extension in the range of 5500-5699, then the system should dial the number, prefixing it with the local country code, area code, and exchange. The prefixing is done to conform a system of gatekeepers that expects fully-qualified E.164 addresses. |
[CALLERACCESS:Local] | The third rule for CALLERACCESS is Local and is defined by: If Input is a local number, then the system should dial the number, prefixing it with the local country code and area code. |
[DialPlan] | The format, DialPlan, has three rules: MinMax, Office and Local. |
[DialPlan:MinMax] | The first rule for DialPlan is MinMax and is defined by: If Input is MinMax, then the system should indicate to the user that input of 4 digits minimum and 10 digits maximum is expected. Note again that this mechanism is strictly intended to direct the user and is not supported as a means of outdial security. |
[DialPlan:Office] | The second rule for DialPlan is Office and is defined by: If Input is an extension in the range of 5500-5699, then the system should expand the number to a fully-qualified mailbox ID by prefixing it with the local area code and exchange. The prefixing is done to conform to a 10-digit mailbox ID/addressing scheme. In such a scheme, mailbox IDs in the LDAP directory are 10-digits, so searches for them must use a 10-digit address and not an abbreviated address. |
[DialPlan:Local] | The third rule for DialPlan is Local and is defined by: If Input is a local number, then the system should expand the number to a fully-qualified mailbox ID by prefixing it with the local area code. |
[H225CALLEDPARTY] | The format, H225CALLEDPARTY, has two rules: StripTransportAddress and StripTechPrefix. |
[H225CALLEDPARTY:StripTransportAddress] | The first rule for H225CALLEDPARTY is StripTransportAddress and is defined by: If Input (a DNIS) is prefixed by an H.323 transport address (these have the form TA:<host>:<port> delimited by a comma), then the system should strip it, leaving an H.323 alias address, which should be an E.164 address. |
[H225CALLEDPARTY:StripTechPrefix] | The second rule for H225CALLEDPARTY is StripTechPrefix and is defined by: If Input (a DNIS) is prefixed by a technology prefix (these have the form <digits> delimited by a #), then the system should strip it, leaving an E.164 address. |
[H225CALLINGPARTY] | The format, H225CALLINGPARTY, has one rule: StripTransportAddress. |
[H225CALLINGPARTY:StripTransportAddress] | The default rule for H225CALLINGPARTY is StripTransportAddress and is defined by: If Input (an ANI) is prefixed by an H.323 transport address (these have the form TA:<host>:<port> delimited by a comma), then the system should strip it, leaving an H.323 alias address. |
[GWHOSTS] | The format, GWHOSTS, has one rule: Any10Digits. |
[GWHOSTS:Any10Digits] | The only rule for GWHOSTS is Any10Digits and is defined by: If Input is any 10-digit number, then the system should use send the fax (or text e-mail text-to-fax) addressed to that number to the offramp fax gateway with fully-qualified domain name, offramp.cisco.com. |
[SMS-MAPPING] | The format, SMS-MAPPING, has one rule: National. |
[SMS-MAPPING:National] | The only rule for SMS-MAPPING is National and is defined by: If Input is a national number, the system should address the corresponding SMS message to that number, prefixing it with the local country code. |
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Posted: Mon Sep 25 20:20:19 PDT 2000
Copyright 1989-2000©Cisco Systems Inc.