LinPhone (Linux, Windows)

 

Linphone provides a large amount of functionalities.

List of supported features:

  • audio with the following codecs: speex (narrow band and wideband), G711 (ulaw,alaw), GSM, and iLBC (through an optional plugin)
  • video with codecs: H263-1998, MPEG4, theora and H264 (thanks to a plugin based on x264), with resolutions from QCIF(176×144) to SVGA(800×600) provided that network bandwidth and cpu power are sufficient.
  • Supports any webcam with V4L or V4L2 driver under linux
  • Any webcam on windows
  • text instant messaging and presence (using the SIMPLE standart)
  • Addressbook
  • DTMF (telephone tones) support using SIP INFO or RFC2833
  • understands SIP ENUMS (sip phone numbers using the naptr DNS service, without proxy)
  • echo cancelation using the great speex echo canceler
  • SIP proxy support: registrar, proxies, with digest authentication
  • STUN support for traversal of UDP NATs (=firewall)
  • sound backend using either ALSA (the most efficient), OSS, or arts (kde sound daemon)
  • supports IPv6
  • the bandwidth limitations are signaled using SDP (b=AS…), resulting in audio and video session established with bitrates that fits the user’s network capabilities.
  • can use plugins: to add new codecs, or new core functionalities, such as remote directory search of sip addresses for example.

User interfaces

  • Linphone is a nice GTK+/libglade application.
  • Linphonec is a command line interface that can use readline on linux to get completion, history, such as bash.
  • Linphonecsh is another command line tool to remotely control a linphonec daemon. Unlike linphonec, linphonecsh immediately exits once the command is executed.

Portability

  • Linux/x86 and Linux/x86-64
  • Windows XP and Vista
  • Linux/ARM: without graphical interface. Linphonec or liblinphone are good candidates to provide the software stack of an hardware phone or hardware communication system.
  • Linux/Blackfin: The uclinux.org project maintains a port of linphone for blackfin processors, without gui. Performance are impressive. See here for details.
  • May work also on FreeBSD and OpenBSD with minor modifications to the build system.

Implemented standarts and protocols