[sip-comm-dev] About G729


Hello everybody !!!

I will present you one of my project for this summer : G729


G729 is one of the best Audio Codec for voice communication. It's used a lot
in VoIP equipments. That's why Sip-Communicator need to implement it.

However, G729 is an ITU-T recommandation. http://www.

G729 - License

*From wikipedia : "G.729 includes
patents<http://en.wikipedia.org/wiki/Software_patent> from
several companies and is licensed by
(http://www.sipro.com/). In a number of countries, the use of G.729 may
require a license fee and/or royalty fee."*

In the previous recommandation their is a part about the intellectual
property rights.


**ITU draws attention to the possibility that the practice or implementation
of this Recommendation may
**involve the use of a claimed Intellectual Property Right. ITU takes no
position concerning the evidence,
**validity or applicability of claimed Intellectual Property Rights, whether
asserted by ITU members or others
**outside of the Recommendation development process.
**As of the date of approval of this Recommendation, ITU had received notice
of intellectual property,
**protected by patents, which may be required to implement this
Recommendation. However, implementers
**are cautioned that this may not represent the latest information and are
therefore strongly urged to consult the
**TSB patent database at http://www.itu.int/ITU-T/ipr/.*

As you can see, the IPR is involved for both implementation and pratice.

G729 - Implementation license

I contacted Sipro to know more about the license.


G729 - usage license
G729 usage is restricted by SIPRO. Users who want to use G729 must pay the
license (2 patents : G729 consortium and NEC)***
However, the research license let us develop and use the codec for research
purposes without a fee.

G729 implementations

There are few G729 implementations and only one is in Java :

*Open G729* - VoiceAge : http://www.voiceage.com/openinit_g729.php

Restricted to research and prototype development.

Win32 only, library for C langage.

*Intel IPP 6.0* - sample speech coding G729.1 :

Intel IPP is a sort of API with G729 codec. You must have a license to use
this API. One license is interesting for us : Non-commercial license but is
restricted to Linux only.

There is free samples using G729 (for windows, macosx and linux) but we need
IPP license to build those samples.

Could not work on AMD architechture or old Intel processor. Codec in C++.

To distribute Intel's IPP libraries with a commercial product, you may need
to pay a once-off license fee to Intel (currently US180).

*Asterisk module* : based on Intel IPP :
http://www.readytechnology.co.uk/open/ipp-codecs-g729-g723.1/. So same

*FFMpeg* use open G729 Decoder implementation and need some works to be
fully integrated :

win32 only (because of open g729 by voiceage, am I right?)

Decoder only, not finished.

*Mobicents*: G729 implementation in JAVA.

I contacted mobicents few days ago to know if we could use their code :

I need to know more about the implementation license (from ITU-T) to
understand if LGPL (of GPL) can NOT work with mobicents implementation. If
LGPL is possible, we will need to be very gentle with mobicents for choosing
the right license :slight_smile:

So there is not many possibilities : we will have to work with Mobicents to
use their source code or use Intel IPP (and could only provide an
implementation for Linux without paying a fee).

Have a nice evening