Skip to end of metadata
Go to start of metadata

Overview

Digium A-Series phones may be provisioned one one of three ways:

  1. Local phone user interface
  2. Phone web user interface
  3. Remote configuration retrieval

First Boot

At initial boot, the phone will:

  • Attempt to retrieve its IP address from a DHCP server
  • Attempt to set its VLAN ID based on learned VLAN from LLDP-MED
  • Present the User with a language selection screen
  • Attempt to retrieve its configuration as directed by DHCP Option 66.

Configuration Retrieval

Digium phones can be directed to an HTTP, HTTPs, FTP, or TFTP host via DHCP Option 66. FTPs is not supported.

Here is a typical DHCP daemon configuration specifying Option 66:

 Example DHCP daemon configuration specifying Option 66
ddns-update-style none;
option domain-name "example.com";
option domain-name-servers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

option boot-server code 66 = string;

subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.10 192.168.0.255;
 option domain-name-servers 192.168.0.1;
 option domain-name "example.com";
 option routers 192.168.0.1;
 option broadcast-address 192.168.0.255;
 default-lease-time 600;
 max-lease-time 600;
 option boot-server "http://server.example.com/phoneprov/";
}

Notice in this example the option:

option boot-server "http://server.example.com/phoneprov/";

That directive, option boot-server, tells phones to contact the server http://server.example.com/proneprov/ for their configuration files.

The phone will, upon receipt of the Option 66 option boot-server parameter, attempt to use its cURL application to retrieve, from the specified path, its configuration file. The phone will attempt to retrieve two files, a common configuration file, that contains settings that can apply to more than one phone, and a device configuration file, that contains settings that apply to only one phone.  If the phone fails to retrieve the files, it will make 4 more attempts, and then stop.  The successful retrieval of files will stop the process, as the phone will load the files and startup using the specified settings.

The common configuration files that will be retrieved are, per model:

ModelCommon File
A20f0A20hw1.100.cfg
A22f0A22hw1.100.cfg
A25f0A25hw1.100.cfg
A30A0V0A3000000.cfg

Following its attempts to retrieve the common configuration file, the phone will attempt to retrieve a device configuration file that is defined as:

<mac.cfg>, the MAC address of the phone, in all lower-case characters, dot cfg.

HTTPd logs will resemble:

10.1.2.3 - - [20/Feb/2018:09:47:51 -0600] "GET /phoneprov/f0A25hw1.100.cfg HTTP/1.1" 200 196 "-" "Asterisk A25 2.3.2.4652 000fd3000000"
10.1.2.3 - - [20/Feb/2018:09:47:51 -0600] "GET /phoneprov/000fd3000000.cfg HTTP/1.1" 200 213 "-" "Asterisk A25 2.3.2.4652 000fd3000000"
Icon

If you see the phone making multiple GET requests for a file, it is because the phone was not able to successfully retrieve and/or parse the first file.

Icon

If the configuration file does not include a Version identifier in its first line, the phone will not parse it successfully.

Firmware Management

Digium A-Series phones may have their firmware managed via the phone web UI or by remote retrieval.  Remote retrieval, as a part of the phone's configuration file, is controlled with the  AUTOUPDATE CONFIG MODULE configuration section with the Auto Image Url configuration parameter , e.g.

 

Remote Restart

Digium A-Series phones, by default, are configured not to remotely restart upon receipt of the check-sync Event in a SIP NOTIFY.  This behavior must be enabled, and is controlled with the SIP CONFIG MODULE configuration section with the Notify Reboot configuration parameter, e.g.:

 

To test, the SIPp test tool can be used with the following scenario file:

 SIPp Reconfigure checksync.xml
<?xml version="1.0" ?>
<scenario name="Reconfigure">
 <send>
  <![CDATA[
    NOTIFY sip:[service]@[remote_ip]:[remote_port];ob SIP/2.0
    Via: SIP/2.0/UDP [local_ip]:[local_port];branch=[branch];rport
    Max-Forwards: 70
    From: "asterisk" <sip:asterisk@[local_ip]>;tag=[call_number]
    To: <sip:[service]@[remote_ip]:[remote_port];ob>
    Contact: <sip:asterisk@[local_ip]:[local_port]>
    Call-ID: [call_id]@[local_ip]:[local_port]
    CSeq: 102 NOTIFY
    User-Agent: Asterisk PBX SVN-branch-11-r377355
    Date: Mon, 10 Dec 2012 16:23:50 GMT
    Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
    Supported: replaces, timer
    Subscription-State: terminated
    Event: check-sync
    Content-Length: 0
  ]]>
</send>
</scenario>

to programmatically restart Digium phones like:

./sipp 10.1.2.3 -sf checksync.xml -m 1

where 10.1.2.3 represents the IP address of the phone to be restarted.

Option 60

Digium phones can present Option 60, Vendor class identifier, when communicating with a DHCP service. But, they do not do it by default.  The option must be enabled in the phone's configuration, e.g.:

  • No labels