[HELP] codec conversion from ulaw to G723 or G729

Hi guys,

While receiving calls on DIDs from provider DIDww,

with sip.conf

disallow=all;
allow=g729,g723,ulaw,alaw,gsm

I am getting

[2014-09-16 08:50:13] WARNING[21303]: channel.c:5103 set_format: Unable to find a codec translation path from 0x4 (ulaw) to 0x100 (g729) [2014-09-16 08:50:13] WARNING[21303]: channel.c:5103 set_format: Unable to find a codec translation path from 0x4 (ulaw) to 0x100 (g729)

with sip.conf

disallow=all;
allow=g723,ulaw,alaw,gsm

I am getting

[2014-09-16 08:55:01] WARNING[24237]: channel.c:5103 set_format: Unable to find a codec translation path from 0x4 (ulaw) to 0x1 (g723)
[2014-09-16 08:55:01] WARNING[24237]: file.c:133 ast_stopstream: Unable to restore format back to g723

I tried this configurationin sip.conf

disallow=all;
allow=ulaw,alaw,gsm

However, this is rendering a very very bad quality that my english is not good enough to decribe (;

I guess I would be able to debug that myself, but I don’t know how to show in CLI which codec is currently in use. Therefore it’s tough to debug…

May you help me?

g.729 requires non-open source code, and payment for a licence. If g723 refers to g.723.1, the same applies. Pass through is possible, but you must ensure that there is no possibility of the two end selecting different codecs.

core show channel … should tell you the negotiated codecs. The actual codec in use can only be found from rtp debug (high volume output!).

GSM is mobile phone quality. If the quality is much worse, you have network issues, or you are trying to run Asterisk on a VM whose host has not been configured for real time applications.

I was aware of the licence requirement for G729, I wasn’t for G723.

However, desactivating both of them

disallow=all;
allow=ulaw,alaw,gsm

seem to have work fine…

I got a feeling that the quality is however not the best, but I will make some further troobleshooting of the remaining codecs G711 and GSM.

Would you say I should activate some other plugins for quality increase?

g.723.1 needs a licence. g.723 does not. I’m not sure which one applies to Asterisk.

From my readings, g723.1 applies to asterisk. However this codec is called g723 for some reasons in the configuration files.

Off topic bt I would like to know more:
I find it strange though that asterisk let’s you use them if they require a licence: it’s like running windows without key for a moment, it may work for a month, then it will be “blocked” and asks you for the key. Do they rely on human “trust-ability” here? May not ranked best idea of the century…

OK, David, maybe with your knowledge, you may know if not having any low brandwidth codecs apart from GSM may be risky on a quality point of view?

Thanks again,

Digium provide a closed source module for G.729 and sell licences.

Also, if you are careful, you can arrange that both sides use the same codec, all tones are generated outside of Asterisk, and all voice announcements and MoH are pre-transcoded. In that case, Asterisk can pass media through without needing the code to convert it to another codec.