Summary:ASTERISK-04066: [patch] g.729 codec one way audio in chan_h323 with Cisco CCM
Reporter:pbd (pbd)Labels:
Date Opened:2005-05-04 12:35:39Date Closed:2008-01-15 15:34:00.000-0600
Versions:Frequency of
Environment:Attachments:( 0) 729codecneg.log
( 1) ast-h323-cisco.diff
Description:As of latest CVS-HEAD, I am able to bring up and successfully send and receive calls between Asterisk and Cisco Callmanager using Ulaw.  CCM is limited in it's own transcoding to using ulaw, alaw, or g.729- GSM and other formats can only be transcoded using external hardware resources.

I purchased two g.729 licenses from Digium, and configured for g.729, in an attempt to get a compressed codec working.  Unfortunately, the result is one-way audio- From CCM to Asterisk works, from Asterisk to CCM, no audio is present.

Silence suppression is on on the CCM side- that's configured clusterwide, not on a per-trunk basis.  My g.729 calls go through fine under SIP, however, CCM cannot originate SIP calls in 729, only receive them- I'd prefer h.323 in my application, and it's a major bug if it doesn't work properly under anything other than ulaw.

I've attached a trace of the call going through- signalling is normal, channel setup looks great- the difference is that Asterisk signals 729annexA for the channel, Cisco signals 729 (no annex)- in theory, it should work from there, as the g729 codec is supposed to support both.  

There's a lot of 'supposed to' in this bug- I'm happy to accept suggestions.
Comments:By: Paul Cadach (pcadach) 2005-05-04 14:19:00

This is known Cisco's "feature" - to tell invalid IP address/port on OLC but report correct one on OLCAck.

By: Paul Cadach (pcadach) 2005-05-04 14:37:28

Try attached patch with both ulaw and g729 codecs (probably with FastStart enabled too).

By: Paul Cadach (pcadach) 2005-05-04 15:05:14

FastStart/SlowStart tested with OpenPhone. CCM uses SlowStart only so all should be fine.

By: pbd (pbd) 2005-05-04 15:43:54

Patch works perfectly.  Question is, should this be included always, or should there be a 'LinkIsCCM=' flag in h323.conf to handle this?  Seems very application specific to me, but I havent read the RFC on H.323 to know if it's appropriate to use what's on the ACK over the OLC.

Thanks again.  Rasperrys to Cisco.

By: Paul Cadach (pcadach) 2005-05-04 21:58:32

An idea is going from cwhuang's patch. Ready to commit.

By: jerjer (jerjer) 2005-05-11 09:16:38

commited to cvs -head.

By: jerjer (jerjer) 2005-05-11 09:16:51

not in -stable.

By: Digium Subversion (svnbot) 2008-01-15 15:34:00.000-0600

Repository: asterisk
Revision: 5627

U   trunk/channels/h323/ast_h323.cpp

r5627 | jeremy | 2008-01-15 15:34:00 -0600 (Tue, 15 Jan 2008) | 2 lines

Fix one way audio with some broken Endpoints and to shut bkw up. Bug ASTERISK-4066