Phone Apps - Yealink Help

Asterisk: 18.9

I am trying to test using Yealink T54S phones with EPM/Phone Apps to allow user login/logoff. Normally, when I build users, I point the phone to the server via DHCP 66, or manually entering it in the phone, under the provisioning server section. I use the template “https://[username]:[password]@[FQDN]:1443”. This works perfectly fine with extensions built to a user by the MAC address. However, despite putting the same info into the phone for the provisioning server, the phone’s XML-api/Login-Logoff fails to provision. I don’t see anything exclusively listed in the documentation for Hot Desk Primer that explains how this portion needs to be configured.
I have enabled RESTful Phone Apps under System Admin → Port Management. I am using the secure port 2443 right now. I also enabled REST Apps (HTTPS) under the firewall module as well. After enabling all of these settings, I did make sure to restart the restapps service. When I try logging in with a test user I made using the extension number and voicemail password, it doesn’t appear to do anything and it just shows in the phone that the provisioning has failed.
Does anyone have experience with this particular use case?

I think the logon/logoff feature is something to be payable/commercial and not part of freePBX (specifically for yealink phones). However standard is: user=phone. Either in the extension settings or in the basic settings advanced. It seems to be a Sangoma philosophy to combine user and phone to one unit where in earlier asterisk times, this seems to be always split. In fact to reduce the number of physical phones in the company (…and to be paid working-places in the pricing philosophy of the most of cloud suppliers) it really would be fine when changing staff may login at the desk they are currently working getting their usually known extention# all the time independant of their current location.
The yealink itself has a setting for logon/logoff. I have no idea, where the accound date like user/pw/server data shall come from in such a case. Finally from the provisioning server.

You are correct, this is the Phone Apps license. I have purchased this and it is active on the server. I also already have purchased EPM as well. I have been using EPM just fine with no issues. I use encryption anywhere I can, so it utilizes HTTPS for provisioning. But I know Phone Apps requires a separate port to work and I have enabled that at 2443 and if the Yealink phone requires that to send that type of data, my question is where does that need put in on the phone itself? I have the standard provisioning information that I use on the auto provisioning page. But of course, in this case, there isn’t a config file built for the phone since no one user will be assigned. Do I need to change the “User and Devices” mode to “device and user” for this work? I thought getting Phones and utilizing that approach would negate needing to do that, otherwise, what would be the point of needing it (with regards to login/logout anyway)? If I do need to change to “device and user” mode, what does that do for my existing configurations? I currently have over 200 users built, so will that wipe them all, or will it somehow be converted?

Just to make sure it isn’t something with the phone apps config in general. Are you able to use other phone apps, such as Parking, Page, Voicemail, etc?

We use the phone apps here with the Yealink phones, but not the Hot Desk feature.


Please be very careful on this. I once changed to user <> phone with some deeply not expected results. Loosing all extensions. As long as you don’t have professional support (…from Sangoma) I would setup a test-server not to loose 200 staff-settings in a live environment. Last time I tried this logon/logoff was a test on an raspi4 with raspbx. Copied SD-Card could make any changes unchanged. Now it’s running again as backup without logon/logoff. Restore by simply changing the sd-card.
I’m aware that O2-Telekom in Germany is using this logon/logoff for their clients with yealink T46S/T42S phones. Therefore it generally should work. But unfortunately no idea which phone-server software they are using within their cloud solutions.

I changed the configuration around and built my test user to this phone directly and it pulls the config. I noticed in the config, it sets the values of the phone apps to “XML Browser” and then places the value pointing to my server “https://[FQDN]:2443…”. When I test the other apps, they seem to launch and work as expected. I tested DND and Voicemail, they do appear to work. Unfortunately, I only need the Login/Logout portion. It seems that on all of these XML browser pointers, it passes a token with each key. I’m not sure how to use this string for a phone that doesn’t have a user logged in yet.

Ok that is good to know. I assumed switching the mode will wipe all currently configured extensions. I’m not even sure how this mode works with EPM either. I really hope I don’t have to go that route.

you may create also one single extension on your live maschine where you configure user not same as phone for test reasons. Don’t touch the general config advanced in freepbx.
Therefore you need to create an extra user in the usermanagement, and an extra extension. The extension must somehow bound to the user. Once the user put in his user-login and user’s PW on the phone, the config of his extension must be importet from the defined provisioning server.
Yealink standard is “send user=phone=disable” (what ever it means). In the yealink config-provisioning file it is: account.x.enable_user_equal_phone = 0. Can be changed to 1.This sounds like the opposite as configured in pbx-extension.

Anyway to use all such things from freepbx, let’s say web-things on port like 2443, in my small opinion you need to have a tls-connection (eg. port 5061) between pbx and phone and exchanged certificates between both. I think it won’t work on port 5060 or 5160. Yealinks support tls on port 0.

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