Digium Phones DPMA config stops working after 13 -> 14 upgrade

Just upgrading our FreePBX server from SHMZ 6.6/FreePBX 13 to Sangoma 7.5/FreePBX 14. We use the Digium Phones module to configure our DIgium Phones via DPMA and EndPoint Manager to configure our Grandstream phones.

After the update the Digium phones hang / timeout trying to connect to the DPMA configuration server. I can’t figure out what is wrong. DPMA is disabled in EndPoint Manager and I’ve updated it to 14.0.2.182 to try to avoid conflicts with Digium Phones. asterisk log seems pretty normal:

[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing  [proxy@dpma_message_context:1] Set("Message/ast_msg_queue", "MESSAGE(custom_data)=mark_all_outbound") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [proxy@dpma_message_context:2] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-URI)=sip:10.11.8.17:5060") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [proxy@dpma_message_context:3] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-FullContact)=") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [proxy@dpma_message_context:4] MessageSend("Message/ast_msg_queue", "digium_phone:blah") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [proxy@dpma_message_context:5] Hangup("Message/ast_msg_queue", "") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Spawn extension (dpma_message_context, proxy, 5) exited non-zero on 'Message/ast_msg_queue'
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing  [digium_phone_module@dpma_message_context:1] Set("Message/ast_msg_queue", "MESSAGE(custom_data)=mark_all_outbound") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [digium_phone_module@dpma_message_context:2] Set("Message/ast_msg_queue", "TMP_RESPONSE_URI=sip:10.11.8.17:5060") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [digium_phone_module@dpma_message_context:3] Set("Message/ast_msg_queue", "MESSAGE_DATA(Request-URI)=") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [digium_phone_module@dpma_message_context:4] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-URI)=") in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [digium_phone_module@dpma_message_context:5] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-FullContact)=") in new stack

[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [digium_phone_module@dpma_message_context:6] MessageSend(“Message/ast_msg_queue”, “sip:10.11.8.17:5060,proxy”) in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Executing [digium_phone_module@dpma_message_context:7] Hangup(“Message/ast_msg_queue”, “”) in new stack
[2019-02-03 20:29:10] VERBOSE[1031][C-00000000] pbx.c: Spawn extension (dpma_message_context, digium_phone_module, 7) exited non-zero on ‘Message/ast_msg_queue’

tshark shows some sip traffic back and forth.
Frame 18: 115 bytes on wire (920 bits), 115 bytes captured (920 bits) on interface 0
Ethernet II, Src: Digium_06:b4:cf (00:0f:d3:06:b4:cf), Dst: RealtekU_8b:0b:ee (52:54:00:8b:0b:ee)
Internet Protocol Version 4, Src: 10.11.8.17 (10.11.8.17), Dst: 10.11.8.1 (10.11.8.1)
User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060)
Session Initiation Protocol (MESSAGE)
Request-Line: MESSAGE sip:[email protected]:5060;transport=udp SIP/2.0
Method: MESSAGE
Request-URI: sip:[email protected]:5060;transport=udp
Request-URI User Part: proxy
Request-URI Host Part: asterisk.cora.nwra.com
Request-URI Host Port: 5060
[Resent Packet: False]
Message Header
Via: SIP/2.0/UDP 10.11.8.17:5060;rport;branch=z9hG4bKPjjdf2fcOS0gPA2NJh0Hh4nKKlT57OcDva
Transport: UDP
Sent-by Address: 10.11.8.17
Sent-by port: 5060
RPort: rport
Branch: z9hG4bKPjjdf2fcOS0gPA2NJh0Hh4nKKlT57OcDva
Max-Forwards: 70
From: sip:10.11.8.17;tag=6etZsOkkPuaR96xAdDgToPiHvPX8OcPE
SIP from address: sip:10.11.8.17
SIP from address Host Part: 10.11.8.17
SIP from tag: 6etZsOkkPuaR96xAdDgToPiHvPX8OcPE
To: sip:[email protected]
SIP to address: sip:[email protected]
SIP to address User Part: proxy
SIP to address Host Part: asterisk.cora.nwra.com
Call-ID: Ew86j.3Ug5qUn610lwNzgayOyYoif7.6
CSeq: 10879 MESSAGE
Sequence Number: 10879
Method: MESSAGE
Accept: text/plain, application/im-iscomposing+xml
User-Agent: Digium D50 2_2_1_2
X-Digium-User-Agent: Digium D50 2_2_1_2
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-User-Agent)]
[Message: Unrecognised SIP header (X-Digium-User-Agent)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-RequestType: Handshake
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-RequestType)]
[Message: Unrecognised SIP header (X-Digium-AppServer-RequestType)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-MACAddress: 000FD306B4CF
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-MACAddress)]
[Message: Unrecognised SIP header (X-Digium-AppServer-MACAddress)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-Software-Version: 2_2_1_2
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-Software-Version)]
[Message: Unrecognised SIP header (X-Digium-Software-Version)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-ID: bootc_991635
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-ID)]
[Message: Unrecognised SIP header (X-Digium-AppServer-ID)]
[Severity level: Note]
[Group: Undecoded]
Content-Type: text/plain
Content-Length: 875
Message Body
Line-based text data: text/plain
-----BEGIN CERTIFICATE-----\n
MIICWTCCAcKgAwIBAgIBVTANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJVUzEL\n
MAkGA1UECBMCQ0ExEjAQBgNVBAcTCVNhbiBEaWVnbzEVMBMGA1UEChMMRGlnaXVt\n
LCBJbmMuMRkwFwYDVQQDExBEaWdpdW0gQXBwc2VydmVyMB4XDTcwMDEwMTAwMDAw\n
MFoXDTM4MDEwMTAwMDAwMFowTDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRUw\n
EwYDVQQKEwxEaWdpdW0sIEluYy4xGTAXBgNVBAMTEERpZ2l1bSBBcHBzZXJ2ZXIw\n
XDANBgkqhkiG9w0BAQEFAANLADBIAkEAxL+4h6SGCfgZBqtiQHSMALRL4JjXslDA\n
l1ZraZr76Po8Nj7RnHhGoZKMr5bfyGc761rLkTPhw2MBHSHcLEFqXwIDAQABo3sw\n
eTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBD\n
ZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUNNxaCJWKOUInuL/RX24YUGzuT74wHwYDVR0j\n
BBgwFoAUQ4XMqehyfmlcYNQhgohxNy8y3/UwDQYJKoZIhvcNAQEFBQADgYEAtFwQ\n
ib7ZSSI+qusH3NS/MvD8LwvomWkSvb7+NqKTi15HBgj5eZRxQSeu4BpHjNiMoqBQ\n
Jj9PctO3QNvYvaHfiOLa2j9kezpG0nsq4/lDRrnApo9t2KUNinyiyZAqT12Sk6dF\n
RUJEZLbmV7SAZCBCpRnGN42SBnwI2+Mz9jqh5IM=\n
-----END CERTIFICATE-----\n

Frame 19: 544 bytes on wire (4352 bits), 544 bytes captured (4352 bits) on interface 0
Ethernet II, Src: RealtekU_8b:0b:ee (52:54:00:8b:0b:ee), Dst: Digium_06:b4:cf (00:0f:d3:06:b4:cf)
Internet Protocol Version 4, Src: 10.11.8.1 (10.11.8.1), Dst: 10.11.8.17 (10.11.8.17)
User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060)
Session Initiation Protocol (202)
Status-Line: SIP/2.0 202 Accepted
Status-Code: 202
[Resent Packet: False]
[Request Frame: 18]
[Response Time (ms): 0]
Message Header
Via: SIP/2.0/UDP 10.11.8.17:5060;branch=z9hG4bKPjjdf2fcOS0gPA2NJh0Hh4nKKlT57OcDva;received=10.11.8.17;rport=5060
Transport: UDP
Sent-by Address: 10.11.8.17
Sent-by port: 5060
Branch: z9hG4bKPjjdf2fcOS0gPA2NJh0Hh4nKKlT57OcDva
Received: 10.11.8.17
RPort: 5060
From: sip:10.11.8.17;tag=6etZsOkkPuaR96xAdDgToPiHvPX8OcPE
SIP from address: sip:10.11.8.17
SIP from address Host Part: 10.11.8.17
SIP from tag: 6etZsOkkPuaR96xAdDgToPiHvPX8OcPE
To: sip:[email protected];tag=as4ab05635
SIP to address: sip:[email protected]
SIP to address User Part: proxy
SIP to address Host Part: asterisk.cora.nwra.com
SIP to tag: as4ab05635
Call-ID: Ew86j.3Ug5qUn610lwNzgayOyYoif7.6
CSeq: 10879 MESSAGE
Sequence Number: 10879
Method: MESSAGE
Server: FPBX-AsteriskNOW-14.0.5.25(13.22.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0

Frame 20: 1412 bytes on wire (11296 bits), 1412 bytes captured (11296 bits) on interface 0
Ethernet II, Src: RealtekU_8b:0b:ee (52:54:00:8b:0b:ee), Dst: Digium_06:b4:cf (00:0f:d3:06:b4:cf)
Internet Protocol Version 4, Src: 10.11.8.1 (10.11.8.1), Dst: 10.11.8.17 (10.11.8.17)
User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060)
Session Initiation Protocol (MESSAGE)
Request-Line: MESSAGE sip:10.11.8.17:5060 SIP/2.0
Method: MESSAGE
Request-URI: sip:10.11.8.17:5060
Request-URI Host Part: 10.11.8.17
Request-URI Host Port: 5060
[Resent Packet: False]
Message Header
Via: SIP/2.0/UDP 10.11.8.1:5060;branch=z9hG4bK73cb9a00;rport
Transport: UDP
Sent-by Address: 10.11.8.1
Sent-by port: 5060
Branch: z9hG4bK73cb9a00
RPort: rport
Max-Forwards: 70
From: “proxy” sip:[email protected];tag=as40439e78
SIP Display info: “proxy”
SIP from address: sip:[email protected]
SIP from address User Part: Unknown
SIP from address Host Part: 10.11.8.1
SIP from tag: as40439e78
To: sip:10.11.8.17:5060
SIP to address: sip:10.11.8.17:5060
SIP to address Host Part: 10.11.8.17
SIP to address Host Port: 5060
Contact: sip:[email protected]:5060
Contact URI: sip:[email protected]:5060
Contact URI User Part: Unknown
Contact URI Host Part: 10.11.8.1
Contact URI Host Port: 5060
Call-ID: [email protected]:5060
CSeq: 102 MESSAGE
Sequence Number: 102
Method: MESSAGE
User-Agent: FPBX-AsteriskNOW-14.0.5.25(13.22.0)
X-Digium-AppServer-ResponseType: HandshakeResponse
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-ResponseType)]
[Message: Unrecognised SIP header (X-Digium-AppServer-ResponseType)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-Token-Auth-Requirements: user,configpass
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-Token-Auth-Requirements)]
[Message: Unrecognised SIP header (X-Digium-AppServer-Token-Auth-Requirements)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-Userlist-Auth-Requirements: none
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-Userlist-Auth-Requirements)]
[Message: Unrecognised SIP header (X-Digium-AppServer-Userlist-Auth-Requirements)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-Password: B4s8NSzzgWfygo62MiBtJ6MBpYNxygzctrq+mUeDruSExHEEevFel5LN5hsAPs3jaOATbf0ND/d2SZMjM4VFxA==
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-Password)]
[Message: Unrecognised SIP header (X-Digium-AppServer-Password)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-Session: 11319335441929370390
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-Session)]
[Message: Unrecognised SIP header (X-Digium-AppServer-Session)]
[Severity level: Note]
[Group: Undecoded]
X-Digium-AppServer-ID: bootc_991635
[Expert Info (Note/Undecoded): Unrecognised SIP header (X-Digium-AppServer-ID)]
[Message: Unrecognised SIP header (X-Digium-AppServer-ID)]
[Severity level: Note]
[Group: Undecoded]
Content-Type: text/plain;charset=UTF-8
Content-Length: 572
Message Body
Line-based text data: text/plain
----BEGIN CERTIFICATE-----\n
MIIBejCCASQCCQC9EJIPJY0l4DANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJV\n
UzELMAkGA1UECBMCQ0ExFDASBgNVBAoTC0RpZ2l1bSwgSW5jMRIwEAYDVQQDEwlB\n
cHBTZXJ2ZXIwHhcNMTEwODA5MTY0NzIxWhcNMjEwODA2MTY0NzIxWjBEMQswCQYD\n
VQQGEwJVUzELMAkGA1UECBMCQ0ExFDASBgNVBAoTC0RpZ2l1bSwgSW5jMRIwEAYD\n
VQQDEwlBcHBTZXJ2ZXIwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAy40tBZYQ3pfj\n
EpILdpzo+6i7D6DdR0swdVB8ekyEWVHTSxRohok63p+tWLv84zpIhkc1tp/cbiUB\n
vN63OT3djwIDAQABMA0GCSqGSIb3DQEBBQUAA0EAVxH4wQQkCp+AZJM8/Ii7WTbh\n
+Gi2D9SM2ju5ELFnJblowtCTZMA7e7bxPTILtS6EAPN3S8j2mirclPo8VqRQew==\n
-----END CERTIFICATE-----

Frame 21: 339 bytes on wire (2712 bits), 339 bytes captured (2712 bits) on interface 0
Ethernet II, Src: Digium_06:b4:cf (00:0f:d3:06:b4:cf), Dst: RealtekU_8b:0b:ee (52:54:00:8b:0b:ee)
Internet Protocol Version 4, Src: 10.11.8.17 (10.11.8.17), Dst: 10.11.8.1 (10.11.8.1)
User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060)
Session Initiation Protocol (200)
Status-Line: SIP/2.0 200 OK
Status-Code: 200
[Resent Packet: False]
[Request Frame: 20]
[Response Time (ms): 3]
Message Header
Via: SIP/2.0/UDP 10.11.8.1:5060;rport=5060;received=10.11.8.1;branch=z9hG4bK73cb9a00
Transport: UDP
Sent-by Address: 10.11.8.1
Sent-by port: 5060
RPort: 5060
Received: 10.11.8.1
Branch: z9hG4bK73cb9a00
Call-ID: [email protected]:5060
From: “proxy” sip:[email protected];tag=as40439e78
SIP Display info: “proxy”
SIP from address: sip:[email protected]
SIP from address User Part: Unknown
SIP from address Host Part: 10.11.8.1
SIP from tag: as40439e78
To: sip:10.11.8.17;tag=z9hG4bK73cb9a00
SIP to address: sip:10.11.8.17
SIP to address Host Part: 10.11.8.17
SIP to tag: z9hG4bK73cb9a00
CSeq: 102 MESSAGE
Sequence Number: 102
Method: MESSAGE
Content-Length: 0

/etc/asterisk/res_digium_phone.conf is as expected for the Digium Phone modules (not overridden by EPM):
# cat /etc/asterisk/res_digium_phone.conf
[general]
#include res_digium_phone_general.conf
#include res_digium_phone_devices.conf
#include res_digium_phone_applications.conf
#include res_digium_phone_additional.conf
#include res_digium_phone_firmware.conf

EPM now conflicts with Digium Config. One of them must go…

I should have noted that I’ve tried it with EPM removed as well. Same result.

Two deamons compete in terms of Avahi/mDNS. Is EPM really off? Maybe reboot without it even. Throw out Phone Apps too just for kicks

That’s not how it works. Phone apps has nothing to do with any of this.

Thanks Andrew! Yet please tell us how to run EPM alongside DPMA now.

https://wiki.freepbx.org/display/FPG/EPM-Use+DPMA+for+Digium+Phones for one does not seem to work (also see End Point Manager: Digium D80 now supported?)

Are you using the latest EPM from edge.

fwconsole ma upgrade restapps --edge
fwconsole ma upgrade endpoint --edge

…tada!! “Now Settings > End Point Manager > DPMA Management > DPMA Settings” works!

Provisioning phones however not yet, I’ll do a bit of avahi research and report back.

hmm, no luck. Phones find the configuration server as named in “DPMA Settings” and show it with 5060;transport=udp but do not load any config.

Disabled restapps and endpoint, re-enabled digium_phones and boom, everything works again.

What might it be?

To make the phone find the DPMA-Server when running from End Point Manager:

in pjsip.conf, add

default_outbound_endpoint=dpma_endpoint

in pjsip.endpoint.conf, add

[dpma_endpoint]
type=endpoint
context=dpma_invalid

et voilà: the phone shows a list of the extensions like it does with digium_phones!

But no cheering yet: Chosing one fails with “Firmware Download Failed”. The necessary entries in res_digium_phone_network.conf and ~devices.conf as well es the ones above will be overwritten by FreePBX anyway, so I will stop now go back to digium_phone now and wait for things to mature.

We are fortunate though to do so. Installations with those DPMA-only Digium D80s along with conventional sip phones might have a bit on an issue at this point.

Are EPM and PhoneApps ready to be used with Digium phones? I can’t tell if I’m just missing something, or if the code just hasn’t been fully pushed out, since the announcement of Digium D series support for EPM and PhoneApps.

Using Kombi’s replys here as guidance, I got a little further, but I still wouldn’t call it usable. DPMA was locked out until I switched to the edge version of EPM. On the edge version, I was at least able to get into the DPMA menu, but no amount of tweaking allowed me to get the phone to display a user list so I could provision endpoints from the phones. If I manually map the extension in the EPM, the phone will at least provision. However, any Phone App I assign to the phone results in “Phone Apps module not licensed”. Additionally, the font for all of the soft keys is now tiny.

Any guidance would be greatly appreciated!

freePBX 14 distro
Digium D65
newest firmware
EPM newest, but no edge
disabled digium phone config module
enabled DPMA in EPM

same problem here…if I want to use phone apps, it says “module not licensed”.
I even registered at Digium to get a license key, entered it…no luck…

DPMA and phone apps are not the same thing. Completely and utterly different and separate

Well…when I connected the digium phone the first time (easy mode), the digium phone apps worked. Once I set it up using the EPM, “module not licensed” appeared.

You are confusing the applications on the d80 with freepbx phone apps. You should be going through support for your commercial support based issues. Please do that. This thread is way too confusing as it stands.