Configuring advanced dial-out rules

Dial-out rules define the dial strings that are sent to the telephony server for making calls. Verify the required information in each step of the following procedure before proceeding to the next step.

Before you begin

Back up the existing dial rules script into Notepad or a similar application.

Procedure

  1. How many digits are required to call a number within the originating area code?

    North American area codes typically require either 7 or 10 digits.

    • 7: No changes are needed. See the next step.

    • 10 or other: Scroll down to LocalCallNumLength = 7 and change 7 to the correct number of digits. For example, 10.

  2. Will users be allowed to make calls to toll-free numbers?
    • Yes: No changes are needed. See the next step.

    • No: Scroll down to TollFreeAreaCodes

      var = new Array("800", "888", "877", "866")

      Delete everything between the parentheses, as shown below:

      var TollFreeAreaCodes = new Array( )
  3. Does any of the Class of Service definitions use the dial-out privilege level “Local“?
    • Yes: See the next step.

    • No: See Step 6.

  4. Is the area code of the telephony server the only local area code?
    • Yes: See the next step.

    • No: Scroll down to LocalAreaCodes

      var LocalAreaCodes = [phoneAreaCode]

      Enter additional area codes separated by commas. (The area code for the telephony server is included in the variable phoneAreaCode)

      For example, after you add area codes 650 and 510, the variable looks like the following line of code.

      var LocalAreaCodes = [phoneAreaCode, 650, 510]
  5. Are all calls placed to the area codes in Step 3 (including the area code for the telephony server) local calls?
    • Yes, all calls are local:

      Scroll down to LocalPortionOfLAC:

      var LocalPortionOfLAC = portionSomeCalls

      Change the assigned value to portionAllCalls:

      var LocalPortionOfLAC = portionAllCalls
    • No, only some calls are local:

      Scroll down to LocalCallRanges:

      var LocalCallRanges = new Array ( // EXAMPLE: new LocalCallRange(650, 335, 345) )

      For each area code in Step 4, create a list of all the prefixes (NXX) or prefix ranges that are local calls. Enter each range in a new LocalCallRange declaration, separated by commas, within the assignment of LocalCallRanges. Each LocalCallRange declaration requires an area code, a start prefix (NXX), and an end prefix (NXX). For example, if these are local calls:

      • (408) 123-XXXX

      • (408) 251-XXXX through (408) 258-XXXX

      • (650) 335-XXXX through (650) 345-XXXX

      • (510) 756-XXXX

      then edit the lines as follows:

      var LocalCallRanges = new Array ( new LocalCallRange(408, 123, 123), new LocalCallRange(408, 251, 258), new LocalCallRange(650, 335, 345), new LocalCallRange(510, 756, 756) )
  6. Does your organization use DID numbers?
    • Yes: See the next step.

    • No: See Step 9.

  7. Does the telephony server handle calls to DID numbers correctly (i.e., dial them as internal calls to an extension)?
    • Yes: See the next step.

    • No, Messaging should dial the extension (“downgrade” the number):

      Scroll down to DowngradeDID.

      var DowngradeDID = false

      Change the value to true:

      var DowngradeDID = true

      Next, scroll down to DIDRanges:

      var DIDRanges = new Array (

      Create a list of all the dial inward dial (DID) phone number ranges. For each range, enter the area code, and the starting and ending DID numbers in a new DIDRange declaration, separated by commas, within the DIDRanges declaration. For example, if these are the DID numbers:

      • (408) 961-5730 to 961-5749

      • (408) 961-3020 to 961-3040

      • (408) 200-5110 to 200-5150

      • (510) 123-4560 to 123-4567

      then change the DIDRanges as follows:

      var DIDRanges = new Array ( new DIDRange(408, 9615730, 9615749), new DIDRange(408, 9613020, 9613040), new DIDRange(408, 2005110, 2005150), new DIDRange(510, 1234560, 1234567)
  8. Does the customer want all numbers that start with the international prefix (e.g. 011) to be classified as international, or as invalid (rejected)?
    • As international numbers: See the next step.

    • As invalid numbers (rejected by the system):

      Scroll down to InternationalIfStarts011:

      var InternationalIfStarts011 = true

      Change the value to false:

      var InternationalIfStarts011 = false
  9. Does the customer want all numbers which cannot be classified as internal, local, long distance, or international to be classified as invalid (rejected) or as international?
    • As invalid numbers (rejected by the system): See the next step.

    • As international numbers:

      Scroll down to InternationalIfNoOther:

      var InternationalIfNoOther = false

      Change the value to true:

      var InternationalIfNoOther = true
  10. Sometimes users do not include the area code of the telephony server when they enter phone numbers. Does the customer want the system to prepend the area code to these numbers or do they want the system to classify these numbers as invalid and reject them?
    • Prepended with local area code: See the next step.

    • Classified as invalid numbers (rejected by the system):

      Scroll down to MissingAreaCodeAction:

      var MissingAreaCodeAction = macUseLocalAreaCode

      Change the value to macRejectAsInvalid:

      var MissingAreaCodeAction = macRejectAsInvalid
  11. See the Dial-Out Test Numbers section.

    Define the various test numbers according to what you expect the users to enter in the User Preferences for Reach Me, Notify Me, and Personal attendant features.

    Then click Test to verify how the current dial-out settings handle the entered numbers.

    • Input Phone Number: Number as listed in the test number pane.

    • Call Type: Classifies the number so that the system can evaluate whether the associated user has the required dial-out privilege in the user CoS. The results are related to the CoS privileges as follows:
      Call Type Required Minimum Dial-out Privilege in CoS
      INTERNAL OnPremise
      LOCAL Local
      LONGDISTANCE LongDistance
      INTERNATIONAL International
      INVALID not applicable, number will not be dialed
    • Output Phone Number: Dial string that the Messaging server offers to the telephony server as defined in the Switch Link Admin Web page.

    If the results are not as expected, revisit the settings in earlier steps.

    If you are satisfied with the results, click Save to save the test numbers and the rules.