Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • bridge
    • ability to fetch and manipulate stream topology (through AMI / ARI)
  • endpoint
    • ability to fetch and manipulate active / available streams on an endpoint (through AMI / ARI)

Priorities

This list's purpose is to narrow down the above improvements and order them based on priority.

  1. Set up a confbridge and add a user with audio and video. Make sure everything is in the appropriate state. Remove the user. Check the state again to ensure everything was cleaned up.
  2. Set up a confbridge and add a user with audio and video. Add another user with audio and video (same codecs). Make sure everything is in the appropriate state. Remove the users. Check the state again to ensure everything was cleaned up.
  3. Set up a confbridge and add a user with audio and video. Add another user with audio and video (different codecs). Make sure everything is in the appropriate state. Remove the users. Check the state again to ensure everything was cleaned up.
  4. Set up a confbridge and add the standard maximum number of participants (16 streams default max, 8 users with audio and video). Make sure everything is in the correct state. Try to add one more, which should fail. Remove all users. Check the state again to ensure everything was cleaned up.
  5. Set up a confbridge. Test with some audio only users.
    1. Add a user with audio only. Make sure everything is in the appropriate state. Add a user with audio and video. Check the state again. Remove the user with audio and video. Check the state again. Remove the last user. Check the state again to ensure everything was cleaned up.
    2. Add a user with audio and video. Make sure everything is in the appropriate state. Add a user with audio only. Check the state again. Remove the audio only user. Check the state again. Remove the last user. Check the state again to ensure everything was cleaned up.
  6. Set up a confbridge with a packet sniffer (or something similar).
    1. Add two users, both with audio and video. Make sure everything is in the correct state. Use the packet sniffer to ensure audio and video is being sent and received for both users. Remove the users. Check the state again to ensure everything was cleaned up.
    2. Add a user with audio and video. Add another user with audio only. Make sure everything is in the correct state. Use the packet sniffer to ensure that media is being sent and received for the appropriate users. Remove the users. Check the state again to ensure everything was cleaned up.
      1. Run through some basic scenarios to keep the gears turning.
        1. Add two users with audio and video. Use the packet sniffer to make sure audio and video are being sent and received by both users.
        2. Add a user with audio and video. Add another user with audio only. Use the packet sniffer to make sure audio and video is being received by the audio only user, and the user with audio and video is only receiving audio.
      2. Run through these common scenarios that resulted in finicky behavior, e.g. this message popping up on Asterisk CLI when things go wrong: “res_pjsip_sdp_rtp.c: set_caps: No joint capabilities for ‘video’ media stream between our configuration ((vp8)) and incoming sdp ((ulaw))”.
        1. Add a user with audio only. Add a user with audio and video. The user with audio only will be waiting for video. The packet sniffer should be used here to figure out if anything is actually being sent. Adding another user with audio and video results in all users receiving video. If the user that joined second leaves, the user with audio only loses video again.
        2. Add a user with audio and video. Add another user with audio and video. Add a third user with audio only. Then remove the first user that joined. The user with audio only will lose video.
        3. Add a user with audio and video. Add another user with audio only. Add a third user with audio and video. Remove the first user that joined. The user with audio only will lose video.
  7. Set up a confbridge. Test with some video only users.
    1. Add a user with video only. Make sure everything is in the appropriate state. Add a user with audio and video. Check the state again. Remove the user with audio and video. Check the state again. Remove the last user. Check the state again to ensure everything was cleaned up.
    2. Add a user with audio and video. Make sure everything is in the appropriate state. Add a user with video only. Check the state again. Remove the video only user. Check the state again. Remove the last user. Check the state again to ensure everything was cleaned up.
  8. Accept an inbound offer with the maximum number of video streams. Try to add another video stream, which should result in a failure.
  9. Accept an inbound offer with the maximum number of audio streams. Try to add another audio stream, which should result in a failure.