- Place the REMB packet into an AST_FRAME_RTCP frame. The subclass of the frame should be the RTCP Feedback message format type.
- Set the stream number on the AST_FRAME_RTCP frame to correspond to the stream the REMB packet is in regards to.
- Modify the REMB packet to have a zero SSRC for both SSRCs.
- Return the AST_FRAME_RTCP frame from res_rtp_asterisk.
- Examine its stream identifier
- Update the frame to the correct stream of the other party
- Write the frame to the other party
A new option will be added to conference bridges to enable goog-remb feedback support. If enabled the following behavior will occur:
- Received goog-remb AST_FRAME_RTCP frames from each receiver of a stream are stored with the sending stream
- Periodically all stored goog-remb AST_FRAME_RTCP frames are iterated and a combined goog-remb AST_FRAME_RTCP frame is created (behavior tbd)
- All stored goog-remb AST_FRAME_RTCP frames are discarded
- The combined goog-remb AST_FRAME_RTCP frame is written to the sending stream
The ast_write_stream function will be extended to allow the writing of AST_FRAME_RTCP frames on a per-stream basis. Legacy usage of AST_FRAME_RTCP frames will not be supported.
The __ast_read function will be extended to allow reading of AST_FRAME_RTCP frames and returning them. To maintain backwards behavior only frames of a REMB subclass will be returned. All other types will be absorded as previously done.