[asterisk-dev] [Code Review] Add basic (passthrough, playback, record) support for ITU G.722.1 and G.722.1C (also known as Siren7 and Siren14)

Kevin Fleming kpfleming at digium.com
Thu Feb 12 13:45:03 CST 2009


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/158/
-----------------------------------------------------------

Review request for Asterisk Developers.


Summary
-------

This patch adds passthrough, file recording and file playback support for the codecs listed above, with negotiation over SIP/SDP supported. Due to Asterisk's current limitation of treating a codec/bitrate combination as a unique codec, only G.722.1 at 32 kbps and G.722.1C at 48 kbps are supported.

Along the way, some related work was done:

1) The rtpPayloadType structure definition, used as a return result for an API call in rtp.h, was moved from rtp.c to rtp.h so that the API call was actually usable. The only previous used of the API all was chan_h323.c, which had a duplicate of the structure definition instead of doing it the right way.

2) The hardcoded SDP sample rates for various codecs in chan_sip.c were removed, in favor of storing these sample rates in rtp.c along with the codec definitions there. A new API call was added to allow retrieval of the sample rate for a given codec.

3) Some basic 'a=fmtp' parsing for SDP was added to chan_sip, because chan_sip *must* decline any media streams offered for these codecs that are not at the bitrates that we support (otherwise Bad Things (TM) would result).


Diffs
-----

  /trunk/channels/chan_h323.c 175289 
  /trunk/channels/chan_sip.c 175289 
  /trunk/include/asterisk/frame.h 175289 
  /trunk/include/asterisk/rtp.h 175289 
  /trunk/main/frame.c 175289 
  /trunk/main/rtp.c 175289 

Diff: http://reviewboard.digium.com/r/158/diff


Testing
-------

Compiled, installed, tested with Polycom IP6000 and IP7000 phones in Siren7 and Siren14 mode.


Thanks,

Kevin




More information about the asterisk-dev mailing list