Summary:ASTERISK-05691: Calls using G.729 (with license) get only static like sound.
Reporter:Vikram Rangnekar (vr)Labels:
Date Opened:2005-11-24 15:46:10.000-0600Date Closed:2011-06-07 14:03:11
Versions:Frequency of
Description:I tried placing calls thought a softphone with G.729 (X-Pro) to my ITSP (Primus) I couldnt not get any clear sound only static crackling could be heard. I did
get the message "Dropping extra frame of G.729 since we already have a VAD frame at the end" I came across this bug report http://bugs.digium.com/view.php?id=5539&nbn=19 which is very similar to my problem.

I even tried the same with and IAX phone (DIAX, IAXCOMM) using ulaw allowing asterisk to transcode the call to G.729 which it was doing (show g729) but I got the same static crackling sound.

Also top shows 25% cpu usage while that one calls is in progress.
No voice can be heard during these calls only that loud crackling sound.


I switched to CVS HEAD (v1-0-11/25) copied the codec_g729.so in place and was up and running. No more crackling sound just clear voice. Problem went away.
Comments:By: Russell Bryant (russell) 2005-11-24 16:01:54.000-0600

This was likely due to ASTERISK-5631.  I'm going to close this out since you have no problems with CVS HEAD.  If you still have problems with 1.2.1 when that is released, please let us know.  Thanks!

By: Vikram Rangnekar (vr) 2005-11-25 05:47:49.000-0600

Yes the problem with the \r\n after the annexb=no in chan_sip.c is fixed I manually did that in the 1.2.0 (tar from website) source I was using. This fixed the terrible sound problem but not entirely. The sound is still terrible I get only horribly broken audio.

Also top shows cpu usage going up to 25% for just 1 G.729 SIP call to my provider this is a Dual Xeon 3GHz machine.

On the same machine when I run v-1-0-11 the audio is crystal clear also top shows cpu usage as low as 2% or 3%.

There is more to this issue than just the \r\n fix.

By: Russell Bryant (russell) 2005-11-25 08:59:56.000-0600

Do you mean that you are not having problems with the v1-0 branch from cvs?  That isn't quite the same thing as cvs head.  :)

By: Vikram Rangnekar (vr) 2005-11-30 13:15:59.000-0600

G.729a Refuses to work with Asterisk 1.2.0 and SVN-Branch-1.2-r7231

My server is an Intel Xeon 3GHz (SMP 3 processors). I tried all the Digum G.729a modules (i586, i686, Pentium4m) with 10 Paid for Licenses.

show g729 shows all the registered licenses.

- show translation shows values greater then 100 for any codec to G.729.
- I get loud terribly broken audio, or no audio atall.
- Even for a single call top shows CPU usage over 25%
- Put simply I cant make any calls over G.729

I have to finally run CVS-1v-0-11 to get G.729 working but now I dont have on demand monitoring feature or ChanSpy both of which I need. I had posted this bug before on mantis but didnt get much help.

By: twisted (twisted) 2005-11-30 13:35:25.000-0600

This may sound like a dumb question, but is this by any chance the 64 bit Xeon, or a dual core xeon?

By: Vikram Rangnekar (vr) 2005-11-30 23:12:44.000-0600

How do I check if its a 64bit machine? Its a remote machine there is the /proc/cpuinfo. The same repeats till processor 3 (4 processor machine)

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Xeon(TM) CPU 3.00GHz
stepping        : 1
cpu MHz         : 2994.151
cache size      : 1024 KB
physical id     : 0
siblings        : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl cid xtpr
bogomips        : 5898.24

By: Vikram Rangnekar (vr) 2005-12-02 00:34:38.000-0600

Yes its a 64 bit machine I've confirmed this. I guess I would now need a full 62bit Linux ditro as just copying the nocona (64bit) version of the g729 codec
crashes asterisk.


By: Kevin P. Fleming (kpfleming) 2005-12-12 21:52:09.000-0600

That is correct, you cannot use the 64-bit codec modules without using a fully 64-bit distro (kernel and userspace).

Can you place a call directly to your ITSP (bypassing Asterisk) using G.729 and have it work properly?

By: Vikram Rangnekar (vr) 2005-12-12 23:42:24.000-0600

If I need a full 64-bit distro userland+kernel the how come v-1-0-11 works fine with a 32bit G.729 codec using a 32bit disto (kernel+userland) ?

By: Jason Parker (jparker) 2005-12-12 23:47:28.000-0600

I believe he is saying that in order to use the 64 bit g729 codec module, you must also have a 64 bit kernel and userspace.

Similarly, when you are using the 32 bit g729 module with 1.0.11, you would need a 32 bit kernel and userspace (which is what you say you have).

Basically, it's an all or nothing deal.  Both (module and kernel+userspace) must be either 32 bit or both must be 64 bit.

By: Vikram Rangnekar (vr) 2005-12-12 23:53:35.000-0600

If you read the original post of the problem then you'll see that 32bit G.729 codec running on a he 32bit kernel+userland dosent work with 1.2.0. The system was dual Xeon 62bit box. but on the same box it worked fine I used v-1-0-11

I havent got to try 1.2.1 since this was a clients production server and he didnt want me to experiment any further. But I did try it with SVN-Branch-1.2-r7231 and it wasent working I got garbled sound and 24% of the CPU was being consumed etc, I doubt any major fixes have been done in this regards to the 1.2.1 code.

By: Jason Parker (jparker) 2005-12-12 23:58:23.000-0600

I believe he was just commenting on your statement that "as just copying the nocona (64bit) version of the g729 codec crashes asterisk.", and not the bad audio quality.

By: Vikram Rangnekar (vr) 2005-12-13 00:05:46.000-0600

Yes I did understand what he meant. But I was just giving him a clear picture of the problem was. I'm trying to get this resolved and would be glad to provide any more data required off me.

I am running a 32-Bit Linux distro on a 64-bit xeon processor. I fully understood that just copying over a 64-bit codec module wouldnt work (I tried it anyways ) :)

But I am hopeing to atleast get the 32bit version working on 1.2.x

By: Kevin P. Fleming (kpfleming) 2005-12-13 10:20:40.000-0600

There have been no other reports of this, and we run plenty of tests using the same codec here without problems.

Can you show us a SIP debug of a call that experienced bad audio? We need to see how the call was set up.

By: Kevin P. Fleming (kpfleming) 2005-12-13 10:22:30.000-0600

And note that you are misinterpreting the version number... there is no 1.0.11 release. The version string you reported said CVS v1-0 branch on November 25th, it was not a version number.

By: Matt O'Gorman (mogorman) 2006-01-05 17:28:41.000-0600

If this is still a problem this is a Digium support issue.  Please call 1-877-linuxme or support@digium.com.