Skip to content

Project Requirements

{warning} This section is incomplete.

Relevant Problems That Exist Today

  • Codec negotiation (both with Asterisk, and across a bridge)
    • Support for audio codecs with attributes (SILK)
    • Support for video codecs with attributes
  • Limitation on the number of codecs Asterisk can support
  • Translation paths are audio specific (with no concept of attributes)
  • There is no way to renegotiate codecs after a call is up
  • Conferencing is limited to 8 kHz
  • There is no way to easily get Asterisk to pass through a media type that it does not understand (proprietary data)
  • Once Asterisk supports codecs with attributes, users will need to be able to specify codecs with attributes
  • Asterisk is not able to handle a call with more than one audio/video/text stream (only one stream per type).
  • Asterisk has no RTCP support relevant to audio and video synchronization
  • Asterisk does not support Gtalk video

Phase 1 Requirements

Rework media representation completely across all of Asterisk, while maintaining existing functionality. Only add functionality that is required to exercise what has been done.

  • Design a new way to represent codecs
    • translation interface
    • capabilities
    • ast_frame handling
    • Initial call setup codec negotiation
    • everything that touches media ...
  • Exercise what we have done so far
    • Add support for SILK (and its attributes)
    • Add support for H.264 attributes
  • Custom format definitions with attributes (for setting preferences)

Phase Later Requirements

  • Codec re-negotiation
  • Improved conferencing (dynamic sample rate support)
  • Video transcoding (an implementation that proves it works)
  • A&V sync in RTCP (research required)
  • GTalk Video Support
  • Support for unknown media types for pass-through (research required)
  • Support for more than one stream of the same type (audio/video/text)