We have a call center of Sangoma Desktop Phones, which has been pretty reliable until today. We noticed that the Windows phones (Mac and iOS/Android still work) are getting an “Error 16.0.40.7” error.
I noticed in the logs on the server: [08-Apr-2023 11:51:01] PHP Fatal error: Uncaught Exception: Unable to locate the FreePBX BMO Class 'Restapps'A required module might be disabled or uninstalled. Recommended steps (run from the CLI): 1) fwconsole ma install restapps 2) fwconsole ma enable restapps in /var/www/html/admin/libraries/BMO/Self_Helper.class.php:212
58 Stack trace:
59 #0 /var/www/html/admin/libraries/BMO/Self_Helper.class.php(106): FreePBX\Self_Helper->loadObject()
60 #1 /var/www/html/admin/libraries/BMO/Self_Helper.class.php(37): FreePBX\Self_Helper->autoLoad()
61 #2 /var/www/html/admin/libraries/BMO/FreePBX.class.php(121): FreePBX\Self_Helper->__get()
62 #3 /var/www/html/admin/modules/restapps/restapps.php(19): FreePBX::__callStatic()
63 #4 {main}
64 thrown in /var/www/html/admin/libraries/BMO/Self_Helper.class.php on line 212
I tried fwconsole ma install restapps & fwconsole ma enable restapps and reloaded with no luck. Any ideas? Do I need to do something with the “in /var/www/html/admin/libraries/BMO/Self_Helper.class.php:212”?
Root cause was that all users were deselected from any groups. Users need to be in an applicable group in order to gain access to the Sangoma Desk Phone. Not sure how that occurred (still investigating) but this was likely user error.
Interesting. For us, we had to go into Development/Debug mode in the desktop phone client, modify the html so that the error overlay was removed, then go into the settings menu. After those steps were completed, you could restart the phone and it would open fine.
I traced the error, on the client side, down to some missing data in the leveldb stored here in “C:\Users\username\AppData\Roaming\Sangoma Phone\Local Storage\leveldb”. There is a “data” section in the json that is stored in that database, that is empty on the affected clients. After going into settings, that data section is then populated, and the softphone works.
In my case, this particular PBX is pulling users from Active Directory, and those users are bound to an AD group. This configuration has been in place for a year and a half, so I’m not sure why this only recently started occuring.
So, I’m not sure how much overlap there is in our solutions here, but your groups theory made me poke around on that side of things.
The group I was pulling from Active Directory had nothing defined in the “Show in Contact Manager Groups” and “Viewable Contact Manager Groups”, under the “Contact Manager” tab. I assigned “All Internal Groups” for “Show in Contact Manager Groups” and “All Public Groups” in “Viewable Contact Manager Groups”, applied the settings, and now the Desktop Phone loads without issue.
Thanks for the shove in the right direction! Would have never thought to look there on my own.
This was an issue caused by a module update :
sangomaconnect 16.0.44.38
sangomartapi 16.0.46.65
It had nothing to do with Contact Manager Groups in our case as everything was ok there.
We downgraded to fix it temporarily :
fwconsole ma downloadinstall sangomaconnect --tag 16.0.44.34
fwconsole ma downloadinstall sangomartapi --tag 16.0.46.37
fwconsole reload
We opened a ticket with Sangoma and they resolved this issue in the sangomartapi module and you can now upgrade :
sangomaconnect 16.0.45
sangomartapi 16.0.46.68