Administrator Guide: Extension Move-Add-Change v.2

Introduction

The Extension move-add-change enables the administrator to efficiently move, add or change an extension without having to do a full apply-cluster-change.

Please take into account the following restrictions:
  • Deletion of an extension still requires an apply-cluster-change
  • Primary phone and secondary phone must be SIP phones
  • The BLF activation still requires an apply-sop-change

Service Assurance

Working principles

The design of the extension Move-Add-change is made to changes has much incremental as possible only the delta required to apply the extension change is apply to the SOP configuration.

Also the asterisk's configuration process is designed so that no heavy reload, such as the extensions reload, is required. The access to an newly added extension will be done only by accessing the data in the database thanks to the Goto.Application action and the STARTDYNAMICAPPLICATION-5.x action. Only the SIP configuration might need to be reloaded if a new phone has been added. The voicemail system might also need to be reloaded but this one is disabled by default in the asterisk-1.2x module.

As an optimization for cluster with a large internal directory, it is possible to prevent the configuration of all the extension defined in the internal directory in the asterisk internal dialplan and only make use of the action 'Goto.Application'. This is done by setting the reserved global parameter LargeInternalDirectory to '1' so that even an asterisk restart or an asterisk configuration reload remains light. From SMP 4.5.2, the LargeInternalDirectory can be activated per SOP by creating a global parameter like LargeInternalDirectory_00001234 where 00001234 is the SOPKEY.

In case of extension with SOP1 set to 'All', typically a speedial, the asterisk configuration should never be reloaded on all SOPs of the cluster.

Note that if you use Polycom phones, the parameter 'Forced phone reboot at registration failure' available in the Polycom Phone Support Module can be used in order to have the phone rebooting automatically when moved from one SOP to another one.

Service enabling

Requirements

  • Asterisk-1.2x module v2.31.4 or higher
  • Goto.Application v1.02 or higher
  • Users callflow must use STARTDYNAMICAPPLICATION v5.3 or higher
  • SMP v4.3.3 or higher

Step 1: Add InternalGroup

On the master SOP:

DONE Navigate to: Communication Routing > Route Group > Add

  • Route Group Name: InternalGroup
  • Type: RouteGroup

Step 2: Add InternalGroup to RestrictInternal

DONE Navigate to: Communication Routing > Restriction Groups > Add

  • RestrictionGroup: RestrictInternal
  • Include Route Group: InternalGroup

Step 3: Enable Dynamic Callflow loading

On each SOP of the cluster:

DONE Navigate to: Communication Routing > Extra Cluster Routing > Add

  • Telephony Route: _[1-9]XXX
  • Route Group: InternalGroup
  • Action: Goto.Application

The number of 'X' must match the length of an internal extension. If there are several length possible, several route must be added.

Step 4: Upgrade STARTDYNAMICAPPLICATION

DONE Navigate to:  Communication Flow Studio > Assign Callflow

Upgrade all the user's callflow to required version STARTDYNAMICAPPLICATION

Step 5: Apply cluster Change

On the master SOP:

DONE Navigate to: Directory > Apply change

The cluster is now ready to support move-add-change of user's extensions

Step 6: Disable static extension generation (optional)

Since callflow loading is now dynamic, you can disable the static extension configuration. If this extra feature is enabled, configuration file will be smaller and the SOP configuration reload will be much lighter.

DONE Navigate to:  Communication Flow Studio > Global Parameters > Reserved > LargeInternalDirectory

Set the value to '1'.

Service Acceptance

Add a phone and an extension on SOP of a cluster

  • Create a new SIP phone (phone1) with SOP1 set to 'sop1'
  • Create a new extension (extension1) with the primary phone set to 'phone1'and the SOP1 set to 'sop1'
  • Open an asterisk's console on sop1
  • Open an asterisk's console on another SOP sop2
  • Do an apply-extension-change of extension1
  • Check that asterisk configuration has been reloaded on sop1
  • Check that asterisk configuration has NOT been reloaded on sop2
  • Boot phone1 and verify that phone1 is registered on sop1
  • Call extension1 from a phone attached to sop1 and verify that phone1 is ringing
  • Call extension1 from a phone attached to sop2 and verify that phone1 is ringing
  • Restart asterisk on sop1 and repeat the test calls

Add a secondary phone to an existing extension

  • Create a new SIP phone phone2 with SOP1 set to 'sop1'
  • Set the secondary SOP of extension1 to 'phone2'
  • Open an asterisk's console on sop1
  • Open an asterisk's console on another SOP sop2
  • Do an apply-extension-change of extension1
  • Check that asterisk configuration has been reloaded on sop1
  • Check that asterisk configuration has NOT been reloaded on sop2
  • Boot phone2 and verify that phone2 is registered on sop1
  • Stop phone1 and call extension1 from a phone attached to sop1 and verify that phone2 is ringing
  • Stop phone1 and call extension1 from a phone attached to sop2 and verify that phone1 is ringing
  • Restart asterisk on sop1 and repeat the test calls

Move a phone and an extension from one SOP to another SOP of the cluster

  • Change SOP1 of extension1 to sop2
  • Change SOP1 of phone1 to sop2
  • Change SOP1 of phone2 to sop2
  • Do an apply-extension-change of extension1
  • Check that asterisk configuration has been reloaded on sop2
  • Reboot phone1 and verify that phone2 is registered on sop2
  • Reboot phone2 and verify that phone2 is registered on sop2
  • Call extension1 from a phone attached to sop2 and verify that phone1 is ringing
  • Call extension1 from a phone attached to sop1 and verify that phone1 is ringing
  • Stop phone1 and call extension1 from a phone attached to sop2 and verify that phone2 is ringing
  • Stop phone1 and call extension1 from a phone attached to sop1 and verify that phone1 is ringing
  • Restart asterisk on sop2 and repeat the test calls

Change properties of an extension

  • Change the first name and last name of extension1
  • Do an apply-extension-change of extension1
  • Dial from phone1 and check that the caller id has been updated
  • Dial from phone2 and check that the caller id has been updated
  • Restart asterisk on sop2 (extension1's primary SOP) and check that caller id is still correct

Add a speedial

  • Create a new speedial (extension2, profile redirect) without primary and secondary phone, with SOP1 set to 'All' and the home number set to 'extension1'
  • Open an asterisk's console on sop1
  • Open an asterisk's console on sop2
  • Do an apply-extension-change of extension2
  • Verify that the extensions are not reloaded on sop1
  • Verify that the extensions are not reloaded on sop2
  • Call extension2 from a phone attached to sop1 and verify that phone1 is ringing
  • Call extension2 from a phone attached to sop2 and verify that phone1 is ringing

Active-Active configuration

  • Set SOP2 of extension1 to 'sop3'
  • Set SOP2 of phone1 to 'sop3'
  • Set SOP3 of phone2 to 'sop3'
  • Do an apply-extension-change of extension1
  • Reboot phone1
  • Reboot phone2
  • Stop SOP1 and call extension1 from a phone attached to sop2 and verify that phone1 is ringing
  • Stop SOP1 and call extension1 from a phone attached to sop1 and verify that phone1 is ringing
  • Stop SOP1, stop phone1 and call extension1 from a phone attached to sop2 and verify that phone2 is ringing
  • Stop SOP1, Stop phone1 and call extension1 from a phone attached to sop1 and verify that phone1 is ringing
  • Restart asterisk on sop2 (extension1's primary SOP) and repeat the test calls

Copyright © Escaux SA