160 likes | 382 Views
Bundle, one-RTP or MMT. Christer Holmberg Harald Alvestrand Jonathan Lennox RTCWEB Interim 5 th -7 th Feb, 2013 Boston. LITERATURE. BUNDLE draft-ietf-mmusic-sdp-bundle-negotiation-01 http:// tools.ietf.org/id/draft-ietf-mmusic-sdp-bundle-negotiation-01.txt ONE-RTP (“CUNDLE”)
E N D
Bundle, one-RTP or MMT Christer Holmberg Harald Alvestrand Jonathan Lennox RTCWEB Interim 5th-7th Feb, 2013 Boston
LITERATURE • BUNDLE • draft-ietf-mmusic-sdp-bundle-negotiation-01 • http://tools.ietf.org/id/draft-ietf-mmusic-sdp-bundle-negotiation-01.txt • ONE-RTP (“CUNDLE”) • draft-alvestrand-one-rtp-02 • http://tools.ietf.org/id/draft-alvestrand-one-rtp-02.txt • MMT • Draft-holmberg-mmusic-sdp-mmt-negotiation-00 • http://tools.ietf.org/id/draft-holmberg-mmusic-sdp-mmt-negotiation-00.txt
WHAT, WHY? • WHAT? • SDP O/A mechanism to negotiate multiplexing of RTP* media associated with multiple SDP Media Descriptions (m- lines) • Shared 5-tuple for all bundled media • * Also for non-RTP media (e.g. RTCWEB data channel)? • WHY? • Save resources • TCP/UDP ports • ICE candidates • ICE traffic • Connectivity checks • Continuous consent • In case of a single media stream per SDP m- line, without media multiplexing the number of ports, and associated ICE candidates/traffic, might become quite large.
EXPECTED OUTCOME DO choose a mechanism to move forward with DO NOT solve all issues
NUTSHELL • BUNDLE • SDP m- lines grouped using new SDP grouping value • Identical port number for all m- lines associated with a group • If multiplexing is used, the port will be used for all media • If multiplexing is not used, the same port will still be used for all media • Remote ports are different • Possibility to send new offer with different ports • ONE-RTP • SDP m- lines grouped using new SDP grouping value • Different port number for all m- lines associated with a group • If multiplexing is used, the port of “the first m-line in the group” will be used for all media • If multiplexing is not used the individual ports of each m- line will be used
NUTSHELL • MMT • Dedicated SDP m- line for multiplexed media • If multiplexing is used, the MMT m- line port will be used • If multiplexing is not used, the individual ports of the non-MMT m- lines will be used
EXAMPLES: BUNDLE v=0 o=alice 2890844526 2890844526 IN IP4 host.atlanta.com c=IN IP4 host.atlanta.com t=0 0 a=group:BUNDLE foo bar m=audio 10000 RTP/AVP 0 8 97 a=mid:foo b=AS:200 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:97 iLBC/8000 m=video 10000 RTP/AVP 31 32 a=mid:bar b=AS:1000 a=rtpmap:31 H261/90000 a=rtpmap:32 MPV/90000
EXAMPLES: ONE-RTP v=0 o=alice 2890844526 2890844526 IN IP4 host.atlanta.com c=IN IP4 host.atlanta.com t=0 0 a=group:TOGETHER foo bar m=audio 10000 RTP/AVP 0 8 97 a=mid:foo b=AS:200 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:97 iLBC/8000 m=video 20000 RTP/AVP 31 32 a=mid:bar b=AS:1000 a=rtpmap:31 H261/90000 a=rtpmap:32 MPV/90000 NOTE: The ONE-RTP mechanism uses “TOGETHER” as SDP group name value.
EXAMPLES: MMT v=0 o=alice 2890844526 2890844526 IN IP4 host.atlanta.com c=IN IP4 host.atlanta.com t=0 0 a=group:MMT foo bar zoe m=audio 10000 RTP/AVP 0 97 a=mid:foo b=AS:200 a=rtpmap:0 PCMU/8000 a=rtpmap:97 iLBC/8000 m=video 20000 RTP/AVP 31 32 a=mid:bar b=AS:1000 a=rtpmap:31 H261/90000 a=rtpmap:32 MPV/90000 m=anymedia 30000 RTP/AVP 0 97 31 32 a=mid:zoe a=rtpmap:0 PCMU/8000 a=rtpmap:97 iLBC/8000 a=rtpmap:31 H261/90000 a=rtpmap:32 MPV/90000 a=mmtype: 0 audio a=mmtype: 97 audio a=mmtype: 31 video a=mmtype: 32 video
NUMBER OF PORT CANDIDATES • The number of ports for which ICE candidates have to be available when initial offer is created. • BUNDLE: 1 • ONE-RTP: Number of m- lines • MMT: Number of m- lines • Impact depending on cost for gathering ports and associated candidates. • For all alternatives, the answerer only needs to allocate ICE candidates for one port (if it supports the mechanism). • Trickle ICE useful for offerer.
IMPACT ON SDP SIZE • BUNDLE: SMALL/NONE • ONE-RTP: SMALL/NONE • MMT: BIG (~ x2) • Information will have to be duplicated in the non-MMT and MMT m- lines. • NOTE: Possible to send SDP with ONLY MMT m- line, in which case the impact is small/none.
LEGACY INTERWORKING • BUNDLE • Offer with identical port for multiple m- lines may be rejected • Usage of identical port unspecified in SDP RFC • Error occurs when initial offer is sent (before called party is alerted) • Correction: send new non-bundle offer • ONE-RTP • Intermediary that does not support one-rtp may release session • All media sent one “top-most” port, when intermediary expects media on individual ports, per the offer • Resources reserved per individual port/m- line • Error can occur when call has been established, depending on intermediary traffic policies. • Correction: establish new call, without one-rtp. • MMT • Offer with unknown media type may be rejected • Suggested to use “application” media type • Error occurs when initial offer is sent (before called party is alerted) • Correction: send new non-bundle offer
VALUE CALCULATION • BUNDLE/ONE-RTP • If multiplexing is used, value calculation (bandwidth etc) for the multiplexed media must be calculated based on values for each associated m- line • Standardizationwork needed to define the calculations necessary for every SDP parameter • MMT • As a dedicated m- line is used for the multiplexed media, it is possible to explicitly indicate values (bandwidth etc) for the multiplexed media • Implementer chooses values (and indicates values explicitly)
QUESTION TO BE ASKED WHICH MECHANISM DO WE MOVE FORWARD WITH?
NO MORE THANK YOU FOR LISTENING!