Sangoma P Phones: Reload config from Endpoint Manager not working

We have few P310-P325-P370 phones configured by Endpoint Manager.

When I change template and I try to force the phone to “reload config” from Endpoint Manager nothing happens.

Force reboot, on the other hands, works.

The phones are on a dedicated VLAN with the FreePBX server so all traffic should be allowed.

But, to double check, “reload config” use the communication same mechanism of “force reboot”?

What log can I check to see what’s heppening?

I think it used to works in the past but not anymore.

check that push update logs at /var/log/apache2/other_vhosts_access.log

What is your system version ? FreePBX-17 or old version your are using it now ?

Yes 17, updated yesterday

what mechanism/vhost/port is used by reload config?

You mean installed FreePBX-17
Try to upgrade all modules.

Port 84 HTTP if you did not changed… Admin → System Admin → Port Management

HTTP Port 84 is the one for HTTP Provisioning (insecure) and it’s disabled on freepbx.

HTTPS provisioning is enabled and use a non standard port. Phone template is setup with https provisioning.

Logo, phonebook, blf download by https provisioning endpoint is working.

Force rebbot is working.

Check config not working.

Phones and freepbx are on the same vlan, no firewall/proxy in beetwen.

FreePBX fully upgraded today, no change.

I checked dpma log, can’t see anything, not sure if relevant.

What should I check next?

Hi @unlikely
You can monitor the Asterisk CLI logs when you click the Force Check Config button in EPM. You should see some logs.

Just type:
asterisk -vvvvvvvvvvvvr

and monitor the logs while clicking the button.

If no logs appear, try updating via the command below (xxx-1 should replace with extension number-1) and monitor the Asterisk CLI logs:
fwconsole epm update xxxx-1

you will see the command output as below

Update command sent to xxxx-1

Something happens on the log, but nothing happens on the phone:

    -- Executing [digium_phone_module@dpma_pjsip_message_context:1] Set("Message/ast_msg_queue", "MESSAGE(custom_data)=mark_all_outbound") in new stack
    -- Executing [digium_phone_module@dpma_pjsip_message_context:2] Set("Message/ast_msg_queue", "TMP_RESPONSE_URI=pjsip:10.x.y.z:60313;transport=tcp") in new stack
    -- Executing [digium_phone_module@dpma_pjsip_message_context:3] Set("Message/ast_msg_queue", "MESSAGE_DATA(Request-URI)=") in new stack
    -- Executing [digium_phone_module@dpma_pjsip_message_context:4] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-URI)=") in new stack
    -- Executing [digium_phone_module@dpma_pjsip_message_context:5] Set("Message/ast_msg_queue", "MESSAGE_DATA(X-Digium-AppServer-Response-FullContact)=") in new stack
    -- Executing [digium_phone_module@dpma_pjsip_message_context:6] MessageSend("Message/ast_msg_queue", "pjsip:10.x.y.z:60313;transport=tcp,proxy") in new stack
    -- Executing [digium_phone_module@dpma_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'

In responde to epm update, tcpdum apparently only dump this

    freepbx01.lan.mydomain.tld.58083 > voip-phone_______.lan.mydomain.it.60313: Flags [S], cksum 0x51b5 (incorrect -> 0x796f), seq 1524276461, win 64240, options [mss 1460,sackOK,TS val 742100888 ecr 0,nop,wscale 7], length 0

Apparently the packet has wrong checksum. I suppose the phone discard the request for this reason.

Is this a bug? When will be addressed?

I can confirm, same issue.
Also, if you change the template the phone uses and us the ‘Save, Rebuild, and Update Phones’ option, it also does not work.

Hi @unlikely
The phone display won’t show any changes unless there is a difference in the firmware (FW) or BLF keys between the templates. If there is a change, the phone will display “FW upgrading” or indicate that the BLF keys have been replaced.

When you click the “Force Check Config” button, the GUI of the Extension Mapping page should reflect the updated template name under “Template Model” (see attached screenshot).

Did it change?

What is the EPM version installed on the system?

image

1 Like

My phone already had a template applied, so template name didn’t change.
But I changed a BLF key in the template, saved and rebuilt and update phone.
BLF change was not applied.
EPM is up to date, checked yesterday.

This issue happens with UDP transport.
With TCP transport the reload works.

TLS transport is currently not working on my setup, so can’t provide feedback for now. I’ll open another discussion for TLS issue.

1 Like

Have you checked log side ? /var/log/apache2/other_vhosts_access.log

Not sure what to check.

My understanding is that FreePBX notify the phone to reload config by PJSIP channel and this doens’t works when PJSIP use UDP.

Hi @unlikely
Confused now, You have Registration issue via EPM?
Or EPM is not updating your phone config changes ?

Registration is fine with UDP or TCP (not TLS, I need to investigate).

Phone config updating works only if registration is done over TCP.

Is it your FreePBX hosted same LAN with Phones or Cloud ?

same vlan

Could you pls past here screenshot of your phone template VLAN settings tab.