Kphone Softphone

KPhone seems to be a stagnant product. No development since mid 2008.

Project was moved to sourceforge: http://sourceforge.net/projects/kphone/

Introduction

kphone is a Linux SIP softphone for the KDE desktop environment. It is available for most Linux distributions and can also easily be built from source.

Original Web site: http://www.wirlab.net/kphone/

kphone is a great SIP test tool. If started from the command line it will print all the SIP messages sent between the phone and the SIP server. Debugging becomes really easy and you get an idea of how SIP works.

Configuration using sipXecs ConfigServer

Starting in release 3.0 of sipX the KDE kphone can be configured semi-automatically using ConfigServer. This implementation illustrates the capabilities of ConfigServer to manage PC-based clients. Support is semi-automatic because the generated configuration file (kphonerc) needs to be manually transferred from the sipX server's docroot directory to the PC that will run kphone. Also, only the most important parameters are currently supported.

Required Steps

1. Create a user that will use kphone:

Release 3.0 and higher of sipX automatically generates a SIP password when a new user is created. The SIP password is programmed in the phone and required for the line to register. This password is different from the PIN entered on the "New User" page. In order to see or change the assigned password, click on the "Show Advanced Settings" link.

2. Create a new phone of type kphone:

3. Configure the newly created phone and assign a line:

4. Generate the profile:

5. Transfer the profile file to the PC:

From the Linux PC that will run kphone issue the following commands:

cd ~/.qt
scp root@<your sipX host>:/var/sipxdata/configserver/phone/profile/docroot/<entered serial number>.kphonerc .
mv <entered serial number>.kphonerc kphonerc

kphone can now be strated. It will prompt you for the SIP password required for registration. Enter the value optained from the sipX Configuration Server (not the PIN, but the auto-generated SIP password).

Special Configuration Notes

  • kphone handles DTMF signaling in-band only; This can only work if you use a 64 kbps codec like PCMU or PCMA.
  • In Audio Preferences, ensure payload size is 160 (20ms)

Additional Features

kphone supports a lot of very useful additional features:

  • You can specify whether UDP or TCP shall be used
  • Symmetric signalling and symmetric media can be turned on or off
  • STUN server is supported
  • kphone supports an XML based phone book
  • Supported codecs: G711u, GSM, iLBC
  • Video calls

Troubleshooting

Tip

If you start kphone in a terminal window all the SIP messages and other status messages are displayed. This makes debugging really easy and can also be used to troubleshoot issues with the SIP proxy.

All the configuration is stored in the file .qt/kphonerc in the user's home directory. Below is a rather complete kphone configuration file with all options. Not all options might be present in your configuration file.

[Call register]
Dialled0=
Dialled1=
Dialled2=
Dialled3=

[General]
SocketMode=UDP

[Media]
MaxPort=0
MinPort=0
[Registration]
AutoRegister=Yes
SipServer=sipx.your.domain
SipUri="Your Name" <sip:user:password@your.domain>
UserName=user
qValue=

[STUN]
RequestPeriod=60
StunServer=stun.your.domain:3478
UseStun=No

[Symmetric]
Media=Yes
Signalling=Yes

[local]
PhoneBook=~/kphone/kphone-phonebook.xml
RegistrationExpiresTime=900
SubscribeExpiresTime=600

[sip]
busymsg=
callforward=false
forwardaddr=<>
forwardmsg=
hideviamode=NoHide
maxforwards=0