DPMA Configuration

Phones, Lines, Applications, Ringtones, Alerts, Firmware and Translations are configured in the res_digium_phone.conf configuration file – normally located at /etc/asterisk/res_digium_phone.conf. The file contains one reserved section:

  • [general]

The [general] section contains settings that are specific to the operation of the DPMA itself.

Ten other section types are available for user configuration, each contains a type definition. The type definition determines the function of the section. The ten types are:

  • network

  • phone

  • line

  • external_line

  • application

  • ringtone

  • alert

  • firmware

  • translation

  • multicastpage

network contains all settings for a network profile, to be applied to a phone 
phone sections contain all settings for a phone profile.
line sections contain all settings for a line to be applied to a phone 
external_line sections contain all settings for registration to an external SIP server, e.g. another Asterisk machine, to be applied to a phone 
application sections contain all settings for a particular application that's running on a Sangoma phone, e.g. the Queues application, to be applied to a phone 
ringtone sections contain all settings for a particular tone, to be applied to a phone 
alert sections contain all settings for a ringtone to be combined with a particular info message and a ringing type, to be applied to a phone 
firmware sections contains settings for a firmware file, to be applied to a phone 
translation sections contain all settings for a translation set, to be used in an application that is then applied to a phone

multicastpage sections contain all settings for a multicast listener, to be applied to a phone

The network, phone, line, external_line, application, ringtone, alert, firmware, translation and multicastpage sections of res_digium_phone.conf are defined by a section identifier encapsulated in square brackets and are user-definable.

Example

This is an example, using invalid options and functions, of a res_digium_phone.conf configuration file, displaying the organizational layout. The various options and functions are described later in this page.

Example res_digium_phone.conf layout.

[general] ; comments are preceded by a semicolon ; ; the general section contains many options generaloption=value generaloption2=othervalue ; [MyNetwork] ; A network type=network ; Network options go here networkoption=value networkoption2=othervalue ; [MyPhone] ; A phone type=phone ; Phone options go here phoneoption=value phoneoption2=othervalue ; [MyAccount] ; A SIP endpoint from pjsip.conf type=line ; Line options go here lineoption=value lineoption2=othervalue ; [MyExternalAccount] ; An external SIP registration type=external_line ; External Line options go here externallineoption=value externallineoption2=othervalue ; [MyApplication] ; An application type=application ; Application options go here applicationoption=value applicationoption2=othervalue ; [MyRingtone] ; A ringtone type=ringtone ; Ringtone options go here ringtoneoption=value ringtoneoption2=othervalue ; [MyAlert] ; An alert type=alert ; Alert options go here alertoption=value alertoption2=othervalue ; [MyFirmware] ; A firmware type=firmware ; Firmware options go here firmwareoption=value firmwareoption2=othervalue ; [MyTranslation] ; A translation type=translation ; Translation options go here translationoption=value translationoption2=othervalue ; [MyMulticastPage] ; A multicastpage type=multicastpage ; Multicastpage options go here multicastpageoption=value multicastpageoption2=othervalue

Affecting Change

As with other Asterisk modules, If you make changes to the res_digium_phone.conf configuration file on a running system, those changes will not be reflected in Asterisk until you reload the DPMA module.  To reload the DPMA module perform:

pbx*CLI> module reload res_digium_phone.so

In response, you should see:

Module 'res_digium_phone.so' reloaded successfully. -- Reloading module 'res_digium_phone.so' (Digium Phone Module for Asterisk)

Further, just because changes have been loaded into DPMA at the Asterisk level, those changes are not necessarily reflected on the phone itself.  To affect those changes on the phone, you will need to issue a reconfigure command to the phone.  To issue a reconfigure command to the phone, where the phone's identifier is 101, perform:

In response, you'll see:

Other sections of this wiki outline the available CLI and AMI capabilities of DPMA.

Authentication Options

The General Section provides the following options related to authentication:

Option

Values

Description

Option

Values

Description

server_uuid

String

Sets a unique identifier for this server. Used, notably, inside the voicemail application for forwarding to contacts associated with this server. Optional, no default. If server_uuid is set in the general section, it must also be set for individual contacts. If it is only set in one location (general or contact) instead of both, forwarding of voicemails to contacts is not permitted.

globalpin

integer; e.g. 10101019

If userlist_auth is set to globalpin, sets the PIN that must be entered on a phone, at boot, in order to retrieve the list of available phone configurations. If config_auth is set to globalpin, sets the PIN that must be entered on a phone, at the userlist screen, in order to request a particular phone configuration - note that if the globalpin has already been entered to authenticate to retrieve the list of available phone configurations, that it will not required a second time in order to request a particular phone configuration. If group_pin is used for phones, and userlist_auth and config_auth are set to globalpin, then entry of the globalpin will show all phones for all groups

userlist_auth

disabled, globalpin

Specifies the kind of authentication required to retrieve the list of available phone profiles from the provisioning server. Options are "disabled," where no authentication is required to retrieve the list of phone profiles; and "globalpin," where entry of the Global PIN or a group_pin is required in order to retrieve a list of phone profiles. If the globalpin is entered by a phone user to retrieve the user list, all phones configured in the DPMA will be shown. If, instead, a group_pin is entered, only the phones with matching group_pins will be shown.

config_auth

mac, pin, globalpin, disabled

Specifies the kind of authentication required to retrieve a phone's configuration from the provisioning server. Options are "mac," where the MAC address of the device requesting the configuration must match the phone profile, and if it does, the phone will be automatically provisioned with the matching phone profile; "pin" where the entered PIN must match the phone profile; "globalpin," where the entered PIN must match the Global PIN or a group_pin; and disabled, where profiles are served without authentication - with this setting, any phone can pull any phone profile defined in this configuration file with no authentication challenges.

mDNS Discovery Options

The General Section provides the following options related to mDNS / Avahi Service Discovery:

Option

Values

Description

Option

Values

Description

mdns_address

IP address or Hostname

The registration address provided by DPMA to Avahi. This is the address to which phones discovering DPMA by using mDNS will contact for SIP communications

mdns_port

Port, as an Integer; e.g. 5060

The registration port provided by DPMA to Avahi. This is the port to which phones discovering DPMA by using mDNS will connect for SIP communications

mdns_transport

udp, tcp, tls

Sets the transport type provided by DPMA to Avahi. This is the transport type to which phones discovering DPMA by using mDNS will connect for SIP communications. Defaults to udp. Using tls or tcp as a transport for phones attached to DPMA requires Asterisk 13.11.0 or greater.

service_name

string, e.g. Sangoma Phones Config Server

The name of the service to be used in Avahi service discovery. Defaults to "Digium Phones Config Server" when service_discovery_enabled, mdns_address and mdns_port are set.

service_discovery_enabled

yes / no

If set to yes, will advertise the config server using Avahi. Defaults to yes. The Discovery Service will only be enabled when registration_address and registration_port are explicitly configured.

Files Options

The General Section provides the following options related to Files:

Option

Values

Description

Option

Values

Description

file_directory

path, e.g. /var/lib/asterisk/digium_phones

Specifies a folder from which phones can retrieve Display Rules XML files. Defaults to /var/lib/asterisk/digium_phones

Other Options

The General Section provides the following other options:

Option

Values

Description

Option

Values

Description

pjsip_message_context

A dialplan context addressable by PJSIP

The dial plan context used for routing PJSIP messages so that conflicts found in pjsip.conf can be avoided. Defaults to dpma_pjsip_message_context

transaction_initial_threads

Integer

Initial number of threads to handle transactions with. Defaults to 1

transaction_max_threads

Integer

Maximum number of threads to handle transactions with. Threads are created as needed by a threadpool. Defaults to 4.

 

Example

In this example:

  • The general section has been configured with a Global PIN of 344486 (DIGIUM)

  • Userlist authentication has been disabled

  • Config Authorization has been set to PIN

  • The Avahi service name has been set to "Go 4 Phones" with discovery enabled and is pointing to 10.1.2.3 on port 5060

  • Files are stored in /var/lib/asterisk/digium_phones

Example General Section configuration.

Network Configuration Options

Network profiles are configured by defining a context with type option equal to "network." A Network profile contains provisioning information specific to a CIDR-numbered network. When the Sangoma phone boots, it compares its network address to the CIDR addresses defined for each of its network profiles, and the phone choses to use the provisioning information specific to the network on which it is located. Network profiles allow administrators to gracefully handle situations where the movement of a Sangoma phone causes the registration address (and/or other information) of the Asterisk server to change.

A Network Is Required

Definition of a network is mandatory. Older versions of the DPMA, prior to DPMA 1.2, did not require a network section. DPMA beginning with 1.2 requires a network section.

 

It is good practice to create a network with a CIDR of "0.0.0.0/0" When thus set, the phone is configured with a network that it will use when no other networks are matched - a wildcard network.

More than one Network profile may be assigned to a Sangoma phone.

Option

Values

Description

Option

Values

Description

alias

String, e.g. MyNetwork

The name for the network, viewable in the phone's preferences menu

cidr

CIDR noted network, e.g. 198.51.100.1/24

A CIDR-formatted network address

registration_address

IP address or Hostname

Allows for explicit definition of the address to which phones should register.

registration_port

Port, as an Integer; e.g 5060

The port on which the registration server is running – the same port on which SIP is running on the Asterisk instance.

transport

udp, tcp, tls

Sets the transport type for communications using this network. Defaults to udp. Using tls or tcp as a transport for phones attached to DPMA requires Asterisk 13.11.0 or greater.

alternate_registration_address

IP address or Hostname

Optional. If defined, the address to which phones will maintain a backup registration. If the primary server becomes unavailable, calls will be directed to this alternate host.

alternate_registration_port

Port, as an Integer; e.g. 5060

Optional. If defined along with alternate_registration_address, the port to be used for the backup registration.

alternate_transport

udp, tcp, tls

Sets the transport type for communications using the alternate host. Defaults to udp.

file_url_prefix

URL, e.g. http://10.10.10.10/file_package_directory

Specifies the URL prefix the phone module should use to tell the phones where to retrieve firmware, logo, ringtone, contacts and blf items files. Sangoma phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com

public_firmware_url_prefix

URL

Specifies the URL prefix the phone should use, if public_firmware for a firmware profile is set to yes, to download firmware if the phone fails to retrieve a given firmware from the location specified in its firmware profile. This will default to a publicly accessible site hosted by Sangoma (address: Index of /firmware/asterisk ) if it isn't specified manually. When using firmwares from a public firmware repository, the path will always use the following pattern: public_firmware_url_prefix/VERSION/VERSION_MODEL_firmware.eff

ntp_server

hostname, IP address, e.g. ntp.mycompany.com

Defines the NTP server to which phones will synchronize themselves

syslog_server

hostname, IP address, e.g. syslog.mycompay.com

Defines a remote server to which syslog message are sent. Defaults to none.

syslog_port

port, as an integer, e.g. 514

Port to which syslog messages are sent. Defaults to 514.

syslog_level

debug, error, warning, information

Logging level for syslog messages

network_vlan_discovery_mode

NONE, MANUAL, LLDP

Sets use of none, manual, or LLDP discovered VLAN and, if MANUAL, defines the network; defaults to LLDP

sip_qos

Integer (0-7)

Sets the SIP QoS level. Defaults to 3

rtp_qos

Integer (0-7)

Sets the RTP QoS level. Defaults to 6

network_vlan_id

Integer (0-4095)

Sets the VLAN identifier of the network port

pc_vlan_id

(Integer (0-4095)

Sets the VLAN identifier of the PC port

pc_qos

Integer (0-7)

Sets the QoS level for PC port traffic. Defaults to 0.

sip_dscp

Integer (0-63)

Specifies the DSCP field of the DiffServ byte for SIP Signaling QoS, defaults to 24

rtp_dscp

Integer (0-63)

Specifies the DSCP field of the DiffServ byte for RTP Media QoS, defaults to 46

udp_ka_interval

Integer in seconds

Defines the interval at which, for the UDP transport, phones using this network will send a lightweight keep-alive to the registered server. Defaults to 0, never.

Example

In this example:

  • a network, "MyNetwork" is defined

  • the CIDR for the network is 192.168.50.0/24

  • the Registration server is set to 10.10.10.10 on port 5060 using udp

  • the Alternate / Backup Registration server is set to 192.168.50.1 on port 5080 using udp

  • files will be retrieved from http://10.10.10.10/digium_phones_files

  • the backup location for firmware retrieval is Index of /firmware/asterisk

  • the phone's NTP server is set to 0.digium.pool.ntp.org

  • the phone does not configure syslog messages

  • the phone is set to manually assign itself to a VLAN

  • the phone's SIP QoS is set to 3

  • the phone's RTP QoS is set to 6

  • the phone's network port VLAN is set to 4

  • the phone's pc port VLAN is set to 10

  • QoS for the phone's pc port is set to 2

  • the DSCP field for SIP signaling is set to 24

  • the DSCP field for RTP media is set to 46

  • the phone will send a keep-alive to the server every 60 seconds

Example Network Configuration.

Phone Configuration Options

Phones profiles are configured by defining a context with type option equal to "phone." A Phone profile can have any number of lines associated with it. Each line defined in the configuration is reflected as a separate line key on the phone; and, when provisioned, is ordered on the phone itself as it is in the profile configuration.

The first line key associated with a Phone profile is set internally as the phone's primary line. The primary line is the only one listed in the User list on boot up. The primary line is also used to automatically match the phone to voicemail boxes.

The following options are provided for Phone configuration:

Option

Values

Description

Option

Values

Description

network

entity defined as "network" type in res_digium_phone.conf.

Assigns a network profile to a phone. More than one network can be assigned to a phone by using multiple network lines

firmware

entity defined as "firmware" type in res_digium_phone.conf

Assigns a firmware to a phone. More than one firmware can be assigned to a phone, provided that each firmware is for a different model, by using multiple firmware lines

mac

A MAC address, e.g. 0123456789ab

Optional. When set, and when the general config_auth option requires MAC, locks a phone configuration to a device matching this MAC address.

pin

integer, e.g. 10101019; or "voicemail"

Optional. When set, and when the general config_auth option requires PIN, one must enter this PIN on the phone before being able to pull the phone's configuration. If set to "voicemail" will tie the phone's pin to the voicemail account password, from voicemail.conf, as defined for the SIP peer, for flat-file configurations without externally maintained passwords only, used for the phone's primary internal line.

group_pin

integer; e.g. 101010109

Optional. When set, and when the general config_auth and userlist_auth options are set to globalpin, assigns this phone a group pin. When the group pin is input by the user, all phones with a matching group_pin will appear in the list of available phone profiles

line

entity defined as line in res_digium_phone.conf

Maps directly to a PJSIP endpoint entry. More than one line may be defined for a phone configuration. The first line entry defined is adopted as the phone's primary line.

external_line

entity defined as external_line in res_digium_phone.conf

Maps directly to an external_line defined in this configuration file. External line are lines not defined by SIP peers in sip.conf and generally do not register to this instance of Asterisk. If an external line is defined as the primary extension for a phone, many of the advanced phone application features will be disabled

application

Application section name identifier

Applies application-specific settings to a phone configuration. Multiple application options can exist in a single phone configuration

config_file

file, e.g. mycustomconfig.xml

The phone module automatically generates a configuration file for each phone based on the lines assigned to it; but, it is possible to supply a custom configuration file instead. Using this option will direct the DPMA to serve up the specified file, as found in the file_directory defined directory, to the phone. Note that using a custom configuration file, as opposed to the provisioning generated by the DPMA, precludes the phone's use of DPMA-specific applications, e.g. voicemail, parking, user status, etc. This option allows users to make use of the DPMA's mDNS provisioning capabilities, providing a simpler alternative to HTTP and Option 66 provisioning, but sacrifices the DPMA-specific features.

full_name

string, e.g. Bob Johnson

The full name of the person who will be using this phone, and what will appear in the user list that the phone pulls

contact

file, e.g. contacts.xml

An XML file, retrievable from the file_url_prefix, containing a list of contacts to serve to the phone. Multiple contact options can exist in a single phone configuration.

contacts_display_rules

file, e.g. mydisplayrules.xml

An XML file in the file_directory containing rules that control the display of actions when viewing a contact.

blf_contact_group

string, a group from contacts

Every contacts xml file will have at least one group defined in it. This setting controls which loaded group the phone should subscribe to for its Rapid Dial (BLF) keys. If this setting is blank, the phone will not subscribe for any device state or presence updates and LED indicators will not light.

blf_items

file e.g. blfitems.xml

An XML file, retrievable from the file_url_prefix, containing a list of items to be displayed on the phone's BLF keys. Only one blf_items option can exist in a single phone configuration. This option should note be used with phones possessing firmware older than 1.4, otherwise phones will end up in a boot loop.

blf_page_return_timeout

integer, time in seconds

An integer value representing the number of seconds until BLF page retrieval times out. Upon reaching the specified timeout the first page of BLF pages is shown. Defaults to 0 (never).

contacts_max_subscriptions

integer, e.g. 40

Sets the maximum number of SUBSCRIBEs a phone can perform; defaults to 40

timezone

Timezone String, e.g. America/Chicago

Sets the timezone used for the clock on this phone.

ntp_resync

seconds as integer, e.g. 86400

Defines the interval between NTP synchronization

parking_exten

extension, e.g. 700

Sets the extension used for parking calls. When this option is set, and the phone has an in-progress call, it will display a "Park" softkey, allowing for one touch parking.

parking_transfer_type

blind / attended

The type of transfer to perform when parking a call using the "Park" softkey.

show_call_parking

yes / no

Enables the built-in call parking application. When disabled, the one touch call parking softly is shown, if parking_exten is set, but the Parking Lot notice screen nor the Parking Lot applications are available from the phone's application menu.

ringtone

context name of a type=ringtone identifier

Loads ringtones onto a phone. More than one ringtone may be loaded onto a phone.

active_ringtone

Alarm, Chimes, Digium, GuitarStrum, Jingle, Office2, Office, RotaryPhone, SteelDrum, Techno, Theme, Tweedle, Twinkle, Vibe or the context name of a type=ringtone identifier that has been loaded onto the phone using the ringtone option

Sets the active ringtone for the phone, defaults to Digium.

web_ui_enabled

no / yes

By default, when using the Desk Phone Module for Asterisk, the phone's built-in Web UI is disabled. To override this and enable the Web UI anyway, which may result in unpredictable behavior if user settings conflict with the settings provided by the DPMA, enable this option.

record_own_calls

no / yes

When this option is enabled, and the phone has an in-progress call, it will display a "Record" softkey, allowing for one touch call recording. Disabled by default.

can_forward_calls

yes / no

When this option is disabled, the phone will not display the Call Forward application in the applications menu. Supported beginning with phone firmware 1.4.1

show_call_log

yes / no

When this option is disabled, the phone will not display the Call Log application in the applications menu or the associated soft key on the idle screen. Supported beginning with phone firmware 1.4.1.

logout_enabled

yes / no

When this option is enabled, the phone will load its LogOut application into the applications menu. Supported on D6x models beginning with firmware 2.5.0.

alert

Alert section name identifier

Defines Alerts to be applied to this phone profile. More than one Alert may be applied by specifying additional alert lines.

multicastpage

Mutlicastpage section name identifier

Defines Multicastpage listeners to be applied to this phone profile. More than one Multicastpage listener may be applied by specifying additional multicastpage lines.

blf_unused_linekeys

no / yes

Sangoma phones, by default, place BLF keys on the sidecar, not on unused line keys. To disable this behavior and allow BLF keys to start mapping from the next available unused line key, enable this option.

send_to_vm

yes / no

Disabling this option hides the "Send VM" softkey during incoming calls and the "Transfer VM" softkey inside the Contacts application during call transfers. Enabled by default.

d40_logo_file

string

The idle screen image for a D40 model phone in PNG format, 150x45 pixels, 8-bit depth, a color type without alpha transparency and less than 10k in size. Retrieved from the file_url_prefix. The D40, D45 and D50 screen size is the same; therefore it is permissible to re-use the same logo file for each.

d45_logo_file

string

The idle screen image for a D45 model phone in PNG format, 150x45 pixels, 8-bit depth, a color type without alpha transparency and less than 10k in size. Retrieved from the file_url_prefix. The D40, D45 and D50 screen size is the same; therefore, it is permissible to re-use the same logo file for each.

d50_logo_file

string

The idle screen image for a D50 model phone in PNG format, 150x45 pixels, 8-bit depth, a color type without alpha transparency and less than 10k in size. Retrieved from the file_url_prefix. The D40, D45 and D50 screen size is the same; therefore it is permissible to re-use the same logo file for each.

d60_logo_file

string

The idle screen image for a D60 model phone in PNG format, 296x128 pixels, 8-bit depth, a color type without alpha transparency and less than 10k in size. Retrieved from the file_url_prefix.

d62_logo_file

string

The idle screen image for a D62 model phone in PNG format, 296x128 pixels, 8-bit depth, a color type without alpha transparency and less than 10k in size. Retrieved from the file_url_prefix.

d65_logo_file

string

The idle screen image for a D65 model phone in PNG format, 296x128 pixels, 8-bit depth, a color type without alpha transparency and less than 10k in size. Retrieved from the file_url_prefix.

d70_logo_file

string

The idle screen image for a D70 model phone in PNG format, 205x85 pixels, 8-bit depth, a color type without alpha transparency and less than 10k in size. Retrieved from the file_url_prefix.

d80_logo_file

string

The idle screen image for a D80 model phone in PNG format, 800x1280 pixels. Retrieved from the file_url_prefix.

wallpaper_file

string

The wallpaper image for a D6x model phone in PNG format, 480x272 pixels, 8-bit depth, a color type without alpha transparency and less than 50k in size. Retrieved from the file_url_prefix.

ehs

auto, plantronics, jabra_iq

Sets the electronic hookswitch device type.

lock_preferences

yes / no

Enabling this option locks phone preference settings to the DPMA supplied settings. Enabling this option also hides phone preference menus for menu items that are set in the Phone profile. Disabled by default

login_password

Integer, e.g. 789

Sets the Admin Password for logging into Web UI or Admin Settings Section on Phone Menu, defaults to 789

accept_local_calls

any, host

Sets whether to accept calls from any source or only from hosts to which the phone is registered

display_mc_notification

yes / no

Enables / Disables display of missed calls on the phone, defaults to Enabled

idle_company_text

String

When set, allows control over the text string seen on idle screens in the status bar. D6x phones only, beginning with firmware 2.2.1.4. Defaults to null.

small_clock

yes / no

Enables / Disables display of the small-format clock on a D6x phone's idle screen. Defaults to disabled (show large clock).

default_fontsize

integer, e.g. 10

Sets the default font size for the phone. Caution should be exercised when using this option as larger sizes will cause labels to overrun their allowed space. D40, D45 and D50 default to 10. D70 defaults to 11.

brightness

Integer, 0-10

Sets the LCD screen brightness, defaults to 5

contrast

Integer, 0-10

Sets the LCD screen contrast, defaults to 5

dim_backlight

yes, no

Enable backlight dimming. When enabled, dims the screen after backlight timeout has been reached and phone is otherwise idle. Defaults to enabled

backlight_timeout

Integer (0-3200)

Time, in seconds, before backlight is set to backlight_dim_level while phone is idle; setting to 0 disables backlight timeout, defaults to 0

backlight_dim_level

Integer (0-10)

Brightness level dims to when when dim_backlight is enabled, defaults to 2.

active_locale

de_DE, en_AU, en_CA, en_GB, en_NZ, en_US, es_ES, es_MX, fr_BE, fr_CA, fr_FR, it_IT, nl_BE, nl_NL, pt_BR, pt_PT, ru_RU

Specifies the locale used by the phone, defaults to en_US. ru_RU applies only to D6x models of phones.

ringer_volume

Integer (0-10)

Sets the ringer volume, defaults to 5

speaker_volume

Integer (0-10)

Sets the speaker volume, defaults to 5

handset_volume

Integer (0-10)

Sets the handset volume, defaults to 5

headset_volume

Integer (0-10)

Sets the headset volume, defaults to 5

call_waiting_tone

yes / no

If disabled, the phone will not play a call waiting tone when it receives a new call while already on a call.

handset_sidetone_db

Integer, e.g. -25

Sets the gain, in negative dBs, for sidetone presented on the phone's handset. Defaults to -25. Sangoma cautions against changing this value.

headset_sidetone_db

Integer, e.g. -15

Sets the gain, in negative dBs, for sidetone presented on the phone's headset. Defaults to -15. Sangoma cautions against changing this value.

reset_call_volume

yes / no

If enabled, volume changes made during a call do not persist to the next call, defaults to disabled

headset_answer

yes / no

Sets whether to use the headset, rather than the speaker, for answering all calls, defaults to disabled

ring_headset_only

yes / no

Sets whether or not to play ringing tone out the headset, instead of the loudspeaker. Note that adjusting the ringing volume while ringing is playing out the headset port will cause ringing tone to play out the loudspeaker.

name_format

first_last, last_first

Formats the display of contact names, defaults to first_last

lan_port_mode

auto, 10hd, 10fd, 100hd, 100fd, 1000fd

Sets the port speed of the phones' LAN port. Available options depend on phone model. Defaults to auto

pc_port_mode

auto, 10hd, 10fd, 100hd, 100fd, 1000fd, off

Sets the port speed of the phones' PC port. Available options depend on phone model. When set to off, the PC port will be disabled. Defaults to auto

enable_check_sync

yes / no

Defaults to yes. If disabled, phones will not respond to check-sync SIP Events.

8021x_passthrough

1 / 0

Defaults to 0. If set to 1, phone will allow EAPOL packets to cross from PC port to LAN port.

8021x_eapol_on_disconnect

1 / 0

Defaults to 0. If set to 1, phone will keep track of EAPOL logins from PC-port attached devices and send a logoff on behalf of the attached MAC address when the PC-port device disconnects

8021x_method

null, eap-md5, peap-mschap, eap-tls, peap-gtc, ttls-mschap, ttls-gtc

Sets the method of 802.1X authentication for the phone, defaults to null (none).

8021x_identity

null, string

Sets the 802.1X authentication identifier (username), defaults to null (none).

8021x_anonymous_identity

null, string, PHONE_MAC

 Sets the 802.1X anonymous authentication identifier (username), defaults to null (none), can be set to "PHONE_MAC" to pass phone's MAC address

8021x_password

null, string

Sets the 802.1X authentication password, defaults to null (none)

8021x_client_cert_url

null, http(s) or ftp(s) URL

Sets the URL the phone will cURL its 802.1X client certificate from

8021x_client_cert_value

string

Sets the local name the phone should use when storing the certificate. Phone will retrieve a new certificate when factory defaulted or when value changes.

8021x_root_cert_url

null, http(s) or ftp(s) URL

Sets the URL the phone will cURL its 802.1X root (CA) certificate from

8021x_root_cert_value

string

Sets the local name the phone should use when storing the certificate. Phone will retrieve a new certificate when factory defaulted or when value changes.

8021x_debug

null, -d, -dd

Sets the debug level to be used when troubleshooting 802.1X authentication errors. Phone will generate error report that can be utilized by Sangoma Support. Phone should not be configured to operate in this mode on an ongoing basis as it will generate excessive messages. Defaults to null (none)

codecs

null, PCMU, PCMA, G722, G7221, G726-32, opus, G729, iLBC, L16, L16-256

Enables or disables codecs and sets the codec priority. To disable, prefix a codec name with an "!". Earlier entries have higher priority. Not all codecs apply to all models of phones.

openvpn_enable

0, 1

When enabled, and when necessary config files are present, the phone will run the OpenVPN client on boot. Applies to D6x models of phones.

openvpn_config_file_url

null, http(s) or ftp(s) URL

Sets the URL the phone will cURL its OpenVPN client configuration file from

openvpn_config_file_value

string

Sets the local name the phone should use when storing the openvpn configuration file. Phone will retrieve a new config file when factory defaulted or when value changes.

openvpn_root_cert_url

null, http(s) or ftp(s) URL

Sets the URL the phone will cURL the OpenVPN CA cert from

openvpn_root_cert_value

string

Sets the local name the phone should use when storing the openvpn root certificate. Phone will retrieve a new certificate file when factory defaulted or when value changes.

openvpn_client_cert_url

null, http(s) or ftp(s) URL

Sets the URL the phone will cURL the OpenVPN client certificate from

openvpn_client_cert_value

string

Sets the local name the phone should use when storing the openvpn client certificate. Phone will retrieve a new certificate file when factory defaulted or when value changes.

openvpn_client_key_url

null, http(s) or ftp(s) URL

Sets the URL the phone will cURL the OpenVPN client key from

openvpn_client_key_value

string

Sets the local name the phone should use when storing the openvpn client key. Phone will retrieve a new key file when factory defaulted or when value changes.

transport_tls_allowed

Boolean, defaults to null

Allows TLS signaling to be disabled or explicitly enabled. Defaults to null (use phone default).

expansion_enabled

yes / no

If enabled, causes a D65 to enable its EXP150M sidecar control daemon. Defaults to no.

expansion_page_indicators_enabled

yes / no

If enabled, causes the EXP150M to display page indicators when items on the non-visible page are active. Defaults to no.

Example

In this example:

  • the phone is assigned to a network called MyNetwork

  • the phone is configured to use a firmware called 1.1Firmware

  • the phone configuration is set for a phone whose MAC address matches 01:23:45:67:89:ab

  • the phone configuration has a PIN of 10101019

  • the phone has a group PIN of 1234

  • the phone's primary line is a line named bob101, mapped to PJSIP endpoint bob101

  • the phone's secondary line is a line named bob102, mapped to PJSIP endpoint bob102

  • the phone has an external line called bobexternal

  • the phone will load the application called queue-bob-1234

  • the phone will load the application called available-working

  • the phone will load the application called available-nopants

  • the phone will load the application called parking-sales

  • the phone will load the application called voicemail_for_de_DE

  • the phone does not load an external configuration file

  • the full name of the phone is Bob's Phone

  • the phone loads a contacts XML file named bobscontacts.xml

  • the phone loads a contacts display rules file called bobsdisplayrules.xml

  • the phone uses a contact group, from bobscontacts.xml, named "RapidDial" for its BLF keys

  • the phone loads a BLF Items file called bobsblfitems.xml

  • the phone will return to the first page of BLF results, if it's a D65, after 30 seconds

  • the phone is configured to allow 50 Contacts BLF subscriptions

  • the phone is set for the "America/Los_Angeles" timezone

  • the phone's NTP resynchronization time is 86400

  • the phone will blind transfer parked calls to extension 700

  • the phone's parking lot application will be visible

  • the phone loads a ringtone called FancyTone

  • the phone's active ringtone is a Guitar Strum

  • the phone's Web UI is disabled

  • one touch call recording is enabled

  • the call forward application is enabled

  • the call log application is enabled

  • the phone has been configured with an Alert called fancyringer

  • the phone's Rapid Dial keys will begin from the side car

  • the phone's Send VM and Transfer VM keys are enabled

  • the phone stores contacts on the server

  • if the phone claiming the profile is a D40, it will use the logo file d40_logo.png

  • if the phone claiming the profile is a D50, it will use the logo file d50_logo.png

  • if the phone claiming the profile is a D70, it will use the logo file d70_logo.png

  • if the phone claiming the profile is a D80, it will use the logo file d80_logo.png

  • if the phone is a D6x model, the phone will display a wallpaper my_wallpaper.png

  • the phone's EHS is set to auto, to operate with any of the supported EHS types

  • the phone's preferences are locked to the server's settings

  • the phone's login password id 1234

  • the phone will only accept local calls

  • the phone will display missed call notifications

  • the phone will display an idle company text of Office Phone

  • if the phone is a D6x model, the phone will display a small clock

  • the phone's brightness is 5

  • the phone's contrast is 5

  • the phone's backlight will dim

  • the phone's backlight will dim after 30 seconds

  • the phone's backlight will dim to 2

  • the phone's active_locale is de_DE

  • the phone's ringer is at level 5

  • the phone's speaker volume is 5

  • the phone's handset volume is 5

  • the phone's headset volume is 5

  • the phone's volume does not reset after calls

  • the phone will play a call waiting tone

  • the phone does not answer to the headset by default

  • the phone sends ringing tone to the loudspeaker

  • the phone's contacts will show up lastname, firstname

  • the phone's lan port is set to auto-negotiate

  • the phone's pc port is set to 100 megabit, full-duplex operation

  • the phone will respond to check-sync Events

Example Phone Configuration.

Line Configuration Options

Internal lines are PJSIP endpoints, but there is Sangoma Phone-specific data associated with lines that does not otherwise exist in PJSIP. Because of this, advanced line features must be defined separately from pjsip.conf, here, in res_digium_phone.conf. Advanced line configuration is not a requirement to get a line to work, it only acts as a method of setting advanced phone features to an already-defined pjsip.conf entry.

Option

Values

Description

Option

Values

Description

exten

string, e.g. 1000

When the PJSIP endpoint name is different than the actual extension used to contact this line, this option should be set to the line's dialable extension. By default it is assumed that the PJSIP endpoint is actual dialable extension, which is true for most Asterisk distributions such as FreePBX and AsteriskNOW, but is not considered a best practice for use of generic Asterisk.

digit_map

Digit mapping, see #dialplans

The digit mapping to use for this line.

line_label

string, e.g. MD 123

The line label to display on the phone for this line's line key.

mailbox

mailbox from voicemail.conf

The voicemail box associated with the line. When not set, this will default first to the mailbox defined for the PJSIP endpoint associated with the line, and second to a mailbox entry in voicemail.conf matching the name of the line. If neither of these are found and this option is not set, the line does not have a mailbox and visual voicemail will not be enabled. If PJSIP endpoints are stored using Sorcery rather than the flat pjsip.conf file, then the mailbox to which the PJSIP endpoint is assigned must be specified here, as it cannot be retrieved by the DPMA from Sorcery .

voicemail_uri

string, sip:user@host

If the phone's Msgs button should dial a SIP URI rather than opening the visual voicemail application, this option specifies what URI the Msgs button should dial. Setting this option on a phone's primary lie will disable visual voicemail.

outboundproxy_address

Host / IP address

The Outbound SIP proxy address this line should use

outboundproxy_port

Port as integer

The port of the Outbound SIP proxy; defaults to 5060 when outboundproxy_address is set

transport

udp, tcp, tls

SIP transport method this line should use. If not specified, the network transport is preferred. Using tls or tcp as a transport for phones attached to DPMA requires Asterisk 13.11.0 or greater.

media_encryption

null, sdes

Specifies media encryption protocol. Can be set to sdes, defaults to not set (none).

reregistration_timeout

integer, e.g. 300

The number of seconds before re-registering

registration_retry_interval

integer, e.g. 25

The number of seconds to wait before retrying to register after registration fails.

registration_max_retries

integer, e.g. 5

The number of times the phone will attempt to retry registering after registration fails

secret

string, e.g. mymagicpassword

If PJSIP endpoints are stored using Sorcery rather than the flat pjsip.conf file, then the secret for the PJSIP endpoint mapped to this line must be specified so that the Sangoma phone can be passed the correct PJSIP endpoint credentials.

context

Asterisk dialplan context

If PJSIP endpoints are stored using Sorcery rather than the flat pjsip.conf file, then the dialplan context to which the PJSIP endpoint is assigned must be specified so that dialplan hints can be properly created by DPMA.

callerid

caller id string, e.g. "Bob Jones" <1234>

If PJSIP endpoints are stored using Sorcery rather than the flat pjsip.conf file, then the caller ID for the PJSIP endpoint mapped to this line should be specified so that the Sangoma phone can be provided with a proper Caller ID.

subscribecontext

Asterisk dialplan context

Allows for overriding of the line's subscription context. If defined here will override the setting from Asterisk's PJSIP configuration

plar_number

Dialable Number

When set, specifies a number that will be automatically dialed when this line is taken off hook on the phone. Defaults to null (do not automatically go off-hook and dial a number). D6x models beginning with firmware 2.2.1.4.

Example

In this example:

  • the Digit Mapping for the phone is set to [0-8]xxx

  • The Label for the line, as it appears on the phone is BobbyJ

  • The Mailbox for the line is bob101

  • the Outbound Proxy is 10.10.10.1 and its port is 5060.

  • The Transport type for the signaling is TCP

  • Media Encryption is enabled

  • The Re-registration timeout is 300 seconds

  • The Registration Retry Interval is 25 seconds

  • The Maximum Registration Retries is 5 times

Example Line Configuration.

 

If PJSIP endpoints are configured using the Sorcery data storage mechanism, then the secret, context, and mailbox parameters must be populated.

External Line Configuration Options

External lines are external to this Asterisk instance; they are lines that are not entries in sip.conf. The external line concept exists to work around the forcing of lines as sip.conf peers. Since external lines are not SIP peers, they require more information than normal line configurations. Here are the external line-specific configuration options.

Note that all internal line options are also available for external lines; but, any internal line options specific to applications on the phone, such as mailbox to enable visual voicemail, will not work unless the server-side component resides on this Asterisk instance.

 

Configuring an external line as the primary line for a phone will result in the advanced PBX features being disabled for the phone

 

Option

Values

Description

Option

Values

Description

server_address

string, e.g. otherpbx.othercompany.com

The address this line should contact for registration and outbound calls

server_port

integer, e.g. 5060

The port this line should contact for registration and outbound calls. Defaults to 5060

transport

udp, tcp, tls

The transport type used for registration and calling to/from the server. Defaults to udp

secondary_server_address

string, e.g. backuppbx.othercompany.com

The address this line should contact for registration and outbound calls if the primary server is not available

secondary_server_port

integer, e.g. 5060

The port this line should contact for registration and outbound calls if the primary server is not available

secondary_server_transport

tcp or udp

The transport type used for registration and calling to/from the secondary server

media_encryption

null, sdes

Specifies media encryption protocol. Can be set to sdes, defaults to not set (none).

userid

string, e.g. bob1234

This line's SIP username. Defaults to the line's name

authname

string, e.g. bob1234

SIP authorization name if different than userid. If blank, defaults to userid.

secret

string, e.g. mymagicpassword

The SIP secret this line should used

register

yes / no

Indicates whether or not this line should register

callerid

string

Caller ID field to use for this line

Example

In this example:

  • The address of the external registration server is otherpbx.mycompany.com

  • The contact port of the external registration server is 5061

  • The transport method of the external registration server is TCP

  • The address of the secondary external registration server is otherpbx2.company.com

  • The contact port of the secondary registration server is 5061

  • The transport method of the secondary external registration server is UDP

  • Media Encryption is enabled

  • The SIP username is bob1234

  • The SIP authname is bob4321

  • The SIP password (secret) is mymagicalpassword

  • Registration is enabled

  • Caller ID is set to "Bob Jones" <555-1234>

Example External Line Configuration.

Application Configuration Options

Applications represent phone applications, separately applied to phone configurations, requiring parameters that cannot otherwise be inferred by DPMA. Applying an application to a phone configuration enables that application for that phone.

Option

Values

Description

Option

Values

Description

application

queue, status, parking, voicemail

The application type name

Queues Application

The Queues application provides phone users with permission-controlled views into Asterisk's app_queue.

Option

Values

Description

Option

Values

Description

queue

string

Asterisk's queue identifier, as configured in queues.conf

membername

string

Defaults to 'fullname' from the phone type configuration. Allows customization of the queue membername as viewed in the Queues application

location

Asterisk queue member location, e.g. Local/6002@ext-queue/n

Defines the location of the member, from app_queue.so's perspective. For setups not involving local channels, this may not be required.

member

yes / no

Defines whether or not the user of this application is also a member of the queue that will receive calls. Defaults to yes.

permission

status, overview, details

Sets the permission level for this user. Status provides only login/out/pause capabilities. Overview also provides statistical information about a queue. Details also provides information about waiting callers and on-call members.

login_exten

Asterisk extension@context, e.g. *451234@ext-queue

If defined, sets the extension to be dialed when a user of the application executes a log in command. If not set, the DPMA will use the QueueAdd functionality directly.

logout_exten

Asterisk extension@context, e.g. *451234@ext-queue

If defined, sets the extension to be dialed when a user of the application eecuted a log out command. If not set, the DPMA will use the QueueRemove functionality directly.

Example

In this example:

  • The Queue is sales-queue

  • The named identifier of the member is Bob Jones

  • The dial / channel location of the member if Local/6002@ext-queue/n

  • The user of this application is a full member of the queue and will be receiving calls

  • The user has details permission level

  • The login extension to be executed by Asterisk is *451234@ext-queue

  • THe logout extension to be executed by Asterisk is *451234@ext-queue

Example Queue Application Configuration.

Status Application

The status application on Sangoma phones provides users the ability to set their presence. That presence then can be read from the Asterisk dialplan for the purposes of call routing. The status application supports five main statuses, each of which can support a substatus message. Multiple Statuses can be applied to a Phone definition. If no Statuses are applied to a Phone definition, the default statuses (Available, Do Not Disturb, Away, Extended Away, Prefer Chat and Unavailable) will be used. Statuses can also be provided with an option that , when the phone is in a particular state, returns a 486 from the phone to Asterisk. By default, this behavior is off for a Status, when defined, but when a phone maintains no Status definitions 486 is returned, by default, for the Do Not Disturb and Extended Away statuses.

Option

Values

Description

Option

Values

Description

status

available, dnd, away, xa, chat, unavailable

Sets the base presence type from one of the available six types

substatus

string

Optional. Sets a substatus for a particular status, e.g. "At the movies" for the away status would result in "Away - At the Movies"

send486

yes / no

Defaults to no. If set, when this Status is set on a phone, the phone will return a 486 reject to Asterisk when called.

Example

In this example:

  • An available status with a subtype of "Working" is defined.

  • An away status with a subtype of "Without pants" and that returns 486 to Asterisk is defined.

Status Application Example Configuration.

Parking Application

The Parking application on Sangoma phones allows users to see calls parked into parking lots. If there are no parking applications set for a phone, and the parking_exten option has been set for the phone, then the phone will see calls parked into all parking lots that Asterisk is aware of. If there are any parking applications set for a phone, and the parking_exten option has been set for the phone, then the phone will only see the parking lots defined for the phone.

Option

Values

Description

Option

Values

Description

parkinglot

string

Sets the name of a parking lot context as defined by Asterisk in features.conf

Example

In this example:

  • A parking lot application for the sales-parking and support-parking lots is defined

Voicemail Applications

The Voicemail application on Sangoma phones represents the folder names in a folder list and controls the password access.  The application is in turn applied to a phone. Then, when the phone loads the voicemail application, the folder names will appear translated as per the translation set. So, in order to have localized voicemail folders, one must create a translation, apply it to a voicemail application, and apply that application to a phone.

Option

Values

Description

Option

Values

Description

translation

identifier of a type=voicemail section

Sets the translation set for the application

require_password

no, yes

If enabled, requires a user to input their phone PIN before they can access the voicemail application. Supported beginning with phone firmware 1.4.1.

Example

In this example:

  • A voicemail translation called voicemail_de_DE is used for this application

  • The voicemail application will require entry of the user's phone PIN before loading

Custom Applications

Sangoma phones support loading and running user-created custom JavaScript applications. Fore more information about creating these applications, and the endless possibilities therein, please see the Sangoma Phones SDK Wiki at Phone API Reference - Core - digium. Custom applications are always defined with an application name of "custom."

Option

Values

Description

Option

Values

Description

name

string

The name of the custom application, e.g. JasonParkerApp; also used for the idlescreen_softkey label

filename

string

A named .zip file containing the user's application, as reachable from the file_url_prefix.

autostart

yes / no

Sets whether or not the custom application should load when the phone boots, or the first time a user opens the application

key

value

Optional key=value parameters may be passed to the application

Example

In this example:

  • An application named Jason-Fancy-App is declared, it's of the Custom application type

  • The internal name of the application is jasonapp

  • The filename of the application, as retrieved from the file_url_prefix is jasonsillyapp.zip

  • The application will start when the phone boots

  • Custom keypairs for user=1234 and permission=lots are passed in

Example Custom Application.

Ringtone Configuration Options

A Ringtone defines an actual ringing tone to by used by a phone. When the phone rings, it's what's played over the phone's speaker.

Option

Values

Description

Option

Values

Description

alias

string

An identifier for the ringtone, e.g. FancyRinger. This identifier will be present in the phone's preferences menu and in its web menu

filename

string

A named 16-bit 16kHz mono raw audio file, not a .wav file, as reachable from the file_url_prefix.

Example

In this example:

  • The ringtone is identified as FancyRinger

Example Ringtone Configuration.

Alert Configuration Options

Alerts define an Alert-Info header, a ringing type and a ringtone to be used by the phone. Alerts allow complete customization of the phone's ringing behavior.

Option

Values

Description

Option

Values

Description

alert_info

string

The Alert-Info header that the phone should expect when this Alert is to be used.

ring_type

normal, answer, ring-answer, visual

The type of ringing behavior that the phone should present when this Alert is called.

ringtone

Alarm, Chimes, Digium, GuitarStrum, Jingle, Office2, Office, RotaryPhone, SteelDrum, Techno, Theme, Tweedle, Twinkle, Vibe, or one of the context names where type=ringtone

Defines the ringtone to be used for this Alert. If blank, then the phone will not play back a ringing tone, instead present silence.

Example

In this example:

  • The Alert Info string is "ai-Guitar"

  • The ringing type is ring-answer

  • The ringtone is fancyringer

Example Alert Configuration.

Firmware Configuration Options

Firmwares define the actual firmware file, for a specified phone model, that is in turn applied to a Phone type. This allows configuration of different firmwares for different groupings of phones.

Option

Values

Description

Option

Values

Description

model

D40, D50, D70

Defines the phone model for this firmware. A firmware applies to only one model; thus, to handle all 3 (currently) models of phones, 3 different firmware definitions must be created and used

version

version string identifier of firmware

Sets the version string identifier for a particular firmware. The string is the version of the firmware, not counting the final underscore, model, underscore, "firmware," and ".eff" suffix.

file

string

Sets the file location of the firmware, to be retrieved by the phone and respecting the file_url_prefix network option

public_firmware

yes, no

Whether or not we will include a fallback address (based on the network's public_firmware_url_prefix) to retrieve this firmware if the phone can not reach the file specified here. Default is no.

Example

In this example:

  • There are firmwares for each of the three models

  • The firmware version is 1_0_5_46476

  • The filenames are specific to the phone and are retrieved in the "firmware" subdirectory of the file_url_prefix

  • Firmware retrieval will fallback to the public location if the local location fails

Firmware Example Configuration.

Translation Configuration Options

Translations maintain a mapping of values from internal names to externally represented names. The current use of translations is for the voicemail application, to be applied to phones to localize the folder names within the messaging application on the phone.

Option

Values

Description

Option

Values

Description

key

value as a string

Sets the value to be substituted for the key

Example

In this example:

  • INBOX will be set to INBOX

  • Work will be set to Arbeit

  • Family will be set to Familie

  • Friends will be set to Fruende

  • Recordings will be set to Aufnahmen

Multicastpage Configuration Options

Multicastpages define address and port combinations to which the phone will listen for multicasted RTP in G.711 u-law, G.711 a-law and G.722 formats as well as call hold behavior.  Multiple listeners may be attached to a phone.

Option

Values

Description

Option

Values

Description

alias

string

A named identifier for this listener, which will show in the phone's status bar during audio playback

address

IPv4 address string

The address at which to expect multicast RTP

port

port (1-65536) as integer

The port at which, combined with the address, to expect multicast RTP

priority

integer, 1-10

The priority for this listener. Lower (1) priorities take precedence over higher (10) priorities.

interrupt

0, 1

When enabled, places any in-progress calls on hold before playing back audio, and ignore the phone's local volume setting, playing back the audio at full volume. When disabled, in-progress calls will have their audio played over. Defaults to 0.

Example

In this example:

  • Audio from the listener will identify with "Emergency" on the phone's status bar

  • Multicast audio will come across address 237.0.0.101

  • Multicast audio will come across port 32000

  • The listener is given top priority

  • In-progress calls will not be placed on hold

Firmware Example Configuration.

Return to Documentation Home I Return to Sangoma Support