- Main Features of the Ekiga Softphone in a nutshell Version 4.0. Including the best free codec (Theora) and state of art video codec (H.264) Text chat Version 4.0.
- Acrobits G729 Codec. The Acrobits Softphone is the leading SIP VoIP phone for the iPhone, iPod Touch and iPad. By developing VoIP technology for the iPhone, Acrobits provides a bridge for VoIP providers to access the lucrative iPhone segment and deliver their service to iPhone users. With great features such as Push Notifications.
- Zoiper IAX SIP VOIP Softphone. Partout, avec n'importe qui. ITel Mobile Dialer Express. REVE SYSTEMS LTD. G729 codec for CSipSimple.
- Bcg729 is an opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec. This library has been developed by Belledonne Communications, the company supporting the Linphone project. It was written from scratch and is NOT a derivative work of ITU reference source code in any kind. The library written in C.
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.
Build steps
Codec G711
- 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
(*) - 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.
I am developing Softphone dialer applications for android, iOS etc with PJSIP. I need to know how to integrate G.729 Codec with the project. I've seen articles related to building G.729 Codec using Intel IPP in PJSIP Website itself. So i took the g729 codec library alone from linphone and created a patch for pjsip. Also I have tested with.
Source: g729_template.zip (tested with Code::Blocks 16 + MinGW but C::B 13 seems to work also).
Back to tSIP.
Active1 year, 4 months ago
I am developing Softphone dialer applications for android, iOS etc with PJSIP. I need to know how to integrate G.729 Codec with the project. I've seen articles related to building G.729 Codec using Intel IPP in PJSIP Website itself. But when I contacted Intel Support Team, they told me that it was only supported in older versions of IPP. Now they are not supporting arm processors and G.729 Codec is also not coming along with the sample project. Is there any other way to integrate the codec with PJSIP project.
Thanks in advance
SHOUKATHALI PSHOUKATHALI P
5 Answers
I had the same requirement for one of my VOIP app. But haven't found any solution or stack overflow answer for a long. So finally i come to know there is another open source 'linphone'(not pjsip stack) integrated with g729codec.
So i took the g729 codec library alone from linphone and created a patch for pjsip. Also I have tested with my iOS app it works well. You can download the patches from my git repo https://github.com/saravanandm/pjsip-g729codec
SaRaVaNaN DMSaRaVaNaN DM2,83333 gold badges1414 silver badges2626 bronze badges
First you need to download g729 patch from pjsip-android-builder library https://github.com/VoiSmart/pjsip-android-builder/tree/master/g729_patch
Download pjsip , unzip it; put g729_patch folder and pjsip folder into one folder.In g729_patch open in editor install.sh and edit the line 5 (put the correct name of your folder with pjsip), for me it was:PJPROJECT_BASE_FOLDER='./pjproject-2.7.2'
In terminal cd to g729_patch directory and run ./install.sh (you need autoconf utility to be installed for that); patch can be applied manually as well, see instructions in readme.
Create file config_site.h with the following content:
for me it was for android but can be for other platform so 1st line can vary, also other options can be added.Put this file to /pjlib/include/pj.
cd to your pjsip directory and run:
./configure-android --enable-g729-codec
for me it was android so i ran ./configure-android but may be other.on this step any other configure flags can be applied, for example for me it wasNDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags --enable-g729-codec
then run:
make dep && make clean && make
That's it - pjsip is compiled with g729 codec.
OlegOleg
It seems that PJSIP already support G.729
Please, follow the instructions here:
Here you found istruction for linux, maybe usefule with some fixes:
Community♦
frhackfrhack
For me using IPP would be overkill. AFAIR it is also not free.
Use GSM codec module as a template, modify it and add open source G.729/a (asterisk, freeswitch) implementation as third party library.
TMSZTMSZ
You might have a look at CSipSimple project (https://code.google.com/p/csipsimple/), they use pjsua and G729 codec can be included into the application.
Softphone With G729 Codec
Cristea BogdanCristea Bogdan