Phone Amego (1.4c3 or later) includes support for Yealink (or similar) IP phones. You can get on-screen Caller ID, call logging, dial, end call, mic mute, dial an extension, or send touch-tones. To enable it, you will need to configure your Yealink IP phone as described below.

Yealink Setup

The idea is to have your Yealink phone notify Phone Amego by requesting a URL for each relevant event. Phone Amego makes this easy to configure by looking up the IP address of your Mac and displaying the complete URL for you. All you need to do is copy each URL as shown from the Caller ID tab of Phone Amego and paste it into the corresponding field of the Action URL setup screen on your Yealink phone. The figure above shows two examples but you'll need to copy all 7 URLs. The step-by-step procedure is listed below.

1. Point your web browser at the IP address of your phone http://ipAddress.
To show the IP address of your phone, press the "OK" button on your phone.

2. Login with your username and password.
For Yealink, the defaults are username "admin", password "admin".

3. Navigate to "Yealink -> Phone -> Action URL".

4. Copy and paste the corresponding URL for each action.
Copy from the Local HTTP Server box under the Caller ID tab in Phone Amego,
and paste to the corresponding field in your web browser.

5. Once you have entered the URL for each telephone event,
scroll down to the bottom of the page and press "Confirm" .
It may take a few moments for your phone to update its settings.

6. Within Phone Amego, press and hold the Command key on your Mac keyboard while you
pickup the handset on your phone. When Phone Amego sees the "Off-hook" event with
the Command key down, it will add your phone to the telephone devices table and should
then be ready to recognize call events. If you have a headset plugged into your phone, you
may need to unplug it temporarily to send an "Off-hook" event when you lift the handset.

To dial from your computer, you will need to enable remote access as described in the “Access Control” section below. When you are ready to place a call, select your Yealink IP phone as the telephone device and dial normally using Phone Amego. You may be prompted for your login password the first time you try to dial if needed. You can also set your password explicitly by double-clicking on the corresponding entry in the Telephone Devices table. See
Dialing to enable the "Dial With Phone Amego" application service if desired.

If you wish to remove your phone from Phone Amego, select it in the Telephone Devices table and press the "-" button. To add it back, press Command while you lift the handset on your phone. When you press Command while lifting the handset to send the "Off-hook" event, Phone Amego reads the hardware model and software version from your phone to use the correct commands as needed. If you update the firmware of your phone, you may need to update the URL for the “Off-hook” event and then re-add your phone as a telephone device in Phone Amego.

The configuration procedure above depends on your Yealink phone being able to find Phone Amego at a known IP address. Please see
IP Addresses and DHCP for additional information.

Access Control


Firmware version 7.61.0.80
  1. Navigate to "Yealink -> Phone -> Features -> ActionURILimitIP".
  2. Copy the IP address of the local HTTP server into this field (you can also enter a comma separated list).

Notice a value of "0" means do not allow any host to dial your phone, while a value of "empty" means accept action URIs from any IP address. The factory default on some phones may be "0" which means you'll need to change this to allow Phone Amego to dial your phone.

Firmware version 7.70.0.140
  1. Navigate to "Yealink -> Phone -> Features -> API Security -> Trusted Action URI Server List"
  2. Copy the IP address of the local HTTP server into this field (you can also enter a comma separated list).

Firmware version 35.72.0.5 [The first digit indicates the phone model. 7=SIP-T22P, 35=T48G]
  1. Navigate to "Yealink -> Remote Control -> Features -> Action URI allow IP List"
  2. Copy the IP address of the local HTTP server into this field (you can also enter a comma separated list).

The first time you try to place a call using Phone Amego, a dialog will appear on the phone asking whether to allow remote control. Press "OK". Subsequent calls should work normally.

Which Yealink Phones Are Supported?


Phone Amego currently supports the Yealink SIP-Txx series of phones like the SIP-T22P or similar (including the SIP-T38 and VP530). These phones may also be branded as "TipTel".

Testing Notes


I tested a Yealink SIP-T22P with firmware version 7.61.0.80 and 7.70.0.140. Yealink is a rising star offering advanced features (HD Voice, IPv6, intuitive UI, and the same TI voice engine as Polycom) at entry level prices. The user interface is clean and way ahead of most. The SIP-T22P makes a very nice office phone and is available for around $80. Support for CTI is simple and straight forward. Yealink phones are my favorite for value and ease-of-use.

Things I liked:
  • Larger keypad buttons are easy to press.
  • Large backlit display, intuitive UI.
  • Easy to get working.
  • Good sound, pleasant to use.

Not as nice:
  • The display on the T20 is not backlit and has a limited viewing angle, I'd recommend the T22 or higher.
  • There's no polling API to synchronize the software with the phone, but good support for event notification.

Note the Action URI used to dial is slightly different depending on which model of phone and firmware you have.

SIP-T2x:
http://$phone/cgi-bin/ConfigManApp.com?number=$toNumber
SIP-T2x: http://$phone/servlet?number=$toNumber (firmware v71)
SIP-T3x:
http://$phone/cgi-bin/cgiServer.exx?number=$toNumber

You can use these URLs to test dialing from your web browser if desired.

Associated Firmware
SIP-T28P 2.x.x.x.rom
SIP-T26P 6.x.x.x.rom
SIP-T22P 7.x.x.x.rom
SIP-T20P 9.x.x.x.rom

See
SIP-T2xP IP Phone Family Administrators Guide

Frequently Asked Questions (FAQ)


Q: How does Phone Amego’s support for IP phones compare to Dialectic?
A: Phone Amego provides more consistent support for both dialing and caller ID including call state, duration, and mic mute. See for yourself.