[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[AVT] comments on draft-ietf-avt-rtcp-xr-mib-01.txt rtcpXrSessionIDTable



Alan, Amy
I have some comments and questions regarding the rtcpXrSessionIDTable of the RTCP XR MIB.


1. The MIB uses the abstraction "call," which is not defined. It is outside of RTP as well as RTCP XR. This is a signaling abstraction. Somehow, signaling information is used to create and initialize objects in the MIB but it is not described where the information is obtained and the issues related to different signaling protocols. We need consistency in object definition to get interoperable implementations. Are you sure that implementers of the different systems that use this MIB will have the same notion of what a call is? This should at least be addressed, probably in section 2, since there are sometimes RTP means for obtaining information but mostly this will come from diverse signaling protocols that may have different and even ambiguous definitions for some signaling objects.

2. Section 2 calls this a table of session information. The table description says that each row is created for each endpoint. So, it is not a session table though "session" is in the name. The DESCRIPTION says its a table of call records and should give a reference to where a "call record" is defined. It looks like it could be organized by SSRC, which is an optional value for the table's SessionIdentifier object. When organized by SSRC, then most of this table is redundant when there is more than on SSRC from the source of a "call." But how does an implementer know that there should be a table row per SSRC or not? Is there some definition of "call record" that would ensure that two implementations would do this in the same way?

3. The table is indexed by rtcpXrSessionIDIndex. How is this value obtained for an efficient search? That is, a management application might want to search rows in the rtcpXSessionIDTable by the source address and port, destination address and port, the session address combined with the SSRC, or something that meaningfully identifies the call. SessionIDIndex is an arbitrary number and not descriptive information. Why wouldn't a management application be forced to scan the entire table to find the rows corresponding to session or SSRC values? How do you avoid doing this?

4. rtcpXrSessionIDSessionIdentifier can be either a "billing record correlation identifier" or an SSRC. Where is "billing record" defined? Are billing record identifiers unique? Is this identifier likely to be in 1:1 correspondence with the SSRC or not? If it is not, what keeps one implementation from choosing to create one row per SSRC and another one to do it differently?

5. rtcpXrSessionIDCallStartTime is not defined. Is this object initialized from call signaling or when the first packet was observed?

6. It is not defined how rtcpXrSessionIDCallStopTime is to be determined? Is this from the signaling?

7. Is it fair to say that UDP is the only transport protocol that will ever be used for a "call?"

8. rtcpXrSessionIDSrceIdenType and rtcpXrSessionIDDestIdenType does not state where the information is obtained, what to do if the information is not available from signaling, and how the corresponding Identifiers are obtained.

Mark

_______________________________________________
Audio/Video Transport Working Group
avt at ietf.org
https://www1.ietf.org/mailman/listinfo/avt