Skip to main content


Click here to expand Table of Contents


It's pretty well documented that the OpenVPN configuration on this phone is wonky.

Here's some [edited] info from there:

Phone Setup

Yealink T28's web GUI allows you to upload a VPN configuration file, but they dont supply any hints on how to format the file in their publicly available documentation.

Format of Configuration TAR Archive

The TAR archive has an unusual structure. The upper most folder is a "." folder.

To be more precise, the TAR archive folder structure is:

. (folder)
→vpn.cnf (standard OpenVPN client config file)
→keys (folder)

Here's how to generate the archive.

tar cvf openvpn.tar ./vpn.cnf ./keys

The './' is important. This will create the '.' folder initial directory. I also did a chmod 666 on all files, and 777 on the keys directory to be safe. Not sure if that matters.

Sample TAR Archive and basic documentation supplied by Yealink

CONFIG FILE TIP: When specifying the location of the ca, cert, and key, you must include the full path to the file:

ca /yealink/config/openvpn/keys/ca.crt
cert /yealink/config/openvpn/keys/client1.crt
key /yealink/config/openvpn/keys/client1.key

ON the phone, you need to go to Menu->Setting->Advanced Settings->Network->VPN

  • default password for advanced settings is: 'admin'
    • yes virginia, good ole multi-tap

If it works, you'll see VPN in a square on the upper right hand corner of the display. DNS works fine as well. Here's a test setup:

FS -> Router (vpn server) -> Internet-> DSL-> Tomato Router (nat1)[1] -> wireless -> Gargoyle Router [client route] (nat2) -> Yealink (openvpn)

So far 8.5+ hours (before I hung up) listening to music on hold (conference) through this mess back to my remote server = Awesome.

  1. Also of note, the tomato router has all sip and rtp ports forwarded to an Obi100 device.

The general procedure here is convert a bitmap to a '.dob' file. It doesn't like long names, so I renamed mine to logo.dob

The tar file containing the .dob and advertising.index doesn't work anymore. Pity since you used to be able to control how long the logo was displayed on screen. Now it's clock for 7 seconds, logo for 3 seconds.

Ring Tones

Another wonky one. Had to use sox to convert a wav file due to the strange formats. Yanked from here

Default Audio File for Ring Tones Note: Audio files (once converted per instructions below) can not exceed 100k.

Easiest way to convert a file for use as audio file in Yealink phone.

  1. Use your audio editing program of your choice to edit the file.
  2. Save it as MONO .wav file
  3. Use SOX command line version for Windows (have not got it work in Linux).

You want to convert the .wav file to a .wav file with U-Law encoding. There is a typo on the Yealink web interface (probably also in the manual) - it says to use 16 bit file... u-law will not encode at 16bit, it will at 14bit and that will work.

command line to convert the file:

sox InputFileName.wav -e u-law -r 8000 OutputFileName.wav

If it gives you a WARN flag related to clipping, it's because the input file volume is too high.

To lower it, you can use the -v (volume) parameter in front of the input file. The -v parameter operates in multiple of volume, so you need a fractional number to decrease volume. Here's an example:

sox -v 0.95 InputFileName.wav -e u-law -r 8000 OutputFileName.wav