Softphone Avec Codec G729

  • Is there a softphone ( opensource, freeware, or trial version) with G.729 codec? I just need to make a call and see how it goesthrough a sip protocol on Asteriks. Thank you on advance.
  • G729, G711 u, G711 a, G722, GSM, iLbc, Speex/ 8000, Speex/16000, Speex / 32000 Codec selection and Codec Quality Control (Bandwidth control) Silence Suppression.
Codec

Ekiga (formely known as GnomeMeeting) is an open source SoftPhone, Video Conferencing and Instant Messenger application over the Internet. It supports HD sound quality and video up to DVD size and quality.

First I would check to see if the g.729 code is actually loaded into memory.

Log into the asterisk host system
Launch the asterisk console with: asterisk -rv
From the asterisk console then execute this command: core show codecs
Somewhere in the list you should see the g729 codec

When you enable the the g729 codec it must be done at the extension configuration and at the trunk configuration. It sounds from the error message that one side other the other is still trying to use ulaw.

In regards to the Digium g729 license, does the single license cover the whole server or is the license for a single connector or channel. If you purchased one g729 license that may only cover one trunk connection or one client to pbx connection make sure you know what type of license you have.

Although G.729 patents may have expired already (20 years have passed for original G.729 ITU, see ITU patent list) or they may even be meaningless in my country (in similar way to FFmpeg from France that uses many patented algorithms) I'm not a lawyer and I'm not willing to include G.729 directly in softphone at the moment. Other problem is lack of BSD-compatible licensed implementation - creating own directly from ITU specification would not be cheap.

Building tSIP requires proprietary and not too popular these days Turbo C++. Probably no one would want to install it just for single task thus using G.729 in a form of codec module would be recommended. With tSIP 0.1.45 support for DLL modules (in general intended to be same as baresip modules but with dynamic symbol resulution for calls from module to main application) is added.

G711 G729

Build steps

  • download and install Code::Blocks, version with MinGW bundled (codeblocks-16.01mingw-setup.exe is the newest one full installer at the moment)
  • download tSIP source code, extract to folder of your choice; tSIP source contains some necessary header files shared with DLL
  • extract g729 module code (archive below) to tSIP/baresip/modules (next to e.g. g722 folder), your layout should look like this:
  • download Deepwalker G.729 module for FreeSWITCH (search for Deepwalker-fs_itu_g729.tar.gz), extract content of g729a_v11 subfolder to same name subfolder in g729 module;
  • launch Code::Blocks, open g729.cbp project file (opening g729.cbp directly by double clicking might also work)
  • make sure target is set to 'Release' (unless you want modify/debug project) and hit 'Build'
  • g729.dll file should be generated in less than a minute. Create /modules/ subfolder for tSIP.exe and copy this DLL there
  • (*) if you want to force using G.729 disable all codecs in tSIP configuration (only statically linked codecs are visible there), optionally take a look at tSIP log and/or make test call
  • (*) if you want to disable G.729 - remove dll from /modules/ subfolder or change its extension to other than .dll
Voice codec g729

Audio Codec G729

(*) - with tSIP 0.1.48 codec management was improved. After adding module dll codec(s) have to be manually enabled (and can be disabled later without removing dll). With drag-and-drop enabled codecs can be ordered according to preferences (prioritized). Still, due to nature of SDP negotiation if you want to force G.729 usage then disabling all other codecs may be the only way.

Codec g729 download

Source: g729_template.zip (tested with Code::Blocks 16 + MinGW but C::B 13 seems to work also).

Back to tSIP.