This is an old revision of the document!
Work in progress
This extension brings to TeemIp the management of phone number plans: phone number ranges, phone numbers and extensions. It also enhances the end-user devices of the CMDB with SIM cards and links telephony devices to the phone numbers they use.
| Version | Release Date | Status | iTop Min | IPAM for iTop Min | Comments |
|---|---|---|---|---|---|
| 1.0.0 | TBD | In development | 3.3.0 | 3.3.0 | - Initial revision |
The TeemIp Telephony Management extension allows telephony administrators to document the phone number plans of their organization and the devices that use them:
[Picture: telephony_overview.png - Telephony Space dashboard showing phone number objects and telephony devices]
The TeemIp Telephony Management extension is licensed under the terms of the GNU Affero General Public License Version 3 as published by the Free Software Foundation. This gives you legal permission to copy, distribute and/or modify TeemIp Telephony Management under certain conditions. Read the ’license.txt’ file in the TeemIp distribution. TeemIp Telephony Management is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
This extension documents phone number plans and telephony devices. It doesn't drive telephony systems (PBX, carriers' portals…).
Phone numbers are managed in international E.164 format only. Numbers typed in national format are rejected.
TeemIp standalone: The extension is embedded in TeemIp standalone.
iTop: When installed on an iTop application, you need IPAM for iTop to be installed as well.
The enhancements of end-user devices (SIM cards, links between devices and phone numbers) require the End-user Devices Management module to be selected at installation time.
TeemIp standalone: Installation is done with the application itself, through the setup.
iTop: To add the extension on an iTop application, follow the Standard installation process.
The extension is made of the following modules:
| Module | Description | Installation |
|---|---|---|
| teemip-phone-number-mgmt | Phone number ranges, phone numbers, extensions and country calling codes | Visible at setup time |
| teemip-endusers-devices-extended | SIM cards and links between end-user devices and phone numbers | Automatically selected with teemip-phone-number-mgmt and End-user Devices Management |
| teemip-bridge-endusers-devices-extended-services | Displays provider contracts and services on telephony devices, tablets and peripherals | Automatically selected when the End-user Devices / Services bridge is installed |
No specific configuration is required in TeemIp's configuration file for that extension to work. However, some default settings may be changed.
Under the Modules specific settings section, the following parameters may be set for the teemip-phone-number-mgmt module.
The Previous and Next buttons displayed on phone number ranges and phone numbers are controlled by the following parameters:
'teemip-phone-number-mgmt' => array ( 'range_navigation' => array ( 'enabled' => true, 'within_range_only' => true, ), 'number_navigation' => array ( 'enabled' => true, 'within_range_only' => true, ), ),
| Parameter | Description | Default value |
|---|---|---|
| enabled | Display the Previous and Next buttons | true |
| within_range_only | Navigate only within the parent range (for ranges) or within the range of the number (for phone numbers). When set to false, navigation is done within the organization. | true |
Three background tasks may align the status of phone numbers with the CIs that use them. They are all disabled by default.
'teemip-phone-number-mgmt' => array (
'pn_allocate_on_ci' => array (
'enabled' => false,
'debug' => false,
'periodicity' => 3600,
'status_list' => array ('implementation', 'production'),
),
'pn_release_on_ci_status' => array (
'enabled' => false,
'debug' => false,
'periodicity' => 3600,
'status_list' => array ('obsolete'),
),
'pn_release_on_no_ci' => array (
'enabled' => false,
'debug' => false,
'periodicity' => 3600,
'target_status' => 'released',
),
),
| Task | Description |
|---|---|
| pn_allocate_on_ci | Sets to Allocated the phone numbers that are not allocated yet and that are attached to at least one CI whose status belongs to status_list. For classes of CIs without status, or if status_list is empty, the status of the CI is not considered. |
| pn_release_on_ci_status | Sets to Released the allocated phone numbers whose CIs all have a status belonging to status_list. A number shared by an obsolete CI and a CI in production remains allocated. Links between the CIs and the phone number are kept. |
| pn_release_on_no_ci | Sets the allocated phone numbers that are not attached to any CI to target_status, which may be released or unassigned. |
Common parameters:
| Parameter | Description | Default value |
|---|---|---|
| enabled | Activates the task | false |
| debug | Displays traces in the cron output | false |
| periodicity | Time between 2 executions of the task, in seconds | 3600 |
This section provides, as an example, a method that can be followed to implement TeemIp Telephony Management.
The extension brings a new Telephony Management menu with the following entries:
| Menu | Description |
|---|---|
| Telephony Space | Dashboard giving access to phone number objects, telephony devices and devices with a SIM card |
| New Phone Number object | Creation of a phone number range, a phone number or an extension |
| Search for Phone Number objects | Search among all phone number objects |
| Phone Number Ranges | List of phone number ranges |
| Phone Numbers | List of phone numbers |
| Extensions | List of extensions |
[Picture: telephony_menu.png - Telephony Management menu and Telephony Space dashboard]
Phone number ranges, phone numbers and extensions share the following attributes:
| Name | Type | Mandatory? |
|---|---|---|
| Organization | Foreign key to a(n) Organization | Yes |
| Status | Possible values: Reserved, Allocated, Released, Unassigned | Yes |
| Note | Multiline character string | No |
| Requestor | Foreign key to a(n) Person of the organization | No |
| Allocation date | Date and time | Automatically computed |
| Release date | Date and time | Automatically computed |
A phone number range is a block of consecutive phone numbers of a given country, like the numbers assigned by a carrier to an organization. Ranges can be nested to document how a block is split within the organization.
| Name | Type | Mandatory? |
|---|---|---|
| General Information | ||
| Organization | Foreign key to a(n) Organization | Yes |
| Name | Alphanumeric string | Yes |
| Status | Possible values: Reserved, Allocated, Released, Unassigned | Yes |
| Note | Multiline character string | No |
| Requestor | Foreign key to a(n) Person | No |
| Allocation date | Date and time | Automatically computed |
| Release date | Date and time | Automatically computed |
| Delegation Information | ||
| Delegated from | Foreign key to a(n) Organization | No |
| Numbering Information | ||
| Country | Foreign key to a(n) Country Calling Code | Yes |
| Parent range | Foreign key to a(n) Phone Number Range | Automatically computed |
| First number | Phone number in E.164 format | Yes |
| Last number | Phone number in E.164 format | Yes |
| Registered numbers | Percentage of phone numbers registered in the range | Automatically computed |
| Tab | Description |
|---|---|
| Contacts | All the contacts attached to the range |
| Documents | All the documents attached to the range |
| Phone numbers | All the phone numbers that belong to the range |
At creation time, first and last numbers are prefilled with the calling code of the selected country. Numbers can be typed with separators (spaces, dots, dashes, slashes, parentheses), with the 00 international prefix or with the (0) trunk prefix: they are automatically stored in E.164 format (e.g. +33123456789).
[Picture: classcreation_tippnrange.png - Creation form of a phone number range]
From the Phone Number Ranges menu or from the Telephony Space dashboard, select the range you are interested in:
[Picture: classdisplay_tippnrange.png - Details of a phone number range]
The Previous and Next buttons give access to the neighbour ranges, according to the configuration parameters.
The Display Tree action of the ranges' list displays the hierarchy of phone number ranges of the current organization. Delegated ranges may be folded or unfolded. The Display List action brings back the standard list.
[Picture: classdisplay_tippnrange_tree.png - Tree of phone number ranges]
| Name | Type | Mandatory? |
|---|---|---|
| General Information | ||
| Organization | Foreign key to a(n) Organization | Yes |
| Status | Possible values: Reserved, Allocated, Released, Unassigned | Yes |
| Note | Multiline character string | No |
| Requestor | Foreign key to a(n) Person | No |
| Allocation date | Date and time | Automatically computed |
| Release date | Date and time | Automatically computed |
| Number Information | ||
| Phone number range | Foreign key to a(n) Phone Number Range of the organization | No |
| Number | Phone number in E.164 format | Yes |
| Tab | Description |
|---|---|
| Contacts | All the contacts attached to the phone number |
| Documents | All the documents attached to the phone number |
| Extensions | All the extensions attached to the phone number |
| CIs | All the CIs using the phone number, grouped by class. Obsolete CIs are listed as well. |
Once a range is selected in the creation form, the number is prefilled with the prefix shared by all numbers of the range. For instance, for a range going from +33140000000 to +33140009999, the number is prefilled with +3314000. The prefix replaces the number as long as it is empty or incomplete and doesn't start with the prefix of the selected range.
[Picture: classcreation_tipphonenumber.png - Creation form of a phone number with the range prefix]
From the Phone Numbers menu or from the detailed display of a range, select the phone number you are interested in:
[Picture: classdisplay_tipphonenumber.png - Details of a phone number with its CIs tab]
The Previous and Next buttons give access to the neighbour phone numbers of the same length, according to the configuration parameters.
When a phone number is not allocated, the Allocate number to CI action of the Other Actions menu allows you to attach it to a CI of the same organization. The form proposes:
[Picture: classaction_tipphonenumber_allocate.png - Allocate number to CI form]
Once applied, the CI points to the phone number and the phone number status is set to Allocated.
When a phone number is allocated, the Un-allocate number from all CIs action of the Other Actions menu detaches it from all the CIs that use it and sets its status to Released.
[Picture: classaction_tipphonenumber_unallocate.png - Result of the Un-allocate number from all CIs action]
An extension is a code dialed after a phone number to reach a given line, like an internal line behind a switchboard number.
| Name | Type | Mandatory? |
|---|---|---|
| General Information | ||
| Organization | Foreign key to a(n) Organization | Yes |
| Status | Possible values: Reserved, Allocated, Released, Unassigned | Yes |
| Note | Multiline character string | No |
| Requestor | Foreign key to a(n) Person | No |
| Allocation date | Date and time | Automatically computed |
| Release date | Date and time | Automatically computed |
| Extension Information | ||
| Phone number | Foreign key to a(n) Phone Number of the organization | Yes |
| Code | Alphanumeric string | Yes |
| Tab | Description |
|---|---|
| Contacts | All the contacts attached to the extension |
| Documents | All the documents attached to the extension |
[Picture: classdisplay_tippnextension.png - Details of an extension]
A SIM card is a physical device that may be hosted by a mobile phone, a tablet, a PC, a peripheral or a network device and that may be linked to a phone number.
SIM cards are physical devices: they share the attributes of physical devices (name, organization, status, location, brand, model, serial number, asset number, dates…). The following attributes are specific to SIM cards:
| Name | Type | Mandatory? |
|---|---|---|
| Format | Possible values: Full-size, Mini-SIM, Micro-SIM, Nano-SIM, Embedded-SIM, Full-size that can be cut to micro, Full-size that can be cut to nano, Micro-SIM that can be cut to nano | No |
| ICCID | ICCID code or SIM card number: 89 followed by 17 or 18 digits, or 13 digits | Yes |
| Carrier | Foreign key to a(n) Organization | No |
| Phone number | Foreign key to a(n) Phone Number of the organization | No |
| PIN | Number with 4 to 8 digits | No |
| PIN 2 | Number with 4 to 8 digits | No |
| PUK | Number with 8 digits | No |
| PUK 2 | Number with 8 digits | No |
| Main contact | Foreign key to a(n) Contact of the organization | No |
| Host | Foreign key to a(n) Physical Device | No |
| Host interface | Foreign key to a(n) Physical Interface of the host | No |
[Picture: classdisplay_tipsimcard.png - Details of a SIM card]
The extension enhances the following end-user devices:
| Class | New attributes |
|---|---|
| Phone, IP Phone, Mobile Phone | Phone number: foreign key to a(n) Phone Number of the organization. It replaces the free text phone number attribute of the standard datamodel. |
| Mobile Phone | SIM Card Format, SIM Card #1 and SIM Card #2 |
| Tablet, PC, Peripheral, Network Device | SIM Card Format and SIM Card |
When the End-user Devices / Services bridge is installed, phones, IP phones, mobile phones, tablets and peripherals also display their provider contracts and services.
[Picture: classdisplay_mobilephone.png - Details of a mobile phone with its phone number and SIM cards]
A country calling code defines the international calling code (ITU-T E.164) of a country. The list of countries is loaded at installation time.
| Name | Type | Mandatory? |
|---|---|---|
| Country | Alphanumeric string | Yes |
| ISO code | ISO 3166-1 alpha-2 code of the country (2 capital letters) | Yes |
| Calling code | Country calling code, without '+' (1 to 3 digits) | Yes |
| Phone number ranges | All the phone number ranges of the country | No |
Country calling codes are grouped in the dashlet “Telephony Typologies” of the typology configuration menu.
[Picture: overview_typology_telephony.png - Telephony Typologies dashlet]
Audit rules are embedded within the extension. They are grouped under the Telephony audit domain, with one category per class of device:
| Category | Rule |
|---|---|
| SIM cards | SIM cards without phone number |
| Phones | Phones without phone number |
| Mobile phones | Mobile phones without phone number |
| IP phones | IP phones without phone number |
[Picture: audit_telephony.png - Telephony audit domain and its results]
The TeemIp Telephony Management extension brings a new profile dedicated to the management of phone number objects: “Phone Numbers Manager”, a “Person in charge of the phone numbers space”. It has all rights on phone number ranges, phone numbers and extensions, and on their links with contacts, documents and tickets. It has read rights on all other objects.
This profile extends capabilities and must be used together with other profiles like ConfigurationManager.