I can understand the confusion.
There are two pieces of code involved:
- The DPMA (aka Digium Phone Module for Asterisk) which is a compiled object module (res_digium_phone.so) that can be loaded into Asterisk to provide auto configuration of Digium phones. It is configured through res_digium_phone.conf.
- The “Digium Phones” module which is a PHP module for FreePBX, and provides a web interface tied-in to FreePBX that configures the DPMA.
The FreePBX module “Digum Phones” is auto updated along with the other PHP modules through the module administration.
The DPMA module binary has to be updated separately, usually through the command line. I don’t think FreePBX provides a web interface that allows you to do ‘yum update’ commands.
Depending on your version of FreePBX, you may be able to do a “yum update asteriskres_digium_phone” on the linux CLI to get a newer version installed.
However, while it might aid in diagnosing the problem, I honestly don’t think it’s going to solve it. Even in the 2.1.1 version you should have absolutely no problem getting the phone to connect across any network, provided that there is nothing interfering with the UDP SIP packets along the way.
Inothewords, if the phone can connect just fine on the local network, then there is no configuration change in DPMA that could be preventing it from working from any other network. There could be however:
- Firewall setting on the FreePBX server that denies UDP traffic from remote or specific IP addresses.
- Firewall on a NAT router blocking
- SIP ALG somewhere in the network
I recommend using wireshark or similar tools at both ends to see what packets are not getting through, and then track down why. I’d be very curious what would allow a SIP REGISTER through, but not a SIP MESSAGE.