EPM Wont push Updates to phones not Registered

If my phone is not registered with the PBX i am unable to push a config to a phone.

Do phones need to be on the same subnet as the PBX for that to work?

also noticing these in the logs , i believe this may be related to the phone grabbing config on boot via TFTP

8 12:30:28 trgnj-pbxact avahi-daemon[689]: server.c: Packet too short or invalid while reading response record. (Maybe a UTF-8 problem?)
Oct 28 12:30:28 trgnj-pbxact avahi-daemon[689]: server.c: Packet too short or invalid while reading response record. (Maybe a UTF-8 problem?)
Oct 28 12:30:45 trgnj-pbxact php: /sbin/iptables -w5 -W10000 -A fpbxregistrations -s -j fpbxknownreg

That is incorrect, they are not related. The phone will pull it’s config from the provisioning URL supplied in it or you can use DHCP options to route the phones request to the URL.

That error has nothing to do with the provisioning URL or pulling a config. That error is the phone’s REGISTER packet not being long enough. That could be due to it trying to register with missing information or not formatted right.

You would need to provide the SIP messaging for a REGISTER attempt to see what is happening here. At this point a tcpdump would probably be the best option

tcpdump -nttv -s 0 -i eth0 port 5060 change eth0 to match your interface name (it could also be eth0) and change the port to match the port your SIP driver is using.

tcpdump -nttv -s 0 -i eth0 port 5060 and host xx.xx.xx.x ← you can do this to narrow it down to the phone’s IP if needed.

Run one of those with the appropriate values and make the phone register again (reboot it) and then post the output here.

thank you very much, i will look further -

we are using option 66 on dhcp for the tfp
would you know how the path for firmware gets set - EPM does not seem to setting this on the Aastra 6757i CT, i need it to me aastra/1 for slot 1 as configired on the template…
i tired setting the value that appears in the phones local.cfg (upgrade uri:) to align what EPM sets

You need to download the firmware packs in order to use them. There will be different packs for Aastra that will have different version releases and for what models. You can assign them to Slot 1 or Slot 2 when you download them.

After that, they should be there for the phone to grab based on the slot you assigned it.

firmware is definley loaded for all the phones we use

i can manullay download

for slot 1 – tftp -i get aastra/1/57iCT.st
for slot 2 – tftp -i get aastra/2/57iCT.st

however when the phone tries to download it uses

RRQ from filename 57iCT.st
Oct 29 08:47:49 trgnj-pbxact in.tftpd[25252]: Client File not found 57iCT.st

I dont think it has the path set by EPM

actually the phone does register once it has the configuration

What I was hoping i could do with EPM is change the extension and simply push a new config
EPM only seems to be able to push to a phone that is already registered on the extension the MAC is configured for. IF I change the extension it wont push a new config , i have to reset the phone… I can only imagine this is by design to avoid EPM from being able to push devices it has no business doing…

Not sure what a push is in EPM, is it simply asking the phone to pull a new config , or does it actually push the cfg and reboot it…

You need to stop with this “push” thing. The PBX does not push anything to the phones with their configs. The device must make the request to pull the config. Additionally, there is no rule or process that requires the provisioning server and the PBX to be the same server. I have a provisioning server that holds all my devices configs, it’s not even a PBX it’s just a server that has TFTP/HTTP, etc running and holds those files.

Again, auto-provisioning and the registration process are two separate things, you don’t need to actually auto-provision or ever setup a provisioning url in a device but you do need to tell it what host/user/password to use.

This is now the third time I have explained this and you keep coming back to “The phone must be registered to get its profile” and that is wrong. As long as you keep clinging to this idea you’re going to keep having issues trying to make this work.

Further to Tom’s explanation (which is correct, the endpoint only ever downloads its config) you may well be wondering how you are able to trigger a phone to re-provision using the mechanisms provided in the GUI, if the PBX is unable to upload the config to the phone. This is done by Asterisk sending a SIP NOTIFY to the extension which triggers the phone’s provisioning process. Obviously the SIP NOTIFY can only be sent to a registered device, which is why it may appear that only registered extensions can only be provisioned.

I was just about to add this clarification. Thanks.

1 Like

relax dude, Im not clinging to anything other than what In being told to me by the Sangoma tech I am working with . IF there were clear docs on how EPM works then none of this would be a guessing game for me. Sangoma Tech not getting anything to work on EPM so i came here.

I know the difference between provisioning and registration, your clearly are missing my issue.
All i want to know is why the phone wont PULL the new config after i save rebuild after changing the extension in EPM - It appears that it wont do it unless the phone is registered under the extension in the EPM mapping

I will ask someone else , thanks anyway

thank you very much - this answers my question finally .

1 Like

Phones do not pull automatically. They don’t know when you change the config file so they need to be told that. Hence the “Reboot Phone” will send the SIP NOTIFY.

The device will pull configs based on their “check time” which is generally 24 hours that devices use. So you would need to change that to a lower time to have the phone pull its config more often during the day if it is going to have changes made a lot to it.

The bonus of the EPM is being able to do “Save, Rebuild, Reboot Phone” which will do the NOTIFY to make the device resync/reboot to get its updated configs.

If you have an ongoing need to force a phone to reprovision once the config has been removed from the Extension Mapping list, you can probably force a re-provision from the CLI using fwconsole:

fwconsole endpoint update 5014

edit - I say probably because I’m not sure if the above requires a config to be present in EPM for it to work.

thanks , this makes more sense to me… Sangoma has been telling me it pushes the configs to the phones… I guess not literally…

great to know - thank you!

FYI, most “Pushing to devices” with any software works this way.
Server sends a “notify” packet to the device.
Device is checking in to server.
Device checks what new config there’s available.
Device checks what tasks needs to be done prior or post download if the new config.
and this is basically how it works with a lot of softwares.

So yeah, it’s technically not “pushing” but it’s called pushing new config.

God bless you if you’ll tell a user what I just described, rather than ‘I’ll push the new config to your phone, and you should see the new button soon’…

TFTP/HTTP/FTP do not check if there are updates to the file. They just make a GET request to pull the files. Changes or not, each reboot/resync/etc the phone just makes the request and pulls what is there.

The device does a “diff check” basically after the configs are downloaded. If there are changes it will make them. If those changes require the phone to restart/reboot to apply, it will.

While I don’t explain the entire process, I do explain to end users that in order for the phone to get its configuration settings it must be reboot/restarted. This avoids any issues down the road with a device that isn’t registered (thus can’t get a NOTIFY) or if they are having NAT or other issues at the location of the phone and the request isn’t making it to the phone.

thank you - given Im not a regular user i take pushing literal :slight_smile: So I will use push for users and notify.pull for the techs

1 Like

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