Undefined index: directedCallPickup

FreePBX 15.0.23
Endpoint Manager 15.0.41.11

Today I went to add something to one of my Basefiles for a Yealink T-29G. Upon trying to save/rebuild, I received this error:

Undefined index: directedCallPickup
File:/var/www/html/admin/modules/endpoint/functions.inc/functions_yealink.php:244

So, just to test, I went to another Basefile – which I had not touched in months and has been working fine – and did nothing except try to “Save and Rebuild” and got the same error. So, I don’t think it is related to the content of the Basefile itself – meaning nothing that I’ve changed recently – it just suddenly won’t Rebuild even the previously working content.

Just for some more information… I looked at another FreePBX install of mine and noticed that it had a newer version of Endpoint Manager. So, I double-checked and, sure enough, my Endpoint Manager license had expired. Note that it says nothing about it being expired on the Updates page. There is no “renew” button or anything else giving me an option to renew it. I had to go to the Activation page and see that it had expired in September of 2021. I then logged into the Portal and pulled up the deployment and it shows it there as expired. I then went to Reports to get the list of licenses – and it showed it there and allowed me to renew it. I renewed it and then went back to the FreePBX Activation page, did the update of licenses, and it confirmed the new expiration date in 2023. So, I went back to the Updates page, checked again, and it still finds no updates to EndPoint Manager even though I am running 15.0.41.11 and it looks like the latest is currently 15.0.43.1. So, I don’t know why it isn’t seeing updates. And I don’t know if this issue might be resolved in a later update…

There is something cached which is preventing the update from showing. If you don’t want to wait, you can update using the command

fwconsole ma downloadinstall endpoint

Thanks. I actually went to do that this morning, did a check for updates first, and the new 15.0.43.1 showed up. So, at least that is resolved. Everything seems to be up to date.

That being said, my original problem still exists. I’m still getting the “Undefined index: directedCallPickup” error when trying to do a “Save and Rebuild” for any of my existing Basefiles. Even if I don’t change them from what they were previously (when they were working).

It would appear to be a bug in the code and a ticket in the issue tracker should probably be opened. Community support on things like this for commercial modules is highly limited. We can’t see the code or other related scripts since they are encoded. But an Undefined Index means that the variable $directedCallPickup is being used but has no value set to it (not even nulled). That’s a bad practice no-no. Someone needs to fix the code and only the FreePBX developers can do that since this is a commercial module.

@dolesec This is one of those things that has to be filed under “How did this make it out of QA?” it should have been caught and flagged.

Open a support ticket with details pls:
https://wiki.freepbx.org/display/FPAS/How+To+Open+A+Support+Ticket

Ok – will open a ticket. While I’m here, some more details…

I can SAVE on the Basefile page and it saves fine. I just can’t “Save and Rebuild” or I get the error. So, if I save and then go to the Endpoint Mapping page, it shows them in yellow because they haven’t been rebuilt. On THAT page, I can select the ones that the new Basefile applies to and do a “Save, Rebuild, and Update Phones”, and it actually works fine! It generates the rebuilt config and the phone actually receives it. So, I don’t think there is anything wrong with the config – there is just some issue trying to rebuild it from the Basefile page.

That being said, I have one phone with custom entries from the UCP. If, on the Endpoint Mapping page, I click on that and make a change and try to Save and Rebuild, I also get the same error. But if I just Save it and then select the same device and do a “Save and Rebuild” from the Endpoint Mapping page, it works fine.

This isnt an issue with the template. It is an issue with a variable not having a value defined when called upon during the process. Not happening when doing X or Y but doing Z triggers it means the Z process needs to be looked it in the code. That is when the variable isnt being set before being accessed.

Yes, I tend to agree. I’ve opened a ticket. Still waiting to hear back. I was just giving additional data as a point of interest – because I think it is interesting that if I only SAVE it – and then do a Rebuild from the Endpoint Mapping page, it works fine. But if I Save and Rebuild it from the Basefile editor page, then it fails. So, yes, nothing wrong with the template/basefile – it is just a bug depending on where the rebuild is done.

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