Did you know? Yealink VP59, EPM, and Sangoma Meet

Hi all! In recent times, we upgraded our phones to the latest and greatest Yealink VP59 video phone. I wanted to touch upon a couple of things for those that didn’t know and/or were wondering how to get a VP59 working with EPM.

Also, I wanted to point out that the Yealink VP59 is one of the only Android-based video enabled endpoints that support Sangoma Meet! You read that right…Sangoma Meet, complete with video conference support works perfectly on the VP59!

Oh, and it can most definitely be setup in EPM if you are aware of one particular fact: The VP59 is virtually config identical (and nearly internally identical) to the SIP-T58V and the SIP-T58V model is available in EPM. :smirk:

So, to the meat of things. The VP59 is one of Yealink’s most recent releases and marks the latest generation of their offerings. This phone runs Android 7.1.2 on a Rockchip ARMv8-A (4x A53 Cores @1416MHz & 2x A72’s @1800MHz) with 2GB RAM and 16GB storage (11.74GB usable). Not bad for a deskphone intended mostly to make/receive calls all day! Because it is running ARMv8 and on API L25, there’s a lot of modern Android apps that will still run on it, including Sangoma Meet (more below).

This brings us to EPM support, in which we will touch upon how to enable the installation of APKs. To use the VP59 with EPM, you simply have to use the SIP-T58V device profile. It works perfectly with this profile, given their close similarities (kinda like how SIP-T46S/G are nearly identical, just different generations). One you have your VP59 template using the SIP-T58V profile setup, there are a few Basefile edits that you might be interested in:

  • account.1.srtp_encryption = 2
    • This will be needed if you are using SRTP, as it doesn’t get properly added by EPM. Replace 1 with 2 , 3 , etc if you have more than one SIP account configured on the device
  • video.enable = 2
    • This will enable proper video call support on the endpoint
  • features.dnd_mode = 1
    • This tells the phone to use feature codes behind the scenes to enable and disable DND when button pressed, so BLFs function as expected
  • features.bluetooth_enable = 1
    • We use this to enable BT on boot, as it is disabled on boot by default
  • features.power_saving.power_led_flash.on_time = 0
    • We’re not a fan of the little red LED staying on all the time when the phone is screen-off idle. This turns it off
  • pm.version = special
    • THIS is what needs to be added if you wish to install 3rd party APKs on the device. By default, no APKs can be installed beyond the firmware for security reasons, but this flag enables installation of APKs (it MUST be included if you use the next parameter in this list
  • app.install_url = https://__provisionAddress__:1443/browser.apk
    • In this example, the APK is hosted on the PBX in the /tftpboot/ folder so it can be downloaded via the same provisioner URI as the phone obtains the configs (no separate webserver required). Of course, replace the user pass IP and such to match your setup (the above example will not resolve to anything, so don’t try it).
    • You can include any apk here you want, but keep the following in mind:
      • It must be compatible with the Android version/API Level/architecture (7.1.2/API 25/ARMv8)
      • It should be an app that lets you download other APKs (like Firefox so you can use APKPure.com and the like), unless you only want to install a singular app, like Sangoma Meet (again, more on that one below)
      • There is NO GOOGLE PLAY FRAMEWORK AND NO WAY TO ADD IT! We’ve been trying for MONTHS to no avail. So, apps like Chrome, GMail, Drive, etc are entirely out of reach
      • EDIT: As of the most recent FW versions (>= v91.85.0.5, it would appear), you CAN specify more than one app.install_url entry.

Now, on to the part you probably came here for: How to install Sangoma Meet? Since you now know how to enable 3rd party APK installation and install an APK from a remote location, you can now install Sangoma Meet using the above information.

  • Go download the latest Sangoma Meet APK from here:
    • NOTE: Select the APK only version, which is always the latest version, not the proprietary XAPK version they offer!
  • Upload to your PBX /tftpboot/ folder or your webserver of choice
  • Add or alter the app.install_url parameter in the Basefile appropriately

NOTE: If you already have a browser or 3rd party app store installed on the VP59 - we don’t recommend the built-in browser for downloading APKs, as it doesn’t handle modern website scripts well and often loops over DDoS filters endlessly - having already set the pm.version = special in your Basefile, you can simply download the Sangoma Meet APK via the URL above in that browser/app store and install directly from the phone. No need to fuss with EPM again after initially setting pm.version = special so long as you have a way to download the APKs directly on the phone, such as with a browser or a 3rd Party app store.

Once you have Sangoma Meet installed, you can launch it and see that it works flawlessly with both video and audio meetings, both started and joined. You’ve just freed up your PC/laptop/smartphone and can take your Sangoma Meet conferences directly on the phone now, as it should be! :smile:

Here are some other apps we have installed and confirmed working on the VP59:
File Manager: Solid Explorer
Browser: Firefox
Speedtest (Ookla)
APKMirror Installer
Sangoma Meet

We’ve tested others, but most were not necessarily relevant to UC and were just to see what we could and could not get working on the device. Just be sure to opt for arch agnostic/ARMv8 compatible versions that work on API Level 25 if you expect any chance of the app running. Also, we did encounter a few instances where trying to install an app would effectively “soft brick” the phone. This is resolvable via Factory Reset (sometimes needing to use power-on key combo), so long as you don’t have the offending APK listed in your Basefile to install as soon as you reset.

If anyone has any questions or comments, I’m all ears. We’ve been working with these for months now and have a pretty good handle on what they can and can’t do.

To the folks at Sangoma:

  • It would be great if you could offer a direct APK download link for Sangoma Meet so we didn’t have to trust a 3rd party site for it. Relying on the Google Play Store alone excludes portions of your prospective user base from gaining access to your app. As more endpoints move to Android as their base, none of them are likely to include GP Store or GP Services. Would be great to see Sangoma Meet able to run on them all without such arbitrary limitations/risks (i.e. using a 3rd party mirror) to obtaining the APK.

All kinds of wrong here.

port 84 is the http port, not the https port. The https port is 1443 by default.

Also, hardcoding info is a bad thing. use the built in variables.
You need look no further than the auto provision info for an example…

auto_provision.server.url = __provisionAddress__

If you are putting your file in the /tftpboot folder (and you should, I agree), then all you need is the above URL variable and then you path to the file.

app.install_url = __provisionAddress__/browser.apk

Save and build the config, and you should see the file properly created.

Having fought with Yealink’s android phones for a couple of years with mixed success, I would recommend Grandstream GVX33* android (v7) phones , If you install GMS from their ‘market’ , you will have native google playstore facility.

My 3380 is my primary desk phone, and streams CNN/Fox/pandora/youtube/termux (for geeks)/whatever while NOT needing to be a phone. When I need a phone I have 16 accounts available, each will preempt ‘current programming’ seemlessy

Jitsi (Sangoma Meet) , zoom, google chrome, Amazon, Netflix, Alexa whatever just a click or two away.

Yeah, sorry about that bit. The port number was a late night mind slip…I initially wrote an HTTP URI then realized I should illustrate HTTPS instead and neglected to change the port. I’ve corrected that.

The primary reason I illustrated the URI without using the __provisionAddress__ variable was to show the format for an authenticated HTTPS URI, in case the PBX was not the host used for the APK. I see now how that would be confusing considering I mention /tftpboot/ in the next sentence. That said, point taken and example updated.

Is it full and proper Google Play Services? I.E. Can I install native GMail, Home, etc? If not, then it is only a half-step ahead of Yealink, as proper Play Services would be ideal…another “market” with altered, unofficial, or half-supported Google apps isn’t much better off than not having them at all. For example, I can easily get Chrome installed on the VP59, but without proper Play Services available, I get prompted CONSTANTLY about needing to sign in and no option to permanently skip it (must be coded within Play Services itself), making it fairly unusable…Google REALLY wants their data collection firmly in place. Of course, no one should rely on Chrome on such limited hardware because it’s a hog even on Android, but my point stands. No Play Services, no Google joy! 3rd party Youtube apps and other G-alternatives just don’t suit my security mindset, as they are usually chock full of ads and tracking code…on an OLD version of Android with minimal app segregation and potential access to PBX credentials? I think not.

I gotta say, I’m also not a huge fan of Grandstream’s camera design. The VP59 uses a [removable] USB based camera with vertical tilt. Granted, it would be better if it had horizontal pan, but that’s why it’s awesome that it’s USB connected at the back, as I just use a USB extension/stand like you’d use for a WiFi dongle to position the VP59’s camera anywhere on my desk that I want. With the Grandstream, you basically have to sit facing the phone head on, which limits desk positioning options.

If you still have a Yealink Android model laying around, update the firmware and give it another try. They released a wave of new firmware for a lot of their Android models in the last 2-3 months that addressed a lot of random issues and overall stability. I’ve had minimal issues - no more than any other Android device, generally speaking - on the latest firmware versions.

i never was a fan of gs but they nailed this one, Way ahead of yealink in every direction…so Android I even use the camera as a feed to ‘motion/home assistant’ to presence detect myself.

1 Like



will have native google playstore facility. =yes

(legal in CA :wink: )

Color me old-school, but I also enjoy the continued existence of the physical keys the Yealink Android models maintain. So much faster to key numbers on a physical keypad and this is a phone, first and foremost. The all-screen design is “futuristic” looking and all, but until we’ve evolved into 3D floating VR interfaces, touchscreens are still kinda shite in some scenarios. If I’m on a call and not on the call screen, I’d like to be able to mute my mic without needing 10 seconds to swap around screens to get to an on-screen mute button.

Then apparently these Grandstream phones are not for you. But when you are in a call or even have an incoming call, all other activities are preempted (it knows it is primarily a phone) , you will not easily be able to leave the ‘call screen’ which has all your normal hold,transfer,mute, blah blah buttons, much like any other Android phone which are designed to be easy to navigate sans physical buttons, the ‘android pulldown menu’ gives quick access to mute also. At the end of any call, it seamlessly returns you to candy-crush or whatever

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