|Table of Contents|
There are myriad VoIP phones on the market that people use with Asterisk. None of them are built specifically for Asterisk, so they don't take any particular advantage of Asterisk's applications. And, each one of them is too difficult to use.
A Digium phone can communicate with Asterisk, or with any other SIP-based system. In this respect, a Digium phone is somewhat like other SIP phones. In order to provide more than just the capabilities of a regular SIP phone, Digium makes available the Digium Phone Module for Asterisk (DPMA). DPMA is a binary Asterisk module that provides a means of secure communication between Digium phones and Asterisk. This secure means provided by DPMA is used by Asterisk to provision and manage Digium phones, and by the phones to directly access Asterisk's internals - leading to a richer set of phone applications, and happier users.
DPMA: What is it?
DPMA is a binary Asterisk module that provides a means of secure communication between Digium phones and Asterisk. This secure means is used to provision and manage the phones and to provide direct access to Asterisk's internal applications. DPMA is not required to use Digium phones, but offers a number of significant advantages. A single, free license is required for each Asterisk system running DPMA. For more information on installation and configuration, please see the support pages for Digium phones.
DPMA Compatibility and Requirements
DPMA is compatible with Asterisk 17, 16, 15, 14, 13, 12, 11, the open source Certified Asterisk releases of Asterisk 1.8, beginning with the asterisk-1.8.11-cert1 release, and with the "-digiumphones" branch of Asterisk 10, beginning with Asterisk 10.5.0. DPMA is not compatible with any other open source version of Asterisk.
Because Asterisk 10, Asterisk 1112, 14, and Asterisk 12 15 have reached EOL status, new releases of DPMA are not being made against them. Users of Asterisk 10 and 12 should consider upgrading to a supported version of Asterisk, e.g. Asterisk 13 or Asterisk 15.
The features outlined here are compatible with the latest releases of Asterisk 16, Asterisk 15, Asterisk 14, Asterisk 13, DPMA 3.5.0 2, and the latest Digium phone firmware releases, 2_7_3 and 1_9_5.
1 - Presence function within DPMA requires the PRESENCE_STATE Asterisk function. If the function is not available, you will likely see a question-mark person icon on the phone's primary line and you will see a WARNING on the Asterisk CLI.
4 - DPMA also requires Asterisk's standard voicemail application, app_voicemail.
PJSIP Version Requirements
In versions of Asterisk prior to 12, DPMA is used only with chan_sip. Asterisk 12 introduced support for chan_pjsip, based on pjproject. DPMA 2.0 was released for Asterisk 12 and operates with both chan_sip and with chan_pjsip built on pjproject version 2.1. DPMA 2.1 was released for both Asterisk 12 and Asterisk 13. Because of API changes made within pjproject, DPMA 2.1.1 and greater require pjproject version 2.3 or greater.
To ensure that you are using the correct version of pjproject with DPMA, please refer to the DPMA's Changes wiki page, or the CHANGES and UPGRADE.txt files distributed with the DPMA binary tar ball.
DPMA is not compatible with versions of CentOS prior to 6.0.
Certified Asterisk and DigiumPhones Branches
DPMA is currently compatible with mainline releases of Asterisk 17, 16, 15, 14, 13, 12 and 11, but is not compatible with any previous mainline releases because of the release policies of open source Asterisk. Per release policy, once a branch of Asterisk, e.g. 1.4, 1.6.2, 1.8, 10, etc. is created, bugs are fixed, security vulnerabilities are closed, but new features are not added. Over time, this has proven to be an effective policy at limiting the introduction of regressions and making upgrades between branch versions an easy process.
Because the Digium Phone module for Asterisk requires new features - APIs, SIP messaging infrastructure, voicemail changes, etc. - that are currently only available in Asterisk 17, 16, 15, 14, 13, 12, 11 - and because Digium phones will require new changes in the future as additional phone applications are provided, new branches of earlier, but still supported versions of Asterisk, were required. For Asterisk 1.8 users, all of the code necessary to support DPMA, as well as changes to Asterisk applications, such as voicemail, parking, user presence, etc. is available in the Certified Asterisk releases, beginning with the asterisk-1.8.11-cert1 release. For more information about Certified Asterisk, please see the overview on the Digium website. Support for Asterisk 10 was provided in the "-digiumphones" branch of Asterisk 10. This branch tracks the mainline branch of Asterisk with respect to features and bugfixes, but also supports DPMA. As with any other branch of Asterisk, both Certified Asterisk and -digiumphones branches are licensed under the GPLv2 and are made available for download via subversion, as tarballs, and as packages.