YEAPHONE(1)

NAME
yeaphone - A SIP phone for Yealink USB-P1K handsets using liblinphone

SYNOPSIS
yeaphone [options]

DESCRIPTION
The goal of the YeaPhone project is to bring VoIP-Software together with the Yealink USB handset (USB-P1K) <http://www.yealink.com/en/> and at the same time make a PC keyboard and monitor unneccessary. This makes YeaPhone ideal for "Embedded Devices" as these do typically need extra devices for user interaction (in this case the handset) while working very energy efficient.

Its features include
    * Display the phone number of incoming and outgoing calls
    * Show the duration of a call
    * Allows to store and recall 10 phone numbers
    * Mute the ring tone of incoming calls
    * Adjustable volume of the speaker

YeaPhone has to be configured through linphonec, the console version of Linphone. The following example shows how to get a working connection to a VoIP provider.

    root@NSLU2:~# linphonec
    Ready
    linphonec> soundcard list
    0: ALSA: default device
    1: ALSA: USB Audio
    2: ALSA: VOIP USB Phone
    3: OSS: /dev/dsp
    4: OSS: /dev/dsp1
    linphonec> soundcard use 2
    Using sound device ALSA: VOIP USB Phone
    linphonec> proxy add
    Adding new proxy setup. Hit ^D to abort.
    Enter proxy sip address: sip:sipgate.at
    Your identity for this proxy: sip:1234567@sipgate.at
    Do you want to register on this proxy (yes/no): yes
    Specify register expiration time in seconds (default is 600): 600
    Expiration: 600 seconds
    Specify route if needed: [leave empty]
    No route specified.
    --------------------------------------------
    sip address: sip:sipgate.at
    route:
    identity: sip:1234567@sipgate.at
    register: yes
    expires: 600
    --------------------------------------------
    Accept the above proxy configuration (yes/no) ?: yes
    Proxy added.
    linphonec>
    Password for 1234567 on "sipgate.at": [enter password]
    Registration on sip:sipgate.at sucessful.
    linphonec>

Using linphonec the VoIP connection can be tested immediately before using YeaPhone. The speaker and microphone of the Yealink handset can be used already, commands still have to be entered through the PC keyboard though. The most important commands of linphonec are:

    * help [<command>]
      shows the available commands and provides a detailed description
      for each command
    * call <phone number or SIP address>
      dials the specified phone number of SIP address
    * answer
      answers an incoming call
    * terminate
      terminates an (incoming or outgoing) call
    * quit
      unregisters at the VoIP provider and quits linphonec

As soon as calls can be make this way, linphonec can be stopped and yeaphone can be invoked. Its output should look similar to this:

    root@NSLU2:~# yeaphone
    path_sysfs = /sys/bus/usb/drivers/yealink/3-1.3:1.3/
    path_buf = /dev/input/event2
    Ready
    Registration on sip:sipgate.at sucessful.

At the same time the current date and time are show on the handset's display, a quick sequence of status messages appear, and finally the lower part of the display should be empty. Now the handset's keyboard can be used to place and receive calls.

The various keys have the following functions:

   1. before a phone call
          * 0-9
            Dial a phone number
          * C
            Remove the last character of the dialed number
          * C pressed long
            Remove the complete number
          * <red key>
            Remove the complete number
          * <green key>
            Initiate the call
          * # + <0-9>
            No number dialed yet: Recall and display a number from
            memory X
            Number already dialed: Store the currently displayed number
            at memory X
   2. during a phone call
          * 0-9,*,#
            Generate DTMF tones
          * <red key>
            Terminate the call
          * VOL+/-
            Adjust the speaker's volume
   3. after a phone call (with the last number displayed)
          * 0-9
            Dial a new phone number
          * C
            Remove the complete number
          * <red key>
            Remove the complete number
          * <green key>
            Redial the last number
          * # + <0-9>
            Store the last number to memory /X/
   4. when the phone rings
          * #
            Mute the ringing without picking up
          * <red key>
            Immediately terminate the call without picking up
          * <green key>
            Pick up
   5. general
          * <red key> pressed long
            Start and stop the VoIP connection (corresponds to turning
            on/off a phone)

To correctly understand the phone number of incoming calls, YeaPhone needs some adjustments in the file ~/.yeaphonerc. After terminating yeaphone the parameters intl-access-code, natl-access-code, and country-code should be changed accordingly, the default values work for Austria only.

OPTIONS
yeaphone does not accept any options.

FILES
~/.linphonerc
    Linphone's configuration file which can be created using linphonec (see above).
~/.yeaphonerc
    YeaPhone's configuration file which until now has to be edited manually. It contains the stored numbers and localization codes.

AUTHOR
Thomas Reitmayr <treitmayr@yahoo.com>.

SEE ALSO
linphonec(1)