ilbc codec source code ?

Hi,

  I wanted to do some tests with low bandwidth codecs for mobile

IAX2 users. I tried to configure iLBC, but the module
codec_ilbc.so is not present. Having a look at my Asterisk source
folder (/usr/src/astsrc-1.4.23-pre/asterisk/codecs/), there’s an
“ilbc” sub-folder, but it only contains a Makefile, not the source
files. This Asterisk install is rather old, I don’t remember how I
installed it, and where I got the sources.

  Where could I find the missing ilbc codec source files ?

  73 de TK1BI

We played with it a few years ago. I can’t tell you if this works
but…

···

http://www.crompton.com/hamradio/BeagleBoneBlackAllstar/ilbc-install-instructions.pdf

  On 8/25/2017 7:21 AM, Toussaint OTTAVI

wrote:

Hi,

    I wanted to do some tests with low bandwidth codecs for mobile

IAX2 users. I tried to configure iLBC, but the module
codec_ilbc.so is not present. Having a look at my Asterisk
source folder (/usr/src/astsrc-1.4.23-pre/asterisk/codecs/),
there’s an “ilbc” sub-folder, but it only contains a Makefile,
not the source files. This Asterisk install is rather old, I
don’t remember how I installed it, and where I got the sources.

    Where could I find the missing ilbc codec source files ?



    73 de TK1BI



_______________________________________________
App_rpt-users mailing list
To unsubscribe from this list please visit and scroll down to the bottom of the page. Enter your email address and press the "Unsubscribe or edit options button"
You do not need a password to unsubscribe, you can do it via email confirmation. If you have trouble unsubscribing, please send a message to the list detailing the problem.

App_rpt-users@lists.allstarlink.orghttp://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-usershttp://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users

Thank you, it works :slight_smile:
My Asterisk source tree was taken from your Github repo. It already
included most of the iLBC files (those in the patch from here
:). The only missing files were in the subfolder asterisk/codecs/ilbc
I just put the content of this subfolder in my existing source tree,
make clean, make menuselect and make. Missing “codec_ilbc.so” is now
there. And my Zoiper client now connects with ilbc codec :slight_smile:
73 de TK1BI

···

Le 25/08/2017 à 16:55, Steve Zingman a
écrit :

  We played with it a few years ago. I can't tell you if

this works but…

http://www.hamvoip.org/downloads/patch-kit-with-ilbc.tgz

http://www.crompton.com/hamradio/BeagleBoneBlackAllstar/ilbc-install-instructions.pdf

Hi,

Please make sure to apply ALL the files in the patch kit, including the
changes in Asterisk proper, such as:

asterisk/include/asterisk/frame.h
asterisk/main/frame.c
asterisk/formats/format_ilbc.c
asterisk/codecs/codec_ilbc.c
asterisk/codecs/ilbc_slin_ex.h

Stock Asterisk uses 30ms iLBC audio frames, which can end up sounding like
"Mr. Roboto" with AllStar, which strictly expects 20ms frames....These
patches convert iLBC for Asterisk to 20ms frames, so it's compatible with
AllStar.

Also, note that is you use this patch in conjuction with SIP phones,
softphones, etc., make sure they're set to 20ms frames, too.

This code is well tested, it has been running for many years in
production.

73, David KB4FXC

···

On Fri, 25 Aug 2017, Toussaint OTTAVI wrote:

Le 25/08/2017 à 16:55, Steve Zingman a écrit :
> We played with it a few years ago. I can't tell you if this works but...
> <http://www.crompton.com/hamradio/BeagleBoneBlackAllstar/ilbc-install-instructions.pdf&gt;

Thank you, it works :slight_smile:

My Asterisk source tree was taken from your Github repo. It already
included most of the iLBC files (those in the patch from here
:http://www.hamvoip.org/downloads/patch-kit-with-ilbc.tgz\).

The only missing files were in the subfolder asterisk/codecs/ilbc

I just put the content of this subfolder in my existing source tree,
make clean, make menuselect and make. Missing "codec_ilbc.so" is now
there. And my Zoiper client now connects with ilbc codec :slight_smile:

73 de TK1BI

When I get a chance I'll check it out and if all goes well I'll add it to the repository.

Steve

···

On 8/25/2017 2:43 PM, David McGough wrote:

Hi,

Please make sure to apply ALL the files in the patch kit, including the
changes in Asterisk proper, such as:

asterisk/include/asterisk/frame.h
asterisk/main/frame.c
asterisk/formats/format_ilbc.c
asterisk/codecs/codec_ilbc.c
asterisk/codecs/ilbc_slin_ex.h

Stock Asterisk uses 30ms iLBC audio frames, which can end up sounding like
"Mr. Roboto" with AllStar, which strictly expects 20ms frames....These
patches convert iLBC for Asterisk to 20ms frames, so it's compatible with
AllStar.

Also, note that is you use this patch in conjuction with SIP phones,
softphones, etc., make sure they're set to 20ms frames, too.

This code is well tested, it has been running for many years in
production.

73, David KB4FXC

On Fri, 25 Aug 2017, Toussaint OTTAVI wrote:

Le 25/08/2017 à 16:55, Steve Zingman a écrit :

We played with it a few years ago. I can't tell you if this works but...
<http://www.crompton.com/hamradio/BeagleBoneBlackAllstar/ilbc-install-instructions.pdf&gt;

Thank you, it works :slight_smile:

My Asterisk source tree was taken from your Github repo. It already
included most of the iLBC files (those in the patch from here
:http://www.hamvoip.org/downloads/patch-kit-with-ilbc.tgz\).

The only missing files were in the subfolder asterisk/codecs/ilbc

I just put the content of this subfolder in my existing source tree,
make clean, make menuselect and make. Missing "codec_ilbc.so" is now
there. And my Zoiper client now connects with ilbc codec :slight_smile:

73 de TK1BI

_______________________________________________
App_rpt-users mailing list
App_rpt-users@lists.allstarlink.org
http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users

To unsubscribe from this list please visit http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users and scroll down to the bottom of the page. Enter your email address and press the "Unsubscribe or edit options button"
You do not need a password to unsubscribe, you can do it via email confirmation. If you have trouble unsubscribing, please send a message to the list detailing the problem.

Stock Asterisk uses 30ms iLBC audio frames, which can end up sounding like
"Mr. Roboto" with AllStar, which strictly expects 20ms frames....These
patches convert iLBC for Asterisk to 20ms frames, so it's compatible with
AllStar.

Wow ! Thank you, I didn't see that ! I just compared file sizes, and saw they were identical. But I didn't see the content was different...

Also, note that is you use this patch in conjuction with SIP phones,
softphones, etc., make sure they're set to 20ms frames, too.

Humm, another problem : my current software client (Zoiper for Android) does not allow to set timing value. Does someone know an IAX2 client for iPhone/Android which supports iLBC, and which allows to change timing value ?

73 de TK1BI

···

Le 25/08/2017 à 20:43, David McGough a écrit :

Hi,

I think Zoiper 3 and later has different CODECS (iLBC20 and iLBC30)
define, which differentiate the frame rate. See:

https://www.zoiper.com/en/support/answer/for/windows/104/Codecs

I have tested G.729, but found it to have lower audio quality than iLBC,
to my ear, at least, with about the same bandwidth use. The patents which
did encumber most G.729 implementations are now expired.

I have also experimentally added CODEC2 / 3200bps. Other than being CPU
heavy (as expected), it works fine, but sounds closer to DMR-quality audio
than is typically desirable for most AllStar use...But, this CODEC is by
far the low-bandwidth leader of the free CODECs I've tested.

73, David KB4FXC

Stock Asterisk uses 30ms iLBC audio frames, which can end up sounding like
"Mr. Roboto" with AllStar, which strictly expects 20ms frames....These
patches convert iLBC for Asterisk to 20ms frames, so it's compatible with
AllStar.

Wow ! Thank you, I didn't see that ! I just compared file sizes, and saw
they were identical. But I didn't see the content was different...

Also, note that is you use this patch in conjuction with SIP phones,
softphones, etc., make sure they're set to 20ms frames, too.

Humm, another problem : my current software client (Zoiper for Android)
does not allow to set timing value. Does someone know an IAX2 client for
iPhone/Android which supports iLBC, and which allows to change timing
value ?

73 de TK1BI

···

On Fri, 25 Aug 2017, Toussaint OTTAVI wrote:
Le 25/08/2017 à 20:43, David McGough a écrit :
_______________________________________________
App_rpt-users mailing list
App_rpt-users@lists.allstarlink.org
http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users

To unsubscribe from this list please visit http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users and scroll down to the bottom of the page. Enter your email address and press the "Unsubscribe or edit options button"
You do not need a password to unsubscribe, you can do it via email confirmation. If you have trouble unsubscribing, please send a message to the list detailing the problem.

I think Zoiper 3 and later has different CODECS (iLBC20 and iLBC30)

Thank you. I have iLBC30 installed, but I didn't see there was an iLBC20 :slight_smile: Good news :slight_smile:

I have tested G.729, but found it to have lower audio quality than iLBC,
to my ear, at least, with about the same bandwidth use. The patents which
did encumber most G.729 implementations are now expired.

Did you remember how you installed the codec on Asterisk side ?

AFAIK specs say iLBC is 15 kbps and g729 is 8 kbps, so it should be half bandwidth ?

I have also experimentally added CODEC2 / 3200bps. Other than being CPU
heavy (as expected), it works fine, but sounds closer to DMR-quality audio
than is typically desirable for most AllStar use...But, this CODEC is by
far the low-bandwidth leader of the free CODECs I've tested.

I'd like to test, too. To see if there is an interest to use it with poor mobile networks (but if a mobile network can't carry 8 kbps, it may not be able to carry 4 kbps much better...)

Of course, I won't use it for my Asterisk backbone :slight_smile: But as far as we plan to integrate gateways with d-star and DMR, there won't be much difference if there are also IAX2 users @3kbps... Moreover, the quality of a 3kbps codec transcoded to another 3kbps codec is something I'm fearing a bit HI :wink:

Do you know any mobile software that can support codec2 ?

73 de TK1BI

···

Le 25/08/2017 à 21:47, David McGough a écrit :

Hi,

I don't have a cookbook solution for installing G.729 (or CODEC2), they
are more complex to install than iLBC, which was originally part of the
Asterisk distribution.

When considering real bandwidth, remember all the IAX2 protocol overhead
on top of the actual CODEC requirements. Here is a previous message, which
has more details and actual measurements:

http://lists.hamvoip.org/pipermail/arm-allstar/2017-July/005624.html

I don't recall for certain the bandwidth needed for G.729. I think it was
similar to GSM. I'll measure the bandwidth and document it when I get a
chance.

73, David KB4FXC

I think Zoiper 3 and later has different CODECS (iLBC20 and iLBC30)

Thank you. I have iLBC30 installed, but I didn't see there was an iLBC20
:slight_smile: Good news :slight_smile:

I have tested G.729, but found it to have lower audio quality than iLBC,
to my ear, at least, with about the same bandwidth use. The patents which
did encumber most G.729 implementations are now expired.

Did you remember how you installed the codec on Asterisk side ?

AFAIK specs say iLBC is 15 kbps and g729 is 8 kbps, so it should be half
bandwidth ?

I have also experimentally added CODEC2 / 3200bps. Other than being CPU
heavy (as expected), it works fine, but sounds closer to DMR-quality audio
than is typically desirable for most AllStar use...But, this CODEC is by
far the low-bandwidth leader of the free CODECs I've tested.

I'd like to test, too. To see if there is an interest to use it with
poor mobile networks (but if a mobile network can't carry 8 kbps, it may
not be able to carry 4 kbps much better...)

Of course, I won't use it for my Asterisk backbone :slight_smile: But as far as we
plan to integrate gateways with d-star and DMR, there won't be much
difference if there are also IAX2 users @3kbps... Moreover, the quality
of a 3kbps codec transcoded to another 3kbps codec is something I'm
fearing a bit HI :wink:

Do you know any mobile software that can support codec2 ?

73 de TK1BI

···

On Fri, 25 Aug 2017, Toussaint OTTAVI wrote:
Le 25/08/2017 à 21:47, David McGough a écrit :
_______________________________________________
App_rpt-users mailing list
App_rpt-users@lists.allstarlink.org
http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users

To unsubscribe from this list please visit http://lists.allstarlink.org/cgi-bin/mailman/listinfo/app_rpt-users and scroll down to the bottom of the page. Enter your email address and press the "Unsubscribe or edit options button"
You do not need a password to unsubscribe, you can do it via email confirmation. If you have trouble unsubscribing, please send a message to the list detailing the problem.

A friend of mine, who is working in business VoIP, told me to have a
look at Opus codec. It seems to be the “state of the art”, and it’s
highly tolerant to packet loss.
It’s included in Asterisk 14. But, due to some licencing concerns,
it’s not Open-Source, and only binaries are provided. Then, I presume chances that we can use it are poor…

···

Le 25/08/2017 à 13:21, Toussaint OTTAVI
a écrit :

    I wanted to do some tests with low bandwidth

codecs for mobile IAX2 users. I tried to configure iLBC,

···

Le 25/08/2017 à 13:21, Toussaint OTTAVI
a écrit :

    I wanted to do some tests with low bandwidth

codecs for mobile IAX2 users. I tried to configure iLBC,

Hi,

I have Opus setup on my Asterisk 13 and later installations and it sounds
fantastic for wideband audio...But computationally, it is VERY CPU
intensive. Due to the CPU use, I about always prefer G.722. I have not
tried this code on a RPi3 or for narrowband audio. I expect Opus on an
RPi3 might be pushing the envelope!

Opus is open, BSD license, see: License – Opus Codec

However, it's not GPL. I also expect they won't sign a Digium contributor
license agreement---which requires you to give up your license rights to
Digium! ..So, that's probably the license issue you heard about.

For my installations, I'm very concerned about maintaining high audio
quality. So, for me, iLBC is the winner over GSM, hands down....But,
remember, whatever CODEC you choice, don't transcode from one
low-bandwidth CODEC to another between nodes; not only is this CPU
intensive, it seriously degrades the audio even further.

If you've just got to have minimal bandwidth use, no other option,
CODEC2/3200 is included in the hamvoip release and works properly. But,
you pay for low bandwidth by sacrificing audio quality.

73, David KB4FXC

···

On Sun, 27 Aug 2017, Toussaint OTTAVI wrote:

Le 25/08/2017 à 13:21, Toussaint OTTAVI a écrit :
> I wanted to do some tests with low bandwidth codecs for mobile IAX2
> users. I tried to configure iLBC,

A friend of mine, who is working in business VoIP, told me to have a
look at Opus codec. It seems to be the "state of the art", and it's
highly tolerant to packet loss.

It's included in Asterisk 14. But, due to some licencing concerns, it's
not Open-Source, and only binaries are provided.

Then, I presume chances that we can use it are poor...