Affects Version/s: 12
Fix Version/s: 12
Component/s: Endpoint (Commercial), REST Phone Apps (Commercial)
Asterisk 11, FreePBX 12, FreePBX Distro, all latest releases
Prerequisite: All of our phones are External, so no Internal IP address is defined in Global Settings.
On Logout, Endpoint Manager puts the following into <macaddress>.cfg:
#Config cleared due to logout
softkey1 type: xml
softkey1 label: Internal
softkey1 value: http://:88/applications.php/endpoint/main?user=0000
softkey2 label: External
softkey2 value: http://18.104.22.168:88/applications.php/endpoint/main?user=0000
prgkey1 type: xml
prgkey1 value: http://:88/applications.php/endpoint/main?user=0000
prgkey2 type: xml
prgkey2 value: http://22.214.171.124:88/applications.php/endpoint/main?user=0000
Note the http://:88/ entries on the "Internal" button.
Requested Change: If no Internal or External IP address has been configured, do not configure a button at all for the corresponding entry.
Also, be consistent with the labels. Further in, you call them "Internal Startup" and "External Startup", whereas you call them only "Internal" and "External" here and you call it "Login" in the REST Phone Apps.
Requested Change: Call them “Internal Login” and “External Login” here. Also, if there is ONLY Internal OR External configured, then only say “Login”, because in reality, Internal Login and External Login is probably confusing to end users, and if it can be simplified to “Login”, that makes it more user friendly.
In astra.cfg with XML-API (RestAPI) Default Login enabled:
softkey2 type: xml
softkey2 label: External Startup
softkey2 value: "http://126.96.36.199:88/applications.php/endpoint/main?user=0000"
prgkey2 type: xml
prgkey2 value: "http://188.8.131.52:88/applications.php/endpoint/main?user=0000"
Here, Internal buttons were omitted, which is perfect. The label given to the button is "External Startup".
Requested Change: Like above, I think "External Login" is clearer to end-users, and in cases where there is only Internal OR External, I’d call it just "Login", because an end user isn’t going to know what Internal or External means, much less know which one applies to them. Ideally, in most installations, all users are either Internal OR External, and so end users are presented with a simple “Login” button.
In your basefile for Aastra, you have the following:
sip line1 user name: “XXNAXX”
Requested Change: When Login/Logout capabilities are enabled, I recommend this be changed to:
sip line1 user name: “Press Login”
Then, on the screen, it says “Press Login” when no one is logged in, acting as an instruction to the end user for what to do.
Then there is this in the basefile:
sip line1 proxy ip: "ext.test.com"
Perhaps I am not understanding what this is for, but I believe ext.test.com should be changed to the External IP configured in Global Settings. I edited my basefile to be that. Please let me know if that is incorrect.
Finally, in my testing, I ran across a bug that caused my basefiles to be erased in the database. The aastra basefile is hundreds of lines. The web interface only allows you to delete them one at a time, and I definitely didn’t do that. Somehow, (and this part I’m assuming—I didn’t check the database), the table with the basefile entries was wiped. There is a bug in there somewhere. I tried to retrace steps to recreate it, but haven't been able to yet.
My only way I found to restore the basefile entries was to remove the REST Phone Apps (dependency) and Endpoint Manager modules and reinstall them. Ideally this bug is found and fixed, but until then, and even after, it would be great to have a quick and easy way to restore the basefiles, as uninstalling and reinstalling is a big hassle. There is a backup/restore option for templates; perhaps a backup/restore option for basefiles?
Please let me know if you have any questions.