Packetizer

How will I know which decoder to use if I use alternative media in Fast Connect? (Q107)


The information in this article applies to: H.323, H.225.0

Or, more specifically, if I specify alternative incoming media in Fast Connect, or FC, how will I know which decoder to use since I must specify the same transport address for all alternative media and the media may arrive before the accepted-OLC acknowledgement?

While there is no foolproof solution to this problem, here are the implementation options for the caller proposing alternative media:

  1. Ignore any media sent by the remote EP before FC ack is received by simply not listening on the port until FC ack is received. Once the ack is received, one knows which media will be transmitted and therefore which decoder to use. Resynch may be necessary for media with inter-packet temporal dependency. For example, one may need to send a key-frame request for H.263 video. However, this eliminates the speed benefit of FC.
  2. Buffer incoming media until the FC ack is received. This may add permanent delay to some streams, though, and is not advisable.
  3. Use the RTP payload type of the first media packet to determine which decoder to use. Experience has shown, though, that this field is not universally set correctly. Note, also, that in some cases, the RTP payload type does not provide sufficient information. For example, the caller may have proposed alternative OLCs for H.263 video with different sets of encoding options or alternative OLCs for G.723.1 audio with different packetization values. In these cases, the payload type only provides a gross description of the the media which may not be sufficient for correct decoding.