In response to a private query, I discovered that there is a minor oversight in H.323 regarding whether the flowControlCommand includes packet overhead. Here's what it says about the open logical channel bitrate and ARQ bandwidth parameters, respectively, which can be used to determine the intent for FlowControlCommand:
6.2.11.2/H.323v2: "The limit applies to the information streams which are the content of the logical channel(s), not including RTP headers, RTP payload headers and network headers and other overhead."
7.2.4/H.323v2: "This is an upper limit on the aggregate bitrate for all transmitted and received, audio and video channels excluding any RTP headers, RTP payload headers, network headers, and other overhead."
Therefore, clarification text to the following effect should be added to 6.2.11.2 (in v2) of H.323:
"flowControlCommand applies to the information streams which are the content of logical channel(s), not including RTP headers, RTP payload headers, network headers and other overhead."
Practically speaking, though, it appears that most vendors violate H.323 by ignoring this command altogether, so one is doing very well indeed at least attempting to obey it with or without counting overhead.
Note that in H.324 the limit includes packet overhead when applied to the entire mux but not when applied to an individual channel; however, in H.323 the limit never includes overhead. IMO, H.324 makes more sense, but I suppose in H.323 one may not know exactly how much overhead is added by a lower layer, e.g., the UDP/IP headers added by the sockets layer, and also because H.323 is ostensibly transport-layer independent.
Paul Long Smith Micro Software, Inc.
On Wed, 28 Apr 1999, Paul Long wrote:
Therefore, clarification text to the following effect should be added to 6.2.11.2 (in v2) of H.323:
"flowControlCommand applies to the information streams which are the
content of logical channel(s), not including RTP headers, RTP payload headers, network headers and other overhead."
I'm mostly a lurker on this list, but I thought I would offer another perspective. The RTP spec, RFC 1889, says the following:
Bandwidth calculations for control and data traffic include lower- layer transport and network protocols (e.g., UDP and IP) since that is what the resource reservation system would need to know. The application can also be expected to know which of these protocols are in use. Link level headers are not included in the calculation since the packet will be encapsulated with different link level headers as it travels.
At a minimum, I would expect the RTP payload header to be included because that is specific to the encoding and would not be known by lower layers. The difficulty in pushing this problem off to lower layers is that they need to know the packet rate in order to know how much overhead the additional headers will add. -- Steve
participants (2)
-
Paul Long
-
Stephen Casner