Phones Down

FreePBX 16.0.40.7
All modules up to date.

Hello,

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.
image

From the browser with the phone in DEV mode:


image

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”?

Thanks for any guidance!

Have you tried restarting the node daemon

1 Like

I am not sure, likely not as all I have done is listed above, how do I go about doing that?

I don’t have that module but the gist…
fwconsole pm2 --list

You will get something like

[root@freepbx ~]# fwconsole pm2 --list
+---------------------------+-------+---------+----------+--------------------+------+---------+
| Process Name              | PID   | Status  | Restarts | Uptime             | CPU  | Mem     |
+---------------------------+-------+---------+----------+--------------------+------+---------+
| clearlysp                 | 2845  | online  | 0        | 3 days, 2 hours    | 0.3% | 54.44MB |
| core-fastagi              | 3197  | online  | 0        | 3 days, 2 hours    | 0.3% | 35.84MB |
| ucp                       | 3392  | online  | 0        | 3 days, 2 hours    | 0.5% | 62.02MB |
| core-calltransfer-monitor | 6266  | online  | 0        | 3 days, 2 hours    | 0%   | 30.40MB |
...

fwconsole pm2 --restart=processname

Also note when you do the list if the process is errored… There are also logs in /var/log/asterisk like processname_out.log and processname_err.log

1 Like

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.

Thanks @jfinstrom for the suggestions!

1 Like

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.

Before:

"data":{
         
      }

After:

      "data":{
         "~":{
            "preferences":{
               "selectedDevice":"",
               "immediateBlindTransfer":false,
               "showCallActivity":false,
               "microphone":"default",
               "speaker":"default",
               "ringer":"default",
               "ringerVolume":1,
               "showMessageNotifs":false,
               "chatOrder":"alphabetical",
               "idle":{
                  "change":false,
                  "presenceId":"",
                  "idleTime":10
               },
               "useTel":false,
               "callPopUp":{
                  "INCOMING_CALL":{
                     "url":"",
                     "enabled":false,
                     "popupWhen":"INCOMING_CALL"
                  }
               },
               "meetIntegrationEnabled":false,
               "callPickupAlert":false
            }
         }
      }

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.

2 Likes

Sounds like information that should be in their KB/Wiki…

2 Likes

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

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