SOLVED - EPM Sangoma P310 phone continually cycles between config download and reboot


just bought 3 Sangoma P310 phone… Freepbx is working perfectly with LinPhone soft phone. Working to get these connected going…

Im using the EPM with DPMA, I disabled the Digium module as instructed when I selected to use DPMA, as it made everything crash.

Im able to boot the phone up, it sees the asterisk server, and I can select an extension. it goes through contacting the server and attempts to download config but fails with an “Invalid XML” error…

I did a Wireshark and there is no XML being passed to it at all. I checked the /etc/asterisk/dpma/phone_configs directory for and configs and there are none there (are they supposed to be there?)

I noticed that when I configure the extension in the EPM, that the only “P310” is listed under “Digium” and the EPM only has the Brand “Sangoma”. I understand they are the same phone however in the packet capture the user agents for the phone are showing “Sangoma”

User-Agent: Sangoma P310 3_5_1
X-Digium-User-Agent: Sangoma P310 3_5_1

is it possible that its not picking up the config because of this mismatch?
I can’t add a new brand with the “free” version of the EPM…


I’m not exactly sure where you’re seeing P310 listed under Digium, but there are a couple places where that’s possible and shouldn’t be an issue.

Do you have an Extension Mapping entry for the phone created in Endpoint Manager? If so, do you have a MAC address associated to the entry? You shouldn’t need on if you plan to select the extension from the phone. But since you’re having issues, I’d add a MAC address, and set the Configured By to Server. You can toggle the Configured By option by clicking the gear icon in the Actions section.

With a valid template that has P310 enabled, this should create a config file in the folder you’ve been checking, /etc/asterisk/dpma/phone_configs. If not, can you share the version of endpoint you have installed, or see if any updates are available?

Endpoint Manager Version: I checked and the UI doesn’t indicate an update is available.

I see the P310 under the EPM–>Extension Mapping -->Add Extension. I only see the P310 if I select “Digium” brand.

There is a Mac address already associated with it. and it has an extension assigned. I am able to choose the extension when the phone boots and connects to the server.

I don’t have a “gear” in the Actions section of the extension entry, only the edit icon.

is it possible that something isn’t set correctly for me to be able to support the new P310 Sangoma phones without the Commercial version?

Your Endpoint Manager version should be fine. I now understand what you mean about seeing the P310 listed as a digium brand in the dropdown menus. That is normal, at this time. It’s interesting that you’re only seeing an Edit option in the actions in for your extension mapping’s entry from the Endpoint Manager list.

Here’s an example of what I was expecting:

Can you check if the res_digium_phone module is installed, by doing a ‘yum info’ on the rpm? We just want to make sure it’s showing up as installed. You’ll want to include the version of asterisk you’re running in the rpm name. For example, I’m running asterisk16, so my output looks like:

# yum info asterisk16-res_digium_phone
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
Installed Packages
Name        : asterisk16-res_digium_phone
Arch        : x86_64
Version     : 3.6.5
Release     : 1.sng7
Size        : 2.4 M
Repo        : installed
From repo   : sng-pkgs
Summary     : Provides a number of enhanced provisioning and application capabilities for Digium SIP phones
License     : Digium End-User License Agreement
Description : Digium provides a line of SIP phones that are designed to operate with
            : Asterisk. When used with the Digium Phone Module for Asterisk (DPMA),
            : Digium's phones provide a number of enhanced provisioning and application
            : capabilities. To read more about the DPMA, please visit the following
            : web address:
            : No-charge license keys for the DPMA are available from Digium's webstore at
            : the following web address:

I rebuilt the entire box as it was on a VM and moved it to regular hardware. I then went through and did the configuration carefully and I can now see all the icons… I’ve added the extension and Mac address as you requested, and the config file is in the directory. The phone is now able to attempt to download a config, but just keeps rebooting over and over again.

so to be clear its …

  • Reboots
  • “Press any key to Continue” countdown
  • Contacting sip:[email protected][My correct IP], which takes take a second
  • Fetching Config
  • Fetching Token
  • Fetching Config
  • Reconfiguring…
  • Reboots again and repeats…

been doing this for a couple hours as I research

Ive enabled DPMA logging, and in the logs I see these repeating over and over…

       -- Executing [[email protected]_pjsip_message_context:1] Set("Message/ast_msg_queue", "MESSAGE(custom_data)=mark_all_outbound") in new stack
    -- Executing [[email protected]_pjsip_message_context:2] Set("Message/ast_msg_queue", "TMP_RESPONSE_URI=pjsip:[MY-INTERNAL-IP]:60693;transport=tls") in new stack
    -- Executing [[email protected]_pjsip_message_context:3] Set("Message/ast_msg_queue", "MESSAGE_DATA(Request-URI)=") in new stack
    -- Executing [[email protected]_pjsip_message_context:4] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-URI)=") in new stack
    -- Executing [[email protected]_pjsip_message_context:5] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-FullContact)=") in new stack
    -- Executing [[email protected]_pjsip_message_context:6] MessageSend("Message/ast_msg_queue", "pjsip:[MY-INTERNAL-IP]:60693;transport=tls,proxy") in new stack
<--- Transmitting SIP request (1343 bytes) to TLS:[MY-INTERNAL-IP]:60693 --->
MESSAGE sip:[MY-INTERNAL-IP]:60693;transport=tls SIP/2.0
Via: SIP/2.0/TLS [MY-EXTERNAL-IP]:25061;rport;branch=z9hG4bKPj58a3dbc4-8d82-4efa-8772-608104e09e14;alias
From: <sip:[email protected][MY-EXTERNAL-IP]>;tag=45a6df4f-8b5c-4ff2-a2d6-b0882f73ab4b
To: <sip:[MY-INTERNAL-IP]>
Contact: <sip:[email protected][MY-EXTERNAL-IP]:25061;transport=TLS>
Call-ID: 611f129e-7a4d-4ed9-af88-052e8e7db5dc
CSeq: 34428 MESSAGE
X-Digium-AppServer-ResponseType: ConfigResponse
X-Digium-AppServer-Session: 15406081461331719994
X-Digium-AppServer-MD5: 726c66a00d013d9c210062bc4d3d0f3e
X-Digium-AppServer-Message-Salt: B6B81D1E7041CD8C
X-Digium-AppServer-Message-Sequence: 45
X-Digium-AppServer-ID: bootc_19495CFF
Max-Forwards: 70
User-Agent: FPBX-
Content-Type: text/plain
Content-Length:   556

    -- Executing [[email protected]_pjsip_message_context:7] Hangup("Message/ast_msg_queue", "") in new stack
  == Spawn extension (dpma_pjsip_message_context, digium_phone_module, 7) exited non-zero on 'Message/ast_msg_queue'

Filed an official support request with Sangoma because they are all brand new phones, ill touch back here if any solution comes back…

The solution was that in the EPM, the External address needed to be a FQDN not an ip address…


This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.