Subject: [Megaco] Empty stream-level statistics descriptor

From: "Michael Dell" <[email-masked]>
Date: Wed, 28 May 2008 09:34:03 +0100

Hi there

We have a quick question about the correct syntax for returning an empty
stream-level statistics descriptor on an audit response. This is
permitted at termination-level, but does not seem to be possible at
stream-level, given the ABNF below. We can see two possible solutions:

1. This is a clear omission in the ABNF, and it needs to be updated to
allow just SA (without brackets), probably by adding auditReturnItem to
the list of allowable entries in the streamParm field.

2. This is by design, and the response should not contain a statistics
descriptor at stream level if there are no statistics to return, even if
they were requested in the audit. 

Could the list please advise how best to proceed, or point out how we
have misunderstood the ABNF.

Regards

Mike Dell

---

Termination level audit response

The following ABNF shows that we are allowed to return either a
statisticsDescriptor or a StatsToken on a AuditValue response. It also
shows that "SA{}" is not valid. Therefore the correct Megaco syntax for
a response with no statistics is SA.

Version 3 ABNF

auditReturnParameter = (mediaDescriptor / modemDescriptor /
muxDescriptor /

eventsDescriptor / signalsDescriptor /

digitMapDescriptor / observedEventsDescriptor /

eventBufferDescriptor / statisticsDescriptor /

packagesDescriptor / errorDescriptor /

auditReturnItem)

auditReturnItem = (MuxToken / ModemToken / MediaToken /

DigitMapToken / StatsToken / ObservedEventsToken /

PackagesToken)

statisticsDescriptor = StatsToken LBRKT statisticsParameter *(COMMA

statisticsParameter) RBRKT

Stream level audit response

Things are less clear here. The following ABNF shows that SA is not
valid but neither is SA{} (as statisticsDescriptor ABNF does not allow
this). 

streamDescriptor = StreamToken EQUAL StreamID LBRKT streamParm *(COMMA

streamParm) RBRKT

streamParm = (localDescriptor / remoteDescriptor /

localControlDescriptor / statisticsDescriptor)

_______________________________________________
Megaco mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/megaco

---

From: Christian Groves <[email-masked]>
Date: Wed, 28 May 2008 20:38:18 +1000

Hello Mike,

This issue has been dealt with in the latest Implementors' Guide. i.e.

6.22 Empty Statistics Descriptor

Description: The text of clause 7.1.15/H.248.1 indicates that the MGC 
may send an empty Statistics Descriptor to the MG: “The receipt of an 
empty descriptor means that no statistics shall be collected for the 
specified termination”.
Sending an empty Statistics Descriptor is possible using the binary 
encoding of Annex A; but impossible using the text encoding of Annex B. 
The text encoding needs to be fixed to allow an empty Statistics Descriptor.

Reference: Subject: RE: H.248.1 Sub-series IG for review
Date: Sun, 27 Apr 2008 21:35:56 +0100
From: Elad Chomsky <[email-masked]>

[Begin Correction]
B.2 ABNF specification

; Time = hhmmssss
Time = 8(DIGIT)

statisticsDescriptor = StatsToken [LBRKT statisticsParameter 
*(COMMAstatisticsParameter) RBRKT]

;at-most-once per item
statisticsParameter = pkgdName [EQUAL VALUE /
(LSBRKT VALUE *(COMMA VALUE) RSBRKT)]
…
[End Correction]

Regards, Christian

Michael Dell wrote:
>
> Hi there
>
> We have a quick question about the correct syntax for returning an 
> empty stream-level statistics descriptor on an audit response. This is 
> allow just SA (without brackets), probably by adding auditReturnItem 
> to the list of allowable entries in the streamParm field.
>
> descriptor at stream level if there are no statistics to return, even 
> if they were requested in the audit.
>
> __
> _Termination level audit response_
>
> shows that "SA{}" is not valid. Therefore the correct Megaco syntax 
> for a response with no statistics is SA.
>
> *
>
> Version 3 ABNF
>
> *
>
> eventBufferDescriptor / *statisticsDescriptor* /
>
> *auditReturnItem*)
> DigitMapToken / *StatsToken* / ObservedEventsToken /
>
> PackagesToken)
>
> __
> _Stream level audit response_
>
> localControlDescriptor / *statisticsDescriptor*)
>
> ------------------------------------------------------------------------
>