Sangoma P330 HTTP provisioning with PBXAct not working

Sangoma PBXAct 25
LATEST firmware/everything:
PBX Version: 16.0.21.18
PBX Distro: 12.7.8-2208-2.sng7
Asterisk Version: 16.28.0

Brand new P330 trying to set it up with PBXAct internally. Not remote phone.

The phone is registered to me in Sangoma Portal and assigned for “Enable Redirection” with redirection type as Deployment (I have also tried the “IP/FQDN” option but it asks for the same details as I’d input when selected as “Deployment” so I rather select “Deployment” and set it once at the deployment level instead of PER phone.)

Since it is a P-series phone there are only 3 options to input:
Sangoma Configuration Server Address: 10.0.20.200 (internal IP of PBX)
Server Port: 84 (HTTP no authentication method)
Server Transport: I’ve tried UDP, TCP, no difference.

Keep in mind it is INTERNAL

When the phone is plugged in, it first displays that it’s fetching config from sip:proxy@{configurationaddress}:{port};transport={transport}
(the values in {} are replaced by the actual details)
then it says “Timed out contacting proxy…” and repeats over and over again and it’s not working. The phone does obtain an IP address which I can access but it prompts for login - and I’ve tried admin/admin, admin/23646, admin/222222, admin/, and nothing at all works. These are brand new by the way, purchased directly from Sangoma.

This server has commercial SysAdmin license, commercial EPM, etc. besides since these are Sangoma phones that shouldn’t be relevant. I use EPM for a lot of Cisco phones without any issues (they use TFTP though).

On the PBX in EPM the extension is linked to the digium_default template which I’ve checked and it correctly specifies the model, firmware, provisioning method as internal HTTP and server address is correct… I see no problems.

Please help with this, I thought these were supposed to be the easiest to setup since they’re Sangoma.

For P phones ,you use DPMA for provisioning, not Apache. So when configuring the portal for redirect settings, you need to input the details you have set on the PBX in EPM → Right rnav menu → DPMA Management. DPMA is generally the default pjsip udp port, which on new installs is 5060.

Thanks. I had to first set “USE DPMA” to Yes under EPM>Global Settings (it was NO by default), then clicked “Save Global”. Then I clicked “DPMA Management” and set the following:
mDNS Service Name: internal IP of my PBX
mDNS Discovery Address: internal IP of my PBX
mDNS Discovery Port: the TCP SIP signaling port for my PBX
mDNS Discovery Transport: had to switch to TCP (it was UDP by default; and it says that only TCP/TLS is supported for pjsip, so I had to switch)

then in the Sangoma portal>selected the PBX>Phones>Redirection, I set the IP as the internal IP and then the port as the TCP port and protocol as TCP.
Then after the phones were reset, they rebooted and provisioned successfully.

It was mentioned NO WHERE about anything related to DPMA! No where in EPM does it mention anything about the fact that P-series phones need to use DPMA and DPMA was not enabled by default.
And I’m using the default preconfigured templates:
EPM>Sangoma template>D & P Series Phones>digium_default
There are several things that should be optimized;
-the digium_default template needs to be renamed because you’re no longer digium so that is confusing.
-for P-series phones template (default digium_default), don’t let the user select HTTP/HTTPS as provisioning method as that is irrelevant, because they use DPMA and having those options implies that the phones use the HTTP/S method. SEPARATE the D series and P series templates because P series don’t use the HTTP/S methods.
-when you press the “Record” softkey during a cal, the phone completely FREEZES, loses audio, and reboots. I see under the default template for D & P series phones it mentions that APP-Record softkey is only supported by Sangoma D-Series phones. I hope they add this to work with P series since it was advertised in the brochure that they have 1-touch server-side call recording capability. Also, since it’s not working yet then the default template for these phones shouldn’t include the APP-Record softkey. It is just confusing and crashes the phone when pressed.

-When you press the Park softkey, it just hangs up the call and you aren’t told the park slot number it was parked in. It should announce to you the park slot number. And from the Idle screen when you press “Parked Calls”, it doesn’t show you any parked calls unfortunately.
Edit: Oddly, the parked call issue resolved itself after several factory resets/reconfigurations… Now when you press Park during the call, it displays the park slot number on screen and the Parked Calls softkey actually shows the parked calls properly.
Edit 2: The call park issue returned by itself. When you press park softkey, the call gets parked but there is absolutely no indication of that on the P phone and when pressing Parked Calls, nothing shows. I have no more energy to troubleshoot this so I hope Sangoma resolves this in the next firmware.

-The default brand is “Sangoma”, and that is the only one that appears when you are adding phone assignments from EPM>Extension mapping. correct. However when you go to edit an extension>Other, and select the Brand dropdown, the brands Sangoma AND digium both show up as if they are separate. Very confusing and not consistent with EPM. Definitely a bug.
-Any call from the P series phones using the default config has audio that is breaking up horribly. It doesn’t drop; and it is happening on ALL calls, i.e. if you call voicemail the prompts are extremely choppy, as if they are digitalized or something. Nothing is going thru NAT; this is an internal phone so it is not an internet or router issue (never had this type of problem with any of the other phone brands such as Cisco/Grandstream/Yealink/countless others on the network).

Also, since in DPMA settings I had to set the service name and discovery address as my server’s internal IP since most phones are internal, how do I configure remote P-series phones? I have a few that will need to be setup remote and in the DPMA settings there isn’t option to specify another address. With all other phones I can use the standard tftp/http/etc. provisioning protocols and have easy provisioning for internal and external, but how about for the P-series?

It turns out the choppy audio problem was because the P series phones don’t support OPUS codec and it was allowed by default on this PBX. I had to go into the extension’s settings and disallow opus. Too bad because OPUS is the best quality.
Still awaiting response on other issues mentioned.

And I should also note that the default dial plan for P series is wrong.
Whenever you dial a number starting with 9, it sends the call out after 3 digits. It’s only supposed to do that if 911 is dialed, but where I am we have area codes that start with “9”, i.e. 905-5555-1234 so the dial plan doesn’t let us call there.
Here is default dial plan from EPM, how to modify it so that it doesn’t send out calls after 3 digits?

[0-8]xxxxx|911|9411|9611|9011xxx.T3|91xxxxxxxxxx|9[2-9]xxxxxx|*xx.T3|[0-8]xx.T3

Both opus and g722 sound fine for me on P330
I have no issues with the record or parking button, suggest you open a support ticket for those
I wonder if you’re on an old firmware, make sure you’re running at least 4_6_3, but there is also 4_7 available now.

Your comments about instructions in EPM about DPMA are noted. But know that some of what you wrote about provisioning is not accurate, it is possible to provision a P phone without DPMA, but you asked specifically about the Zero touch redirect settings, which does use DPMA exclusively. I’ve made a ticket for the portal to clarify that the port needs to be DPMA port. The wiki sections about the P phones state the DPMA requirement: Getting Started with Your P-Series Phone - Phones - Documentation

I live in area code 902 and call 920 numbers in Wisconsin periodically, no issues with that. Here is the default dialplan I see for D/P phone from current EPM 16, quite different than yours. Is your EPM up to date?

[1-9]xxx.T3|[2-9]11|011xxxx.T3|1[2-9]xxxxxxxxx|[2-9]xxxxxxxxx|*xx.T3

Firmware is 4.6.3 currently
I will try upgrading to 4_7 to see if the park/record issues go away

EPM version is 16.0.69.4 which I believe is the latest

With your dialplan I am now able to call the 905 area code. So the default dial plan in EPM for Sangoma phones is flawed - pls log that.

Questions that remain:
-new: Voicemail Application (visual voicemail mode) not working. I leave message and nothing lights up on the phone and when you press the VM key it shows nothing (I bought these phones for their visual VM feature so in EPM the voicemail key type is set as Voicemail Application which I expect to work - MWI should light up). What to change to make it work? everything is default. When I dial *97 manually the voicemail is there; it’s just that the P-series phones Voicemail Application isn’t working. When I change the template to standard voicemail then the MWI works as intended.
-What is default admin login for these phones thru their GUI?
Edit: the default login is admin / 789
-how to use DPMA zero-touch remotely and on prem? since I see no spot for two addresses
-“Save, Rebuild Configs and Update Phones” option in EPM doesn’t update the phone. It saves/rebuilds config but nothing happens on the phone. I wish they will actually make this work for Sangoma phones.
-When there are only 3 softkey options programmed and showing, and there are 4 softkeys on the screen, one will be unused. Currently even when only 3 are programmed and showing (i.e. Status, Parked Calls, Forward), there is still a More… key which remains on screen and when you press it, it just advances to the “next” softkey screen even though there are no more softkeys to show at all. It should be like on Cisco/Grandstream where the More… only shows if there are actually more options, otherwise it is a bit confusing because you assume there are actually more options when there’s a More… button but instead it shows nothing.

-there is one line key setup on the phone. On Cisco’s I am used to having an option for “10 call appearances per line”; so instead of taking up all the line keys for calls, there is one line key and you can have several calls under it. I know that on sangoma P phones there is no issue with multiple incoming calls on one line key (as you’ll get call waiting tone and can switch between the calls with the up/down buttons), but I want there to be a “New Call” button so that when you have one person on hold, you can press NewCall and it will let you call out without a second line key; and you can switch between calls using the up/down buttons as normal. How to set this up?
Edit regarding the line key setup: I figured out that you can have many calls on one line key with Sangoma P series phones; if you put a call on hold and want to call someone else, there is no “New Call” button because you can just dial the number you want to call and it will open up a new calling line. This is nice.

in EPM firmware management it shows the latest version for P series as “1.52” which below shows as P325 4_7_1 and it says “Firmware successfully installed”. when the phone first provisioned, the firmware did upgrade.
However on my phone under About it says Firmware Version 4_6_3. I wonder why is this different than what EPM shows
EDIT: for the firmware to upgrade to 4_7_1 I had to go into the template setting and select the Firmware Slot 1 instead of Recommended Firmware for it to upgrade to 4_7_1. I guess the recommended firmware is a bit behind.

-The 2 DPMA options ‘force phone to reboot’, ‘force phone to check config’ to the right in EPM>Extension mapping don’t do anything when clicked. Probably a bug.

After discussion with Sangoma support, they confirmed the following are bugs which affect the P series phones and EPM and they have “Reported to engineering”:

-The 2 DPMA options ‘force phone to reboot’, ‘force phone to check config’ to the right in EPM>Extension mapping don’t do anything when clicked.

-“Save, Rebuild Configs and Update Phones” option in EPM doesn’t update the phone. It saves/rebuilds config but nothing happens on the phone.

-Voicemail Application (visual voicemail mode) not working. No indication or MWI of any voicemails when voicemail mode in the template is set to Voicemail Application.

-The digium_default dialplan template is this [0-8]xxxxx|911|9411|9611|9011xxx.T3|91xxxxxxxxxx|9[2-9]xxxxxx|*xx.T3|[0-8]xx.T3 and it DOESN’T allow dialing to phone numbers that start with 905. It sends the call out immediately after you dial 905 which is an issue because this is a normal area code here in Canada so numbers are like 905-555-1234 and the default template doesn’t allow that. the default template should be: [1-9]xxx.T3|[2-9]11|011xxxx.T3|1[2-9]xxxxxxxxx|[2-9]xxxxxxxxx|*xx.T3 and this template allows dialing as intended.

-when opus codec is enabled for p-series phones the audio is very choppy (even without any NAT and on all calls, including internal calls and calls to voicemail and echo test etc.) and you can’t have a normal conversation. In order for it to work I had to go into the P-P-phone’s extension settings and disable opus. I am surprised as opus is very popular now for its quality.

-currently P-series phones can only be configured with zero touch setup for EITHER internal OR external since there is only one slot for the DPMA server address. so currently you can’t setup P-series phones with zero touch for internal use and other phones for external use since you can only specify one server address in DPMA management.

-When there are only 3 softkey options programmed and showing, and there are 4 softkeys on the screen, one will be unused. Currently even when only 3 are programmed and showing (i.e. Status, Parked Calls, Forward), there is still a More… key which remains on screen and when you press it, it just advances to the “next” softkey screen even though there are no more softkeys to show at all so it shows a blank screen twice. It should be like on Cisco/Grandstream where the More… option itself only shows if there are actually more options, otherwise it is a bit confusing because you assume there are actually more options when there’s a More… button but instead it shows nothing…

@lgaetz in the meantime since zero touch can’t be used to provision some phones locally and some externally (only one server address slot so currently you can only internal or external), how to setup P series phones with PBXAct using HTTPS provisioning since you mentioned this was possible.

The P phones need DPMA. If you want to provision the phone the first time using http(s) then you can do so, but after the first boot it will be expecting to reach the DPMA service. If you need the phone to provision from a different IP depending on which side of a router it’s on, then you can specify different hosts for your phones in the zero touch portal, or you can use an fqdn that resolves to a different IP depending on where the phone is located. You would have the exact same limitation if using any other protocol for provisioning. If the phones are on the same LAN as the PBX, you can use mDNS broadcast service (configurable in EPM → DPMA) instead of zero touch.

And finally if you have a situation that you can’t easily automate, you always have the option of booting a factory defaulted phone, choosing the sangoma server option from the first boot menu and manually entering the DPMA host/port details. You do this once on first boot, and since the values are all numeric it’s trivially easy to do once on first setup.

so in EPM>DPMA Management can I set the mDNS service name and mDNS discovery address as the internal IP of PBX so that phones that don’t have the redirect URL configured in the sangoma portal but are on the same network as PBX will pick that up and register locally, and the phones that have redirect URL in sangoma portal set can have that as the public FQDN so they will register remotely?
if that is the case then I’m fine with not needing ZeroTouch for internal endpoints since I could specify the mDNS address so they will pick that up automatically when on the same network as PBX. and I could use the zeroTouch redirect server for remote phones only. Let me know if that would work.

I just wanna toss this out there…

If one is running phones in more than one location, in which a phone needs to be told a different host with which to contact the server, depending on that location, then one is going to need to use the network_id element of certain configuration parameters, notably the config_server_url parameter, the host_primary definition, possibly use_proxy_for and pbx_credentials, as well as anything that’s going to be handed off to cURL to retrieve files, like contacts or blf_items or ringtones or logos/wallpapers (last one still a wip for firmware, but it won’t be too long).

I just want simple instruction on how to provision remote P phones as well as some that are on the same network as PBX. That is all. I can do it very easily with all other phones without changing any config on the backend except for creating an internal template and a separate external one. Let me know if the P phones can actually do this

So far the P phones are only working internally.
A whole bunch of issues remotely.
they fetch the config from Sangoma redirect server and the extension number shows as unregistered (yellow warning triangle). And when I press “Reconfigure” on the phone, it displays no configuration servers (blank) when it’s supposed to show the server it just got from Sangoma redirect!! Why is it this difficult.
The phone’s template is set to external.

1 Like

Yes. It’s been a long time since I tested this myself, and then only with D phones, so I requested QA to confirm that it’s working as expected for P phones. Tested Modules P320, 325, 330 and P370 with firmware version 4_7_1 and EPM version 16.0.69.7

  • Confirm ZTP is not configured on the Sangoma portal and phone service portal.
  • Enable DPMA on the EPM
  • Factory reset the phone
  • When the phone boots up its lists the mDNS name.
  • Select the server name, enter DPMA pin, and then select Extension to configure it.
  • Phone fetched the config from the server and it registered.

edit - there’s a wiki page now Sangoma Documentation

I can provision the phones locally without issue by those steps. They catch the mDNS right away and work fine locally.

But how to provision remote P phones with ZTP and PBXAct?

The process for ZTP is the same regardless of where the phone is relative to the PBX. Login to portal.sangoma.com, edit the phone settings, enable redirection and input the DPMA host and port that the phone needs to reach the PBX. If the remote phone has a route to the host already defined for the deployment, you can use that, otherwise specify an ip/host that the phone does have a route to.

I already put the public FQDN and the TCP port for the phones at portal.sangoma.com
They boot from factory reset, fetch the config from redirect portal, but the extension doesn’t register (yellow warning triangle icon with !). Since it fetched the config via the TCP port 5062 that means there is no issue with port forwarding, and the Sangoma phone’s template is set as External, so why doesn’t it register.