This message is to aid discussion of the structure of the LocalTerminationDescriptor and RemoteTerminationDescriptor components of the Add, Modify, and Move commands. In our protocol draft, the local and remote termination descriptors actually represent two directions of transmission, inwards to the MG and outwards from the MG respectively. Each requires its own media description.
The two proposals for media description are to use structures modelled on the media description components of SDP (RFC 2327), or to use structures modelled on the H.245 OpenLogicalChannel (OLC) and OpenLogicalChannelAck commands. This note shows details of each structure.
I start with the SDP structure. The complete set of headers in the media description is described in RFC 2327 as follows. Asterisks denote optional elements.
Media description m=<media> <port> <transport> <fmt list> i=* (media title) c=* (connection information - optional if included at session-level) b=* (bandwidth information) k=* (encryption key) a=* (zero or more media attribute lines)
Here is an example of an SDP media description: m=video 49232 RTP/AVP 98 i=Pictures at an exhibition c=IN IP4 134.134.157.81 a=rtpmap:98 L16/16000/2
Now here is the structure of a media description which would be consistent with the H.245 OLC and OLCAck structures. I say "consistent with" because it is structured like the OLC and OLCAck, but contains only the information which would result from their exchange. Indentation is used to show data structures within data structures. The tags used are the names of the various components in their ASN.1 description. The comments following the "--" show the mapping to SDP.
H245_channel_descriptor= logicalChannelNumber= <value in range 1...65535> -- unique to H.245 dataType= <medium (implicit tag)> <codec description> -- m= and a= headers h2250LogicalChannelParameters= <non-standardized parameters> -- SDP X- extensions <RTP or T.120 sessionID> -- not settable by SDP <associated sessionID> -- (for lip synch) -- not settable by SDP <mediaChannel> -- transport address -- c= header <mediaGuaranteedDelivery> -- TRUE for TCP transport -- m= header <mediaControlChannel> -- RTCP address/port (optional) -- implicit in SDP <mediaControlGuaranteedDelivery> -- TRUE for TCP transport -- not in SDP <silenceSuppression> -- not in SDP -- part of RTP profile? <destination> -- designates final destination if connection is to MCU but stream is intended for a particular terminal -- not in SDP <RTP payload type> -- m= header, possibly augmented by a= header(s) <transportCapability> -- RSVP or ATM QOS parameters -- not in SDP -- lower-layer transport -- c= header <redundancy encoding specification> -- m= header <source> -- designates originating terminal if working through MCU -- not in SDP <logicalChannelDependency> -- which channel this one depends on if hierarchical encoding used -- implicit in SDP by order of port numbers in m= header separateStack= -- address for setting up ATM connection -- c= header -- alternatively, information for joining T.120 conference -- a= header? encryptionSynch= -- key for media encoding -- k= header
One small step in the discussion ...
Tom Taylor E-mail: taylor@nortelnetworks.com (internally Tom-PT Taylor) Tel.: +1 613 736 0961 (ESN 396-1490) FAX: same number by prior arrangement (manual answer).