[asterisk-bugs] [Asterisk 0012415]: chan_h323 doesn't respect rtp packetization settings

noreply at bugs.digium.com noreply at bugs.digium.com
Fri Apr 11 12:09:01 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12415 
====================================================================== 
Reported By:                pj
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12415
Category:                   Channels/chan_h323
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 113980 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             04-10-2008 17:01 CDT
Last Modified:              04-11-2008 12:09 CDT
====================================================================== 
Summary:                    chan_h323 doesn't respect rtp packetization settings
Description: 
chan_h323 ignores codecs payload settings eg. 'allow=g729:20'
h323 trace, when I call from h323 endpoint to asterisk:
Found peer capability G.729 <1>, Asterisk code is 256, frame size (in ms)
is 160

If I call from asterisk to another endpoing (eg. cisco gw), trace shows,
that is using 20ms g729 frame size, but still doesn't invoke p2p bridging
between sip and h323 channel

sip--->(g729/chan_sip)-asterisk-(chan_h323/g729)--->callmanager/(cisco gw
or cisco phone)
only g729 is allowed in h323 and sip config

====================================================================== 

---------------------------------------------------------------------- 
 DEA - 04-11-08 12:09  
---------------------------------------------------------------------- 
I see a bit of code that looks a bit off to me in
channels/h323/ast_h323.cxx

Near line 1753 :
ms = remoteCapabilities[i].GetTxFramesInPacket() * format.inc_ms;

Can you add a could debugging statements?
cout << "Format increment: " << format.inc_ms << endl; /* this should
return 10 for G729 */
cout << "GetTxFramesInPacket reports " <<
remoteCapabilities[i].GetTxFramesInPacket() << " frames" << endl;

For the system to actually send 160ms of audio, GetTxFramesInPacket()
must be returning 16, which is just odd.

You might also have some luck just setting ms = format.cur_ms in place
of the line:
ms = remoteCapabilities[i].GetTxFramesInPacket() * format.inc_ms; 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
04-11-08 12:09  DEA            Note Added: 0085359                          
======================================================================




More information about the asterisk-bugs mailing list