shchoi | 6 Aug 2003 08:25
Picon
Picon

[Megaco]Question about R2 signaling


Hi, All.

It is natural that MGC is responsible for signaling control and MG is responsible for media control in MGC-MG model. So, I think that ,for R2 signaling service,

MGC should perform protocol state machine for R2 and MG should just report R2 related signals and trigger R2 related signals by MGC. Bu, according to H.248.26 "Basic CAS Packages", CAS Failure event means that MG is acting like operating protocol state machine for R2 signaling.

Is it necesary that both MGC and MG have protocol state machine for R2 signaling? If it is OK, Is the reason that the protocol state machine of MG corrects that of MGC?

Thanks.

------------------------------------------------------------
Seunghan Choi
VoIP Technology Team, Network Service Dept.
Electronics & Telecommunications Research Institute
161 Kajong-Dong, Yusong-Gu, Taejon, Korea
Tel  + 82 42 860 6343    Fax  + 82 42 860 6342
Mobile  011 455 9524    Email  shchoi <at> etri.re.kr

spamcontrol

klaha | 6 Aug 2003 17:05

Re: [Megaco]Question about R2 signaling


MGC runs the call state machine and MG runs the protocol signalling state
machine.
Irrespective of the CAS protocol running at MG, the MGC call state machine
does not change.
The objective is to hide the MGC from the CAS protocol differences and
variants as far as possible.
Further, having all CAS protocol states recognised/triggered by MGC
a) increases MGC-MG traffic
b) results into CAS protocol timeouts at MG.

regards,
Kushanava

shchoi <at> etri.re.kr <at> ietf.org on 08/06/2003 11:55:17 AM

Sent by:    megaco-admin <at> ietf.org

To:    megaco <at> ietf.org
cc:

Subject:    [Megaco] [Megaco]Question about R2 signaling

Hi, All.

It is natural that MGC is responsible for signaling control and MG is
responsible for media control in MGC-MG model. So, I think that ,for R2
signaling service,

MGC should perform protocol state machine for R2 and MG should just report
R2 related signals and trigger R2 related signals by MGC. Bu, according to
H.248.26 "Basic CAS Packages", CAS Failure event means that MG is acting
like operating protocol state machine for R2 signaling.

Is it necesary that both MGC and MG have protocol state machine for R2
signaling? If it is OK, Is the reason that the protocol state machine of MG
corrects that of MGC?

Thanks.

------------------------------------------------------------
Seunghan Choi
VoIP Technology Team, Network Service Dept.
Electronics & Telecommunications Research Institute
161 Kajong-Dong, Yusong-Gu, Taejon, Korea
Tel  + 82 42 860 6343    Fax  + 82 42 860 6342
Mobile  011 455 9524    Email  shchoi <at> etri.re.kr

spamcontrol

Christian Groves | 7 Aug 2003 07:26
Picon

Re: Ambiguous definition of auditReturnParameter in v2 ABNF

G'Day Micael, all,

Back from holiday and I'm the guy who concocted this syntax. I certainly didn't 
mean to introduce this ambiguity into the ABNF (its why I dislike ABNF) but it 
did slip past everyone else until now.

So as has been mentioned by Tom we need to fix this. So how about we delete 
audititem from? It removes the ambiguity.
auditReturnParameter = (mediaDescriptor / modemDescriptor /
                         muxDescriptor / eventsDescriptor /
                         signalsDescriptor / digitMapDescriptor /
                       observedEventsDescriptor / eventBufferDescriptor /
                         statisticsDescriptor / packagesDescriptor /
                          errorDescriptor / auditItem)

and restore this to v1. The individual auditing mechanism was only meant to 
change the request mechanisn not what was returned as the "usual" audit reply 
should have been enough to send the data back that you need. Does this solve the 
problem. If not, Micael as you need unambiguous syntax can you propose a simple 
ABNF fix that would solve your problem/s?

Regards, Christian

Micael Karlberg wrote:
> So, now we have yet another parse conflict regarding 'EventBufferToken'?
> 
> We three rules:
> 
> 1) auditItem                   -> 'EventBufferToken'
> 2) eventBufferDescriptor       -> 'EventBufferToken' 
>                                   [ LBRKT eventSpec *(COMMA eventSpec) RBRKT ]
> 3) indAudeventBufferDescriptor -> 'EventBufferToken' 
>                                   LBRKT indAudeventSpec RBRKT
> 
> One conflict between rule 1) and 2) and now another conflict
> between rule 2) and 3)
> 
> So, depending on the number of tokens after the 'EventBufferToken', we get:
>  - Zero        -> auditItem
>  - One         -> indAudeventBufferDescriptor
>  - Two or more -> eventBufferDescriptor
> 
> Is this correct?
> 
> Regards,
> 	/BMK
> 
> Anil Jangam writes:
>  > This particular question has been repeated for a number of times so far.
>  > Even I had the same doubt for which Tom has replied as follows: (Marked with
>  > ####>).
>  > I think we need to fix this now.
>  > 
>  > ####> STARTS
>  > ----- Original Message -----
>  > From: Tom-PT Taylor
>  > To: 'Anil Jangam' ; Kevin Boyle
>  > Sent: Wednesday, January 22, 2003 10:40 PM
>  > Subject: RE: [Megaco] auditReturnParameter in AmmsReply
>  > 
>  > 
>  > I suppose as the guy who concocted this syntax I should answer the question.
>  > You return the auditItem.  That was my shortcut for returning descriptor
>  > name only.
>  > 
>  > Apparently there is a parsing problem with this syntax, but we never seem to
>  > have taken the step of resolving it.
>  > ####> ENDS
>  > 
>  > ----- Original Message -----
>  > From: "Micael Karlberg" <micael.karlberg <at> ericsson.com>
>  > To: <megaco <at> ietf.org>
>  > Sent: Thursday, July 17, 2003 3:16 PM
>  > Subject: [Megaco] Ambiguous definition of auditReturnParameter in v2 ABNF
>  > 
>  > 
>  > > Hi,
>  > >
>  > > The 'auditReturnParameter' appears to be ambiguously defined in version 2
>  > > of the ABNF.
>  > >
>  > > An example. If the 'auditReturnParameter' contains the following
>  > > sequence of tokens:
>  > >
>  > >    "EB { hobbes }"
>  > >
>  > > i.e.
>  > >
>  > >     EventBufferToken LBRKT pkgdName RBRKT
>  > >
>  > > then it may be an 'auditItem' (see 'indAudeventBufferDescriptor') or an
>  > > 'eventBufferDescriptor'
>  > >
>  > > What is the intention here? Should this sequence of tokens be
>  > > interpreted as an 'auditItem' or an 'eventBufferDescriptor?
>  > >
>  > > As a parser implementor I need a well defined, unambiguous grammar to
>  > > rely on.
>  > >
>  > > The grammar looks like this (a little bit simplified):
>  > >
>  > >   auditReturnParameter        = eventBufferDescriptor / auditItem
>  > >
>  > >   eventBufferDescriptor       = EventBufferToken
>  > >                                 [ LBRKT eventSpec *(COMMA eventSpec)
>  > RBRKT]
>  > >
>  > >   eventSpec                   = pkgdName
>  > >                                 [ LBRKT eventSpecParameter
>  > >                                         *(COMMA eventSpecParameter) RBRKT]
>  > >
>  > >   auditItem                   = indAudterminationAudit
>  > >
>  > >   indAudterminationAudit      = indAudauditReturnParameter
>  > >                                 *(COMMA insAudauditReturnParameter)
>  > >
>  > >   indAudauditReturnParameter  = indAudeventBufferDescriptor
>  > >
>  > >   indAudeventBufferDescriptor = EventBufferToken LBRKT indAudeventSpec
>  > RBRKT
>  > >
>  > >   indAudeventSpec             = pkgdName
>  > >                                 [ LBRKT indAudeventSpecParameter RBRKT ]
>  > >
>  > >
>  > > Regards,
>  > > /BMK
>  > >
>  > > _______________________________________________
>  > > Megaco mailing list
>  > > Megaco <at> ietf.org
>  > > https://www1.ietf.org/mailman/listinfo/megaco
>  > >
> 
Micael Karlberg | 7 Aug 2003 11:31
Picon
Favicon

Re: Ambiguous definition of auditReturnParameter in v2 ABNF

Hi,

Christian Groves writes:
 > G'Day Micael, all,
 > 
 > Back from holiday and I'm the guy who concocted this syntax. I certainly 
 > didn't mean to introduce this ambiguity into the ABNF (its why I dislike 
 > ABNF) but it did slip past everyone else until now.

I really which there was some tool to check ABNF easilly, then 
these kind of problems would occure with much less frequency. 
For ASN.1 you just feed it to your ASN.1 compiler and your done.
Same goes for MIBs.

 > 
 > So as has been mentioned by Tom we need to fix this. So how about we delete 
 > audititem from? It removes the ambiguity.
 > auditReturnParameter = (mediaDescriptor / modemDescriptor /
 >                          muxDescriptor / eventsDescriptor /
 >                          signalsDescriptor / digitMapDescriptor /
 >                        observedEventsDescriptor / eventBufferDescriptor /
 >                          statisticsDescriptor / packagesDescriptor /
 >                           errorDescriptor / auditItem)
 > 
 > and restore this to v1. 

Delete auditItem from auditReturnParameter? But auditItem was part of 
auditReturnParameter even in v1. 

 > The individual auditing mechanism was only meant to change the request 
 > mechanisn not what was returned as the "usual" audit reply 
 > should have been enough to send the data back that you need. Does this 
 > solve the problem. If not, Micael as you need unambiguous syntax can you 
 > propose a simple ABNF fix that would solve your problem/s?

I really hope that I am not the only one who is writing a version 2
parser, or else I am wasting my time (or are about to strike gold :)

As for a solution, how about adding a token and changing the 
definition of indAudterminationAudit to:

indAudterminationAudit = IndAudTerminationAuditToken 
                         indAudauditReturnParameter  
                         *(COMMA indAudauditReturnParameter)  

Not pretty, but it should do the trick. I have not tested it
with real messages, but atleast my parser generator did not 
complain anymore.

 > 
 > Regards, Christian

Regards,
	/BMK

 > 
 > 
 > Micael Karlberg wrote:
 > > So, now we have yet another parse conflict regarding 'EventBufferToken'?
 > > 
 > > We have three rules:
 > > 
 > > 1) auditItem                   -> 'EventBufferToken'
 > > 2) eventBufferDescriptor       -> 'EventBufferToken' 
 > >                                   [ LBRKT eventSpec *(COMMA eventSpec) RBRKT ]
 > > 3) indAudeventBufferDescriptor -> 'EventBufferToken' 
 > >                                   LBRKT indAudeventSpec RBRKT
 > > 
 > > One conflict between rule 1) and 2) and now another conflict
 > > between rule 2) and 3)
 > > 
 > > So, depending on the number of tokens after the 'EventBufferToken', we get:
 > >  - Zero        -> auditItem
 > >  - One         -> indAudeventBufferDescriptor
 > >  - Two or more -> eventBufferDescriptor
 > > 
 > > Is this correct?
 > > 
 > > Regards,
 > > 	/BMK
 > > 
 > > Anil Jangam writes:
 > >  > This particular question has been repeated for a number of times so far.
 > >  > Even I had the same doubt for which Tom has replied as follows: (Marked with
 > >  > ####>).
 > >  > I think we need to fix this now.
 > >  > 
 > >  > ####> STARTS
 > >  > ----- Original Message -----
 > >  > From: Tom-PT Taylor
 > >  > To: 'Anil Jangam' ; Kevin Boyle
 > >  > Sent: Wednesday, January 22, 2003 10:40 PM
 > >  > Subject: RE: [Megaco] auditReturnParameter in AmmsReply
 > >  > 
 > >  > 
 > >  > I suppose as the guy who concocted this syntax I should answer the question.
 > >  > You return the auditItem.  That was my shortcut for returning descriptor
 > >  > name only.
 > >  > 
 > >  > Apparently there is a parsing problem with this syntax, but we never seem to
 > >  > have taken the step of resolving it.
 > >  > ####> ENDS
 > >  > 
 > >  > ----- Original Message -----
 > >  > From: "Micael Karlberg" <micael.karlberg <at> ericsson.com>
 > >  > To: <megaco <at> ietf.org>
 > >  > Sent: Thursday, July 17, 2003 3:16 PM
 > >  > Subject: [Megaco] Ambiguous definition of auditReturnParameter in v2 ABNF
 > >  > 
 > >  > 
 > >  > > Hi,
 > >  > >
 > >  > > The 'auditReturnParameter' appears to be ambiguously defined in version 2
 > >  > > of the ABNF.
 > >  > >
 > >  > > An example. If the 'auditReturnParameter' contains the following
 > >  > > sequence of tokens:
 > >  > >
 > >  > >    "EB { hobbes }"
 > >  > >
 > >  > > i.e.
 > >  > >
 > >  > >     EventBufferToken LBRKT pkgdName RBRKT
 > >  > >
 > >  > > then it may be an 'auditItem' (see 'indAudeventBufferDescriptor') or an
 > >  > > 'eventBufferDescriptor'
 > >  > >
 > >  > > What is the intention here? Should this sequence of tokens be
 > >  > > interpreted as an 'auditItem' or an 'eventBufferDescriptor?
 > >  > >
 > >  > > As a parser implementor I need a well defined, unambiguous grammar to
 > >  > > rely on.
 > >  > >
 > >  > > The grammar looks like this (a little bit simplified):
 > >  > >
 > >  > >   auditReturnParameter        = eventBufferDescriptor / auditItem
 > >  > >
 > >  > >   eventBufferDescriptor       = EventBufferToken
 > >  > >                                 [ LBRKT eventSpec *(COMMA eventSpec)
 > >  > RBRKT]
 > >  > >
 > >  > >   eventSpec                   = pkgdName
 > >  > >                                 [ LBRKT eventSpecParameter
 > >  > >                                         *(COMMA eventSpecParameter) RBRKT]
 > >  > >
 > >  > >   auditItem                   = indAudterminationAudit
 > >  > >
 > >  > >   indAudterminationAudit      = indAudauditReturnParameter
 > >  > >                                 *(COMMA insAudauditReturnParameter)
 > >  > >
 > >  > >   indAudauditReturnParameter  = indAudeventBufferDescriptor
 > >  > >
 > >  > >   indAudeventBufferDescriptor = EventBufferToken LBRKT indAudeventSpec
 > >  > RBRKT
 > >  > >
 > >  > >   indAudeventSpec             = pkgdName
 > >  > >                                 [ LBRKT indAudeventSpecParameter RBRKT ]
 > >  > >
 > >  > >
 > >  > > Regards,
 > >  > > /BMK
 > >  > >
 > >  > > _______________________________________________
 > >  > > Megaco mailing list
 > >  > > Megaco <at> ietf.org
 > >  > > https://www1.ietf.org/mailman/listinfo/megaco
 > >  > >
 > > 
Troy Cauble | 7 Aug 2003 16:25
Favicon

Re: Ambiguous definition of auditReturnParameter in v2 ABNF

Is there something here that isn't already handled by
6.3 in the IG?

http://www.itu.int/itudoc/itu-t/com16/implgd/h248s-ig.pdf

-troy

Christian Groves wrote:
> G'Day Micael, all,
> 
> Back from holiday and I'm the guy who concocted this syntax. I certainly 
> didn't mean to introduce this ambiguity into the ABNF (its why I dislike 
> ABNF) but it did slip past everyone else until now.
> 
> So as has been mentioned by Tom we need to fix this. So how about we 
> delete audititem from? It removes the ambiguity.
> auditReturnParameter = (mediaDescriptor / modemDescriptor /
>                         muxDescriptor / eventsDescriptor /
>                         signalsDescriptor / digitMapDescriptor /
>                       observedEventsDescriptor / eventBufferDescriptor /
>                         statisticsDescriptor / packagesDescriptor /
>                          errorDescriptor / auditItem)
> 
> and restore this to v1. The individual auditing mechanism was only meant 
> to change the request mechanisn not what was returned as the "usual" 
> audit reply should have been enough to send the data back that you need. 
> Does this solve the problem. If not, Micael as you need unambiguous 
> syntax can you propose a simple ABNF fix that would solve your problem/s?
> 
> Regards, Christian
> 
> 
> Micael Karlberg wrote:
> 
>> So, now we have yet another parse conflict regarding 'EventBufferToken'?
>>
>> We three rules:
>>
>> 1) auditItem                   -> 'EventBufferToken'
>> 2) eventBufferDescriptor       -> 'EventBufferToken' 
>>                                   [ LBRKT eventSpec *(COMMA eventSpec) 
>> RBRKT ]
>> 3) indAudeventBufferDescriptor -> 'EventBufferToken' 
>>                                   LBRKT indAudeventSpec RBRKT
>>
>> One conflict between rule 1) and 2) and now another conflict
>> between rule 2) and 3)
>>
>> So, depending on the number of tokens after the 'EventBufferToken', we 
>> get:
>>  - Zero        -> auditItem
>>  - One         -> indAudeventBufferDescriptor
>>  - Two or more -> eventBufferDescriptor
>>
>> Is this correct?
>>
>> Regards,
>>     /BMK
>>
>> Anil Jangam writes:
>>  > This particular question has been repeated for a number of times so 
>> far.
>>  > Even I had the same doubt for which Tom has replied as follows: 
>> (Marked with
>>  > ####>).
>>  > I think we need to fix this now.
>>  >  > ####> STARTS
>>  > ----- Original Message -----
>>  > From: Tom-PT Taylor
>>  > To: 'Anil Jangam' ; Kevin Boyle
>>  > Sent: Wednesday, January 22, 2003 10:40 PM
>>  > Subject: RE: [Megaco] auditReturnParameter in AmmsReply
>>  >  >  > I suppose as the guy who concocted this syntax I should 
>> answer the question.
>>  > You return the auditItem.  That was my shortcut for returning 
>> descriptor
>>  > name only.
>>  >  > Apparently there is a parsing problem with this syntax, but we 
>> never seem to
>>  > have taken the step of resolving it.
>>  > ####> ENDS
>>  >  > ----- Original Message -----
>>  > From: "Micael Karlberg" <micael.karlberg <at> ericsson.com>
>>  > To: <megaco <at> ietf.org>
>>  > Sent: Thursday, July 17, 2003 3:16 PM
>>  > Subject: [Megaco] Ambiguous definition of auditReturnParameter in 
>> v2 ABNF
>>  >  >  > > Hi,
>>  > >
>>  > > The 'auditReturnParameter' appears to be ambiguously defined in 
>> version 2
>>  > > of the ABNF.
>>  > >
>>  > > An example. If the 'auditReturnParameter' contains the following
>>  > > sequence of tokens:
>>  > >
>>  > >    "EB { hobbes }"
>>  > >
>>  > > i.e.
>>  > >
>>  > >     EventBufferToken LBRKT pkgdName RBRKT
>>  > >
>>  > > then it may be an 'auditItem' (see 'indAudeventBufferDescriptor') 
>> or an
>>  > > 'eventBufferDescriptor'
>>  > >
>>  > > What is the intention here? Should this sequence of tokens be
>>  > > interpreted as an 'auditItem' or an 'eventBufferDescriptor?
>>  > >
>>  > > As a parser implementor I need a well defined, unambiguous 
>> grammar to
>>  > > rely on.
>>  > >
>>  > > The grammar looks like this (a little bit simplified):
>>  > >
>>  > >   auditReturnParameter        = eventBufferDescriptor / auditItem
>>  > >
>>  > >   eventBufferDescriptor       = EventBufferToken
>>  > >                                 [ LBRKT eventSpec *(COMMA eventSpec)
>>  > RBRKT]
>>  > >
>>  > >   eventSpec                   = pkgdName
>>  > >                                 [ LBRKT eventSpecParameter
>>  > >                                         *(COMMA 
>> eventSpecParameter) RBRKT]
>>  > >
>>  > >   auditItem                   = indAudterminationAudit
>>  > >
>>  > >   indAudterminationAudit      = indAudauditReturnParameter
>>  > >                                 *(COMMA insAudauditReturnParameter)
>>  > >
>>  > >   indAudauditReturnParameter  = indAudeventBufferDescriptor
>>  > >
>>  > >   indAudeventBufferDescriptor = EventBufferToken LBRKT 
>> indAudeventSpec
>>  > RBRKT
>>  > >
>>  > >   indAudeventSpec             = pkgdName
>>  > >                                 [ LBRKT indAudeventSpecParameter 
>> RBRKT ]
>>  > >
>>  > >
>>  > > Regards,
>>  > > /BMK
Christian Groves | 8 Aug 2003 07:06
Picon

Re: Ambiguous definition of auditReturnParameter in v2 ABNF

G'Day Micael,

Please see comments below.

Regards, Christian

Micael Karlberg wrote:
> Hi,
> 
> 
> Christian Groves writes:
>  > G'Day Micael, all,
>  > 
>  > Back from holiday and I'm the guy who concocted this syntax. I certainly 
>  > didn't mean to introduce this ambiguity into the ABNF (its why I dislike 
>  > ABNF) but it did slip past everyone else until now.
> 
> 
> I really which there was some tool to check ABNF easilly, then 
> these kind of problems would occure with much less frequency. 
> For ASN.1 you just feed it to your ASN.1 compiler and your done.
> Same goes for MIBs.

[CHG] Won't hear any complaints from me :).

> 
> 
>  > 
>  > So as has been mentioned by Tom we need to fix this. So how about we delete 
>  > audititem from? It removes the ambiguity.
>  > auditReturnParameter = (mediaDescriptor / modemDescriptor /
>  >                          muxDescriptor / eventsDescriptor /
>  >                          signalsDescriptor / digitMapDescriptor /
>  >                        observedEventsDescriptor / eventBufferDescriptor /
>  >                          statisticsDescriptor / packagesDescriptor /
>  >                           errorDescriptor / auditItem)
>  > 
>  > and restore this to v1. 
> 
> 
> Delete auditItem from auditReturnParameter? But auditItem was part of 
> auditReturnParameter even in v1. 

[CHG] Yes, must have been looking at an old version of v1.

> 
> 
>  > The individual auditing mechanism was only meant to change the request 
>  > mechanisn not what was returned as the "usual" audit reply 
>  > should have been enough to send the data back that you need. Does this 
>  > solve the problem. If not, Micael as you need unambiguous syntax can you 
>  > propose a simple ABNF fix that would solve your problem/s?
> 
> 
> I really hope that I am not the only one who is writing a version 2
> parser, or else I am wasting my time (or are about to strike gold :)
> 
> As for a solution, how about adding a token and changing the 
> definition of indAudterminationAudit to:
> 
> indAudterminationAudit = IndAudTerminationAuditToken 
>                          indAudauditReturnParameter  
>                          *(COMMA indAudauditReturnParameter)  
>        
> Not pretty, but it should do the trick. I have not tested it
> with real messages, but atleast my parser generator did not 
> complain anymore.

[CHG] I think the point is that the MGC shouldn't be concerned whether the 
audited parameter is from a descriptor audit or an individual audit. The syntax 
provided for a descriptor audit is enough to return an individual audit. The 
problem lies that AuditItem is used both in the command request and reply ABNF. 
I was thinking about a token yesterday myself but when I had a look at the ASN1 
and saw that it used existing AuditDescriptor reply syntax I thought we 
shouldn't allow using the IndAudRep.
Would a rule that,

; For audit replys the indAudterminationAudit SHALL not be used.
auditItem            = ( MuxToken / ModemToken / MediaToken /
                         SignalsToken / EventBufferToken /
                         DigitMapToken / StatsToken / EventsToken /
                         ObservedEventsToken / PackagesToken ) /
                         indAudterminationAudit)

Be a solution?

Regards, Christian

> 
> 
>  > 
>  > Regards, Christian
> 
> 
> Regards,
> 	/BMK
> 
>  > 
>  > 
>  > Micael Karlberg wrote:
>  > > So, now we have yet another parse conflict regarding 'EventBufferToken'?
>  > > 
>  > > We have three rules:
>  > > 
>  > > 1) auditItem                   -> 'EventBufferToken'
>  > > 2) eventBufferDescriptor       -> 'EventBufferToken' 
>  > >                                   [ LBRKT eventSpec *(COMMA eventSpec) RBRKT ]
>  > > 3) indAudeventBufferDescriptor -> 'EventBufferToken' 
>  > >                                   LBRKT indAudeventSpec RBRKT
>  > > 
>  > > One conflict between rule 1) and 2) and now another conflict
>  > > between rule 2) and 3)
>  > > 
>  > > So, depending on the number of tokens after the 'EventBufferToken', we get:
>  > >  - Zero        -> auditItem
>  > >  - One         -> indAudeventBufferDescriptor
>  > >  - Two or more -> eventBufferDescriptor
>  > > 
>  > > Is this correct?
>  > > 
>  > > Regards,
>  > > 	/BMK
>  > > 
>  > > Anil Jangam writes:
>  > >  > This particular question has been repeated for a number of times so far.
>  > >  > Even I had the same doubt for which Tom has replied as follows: (Marked with
>  > >  > ####>).
>  > >  > I think we need to fix this now.
>  > >  > 
>  > >  > ####> STARTS
>  > >  > ----- Original Message -----
>  > >  > From: Tom-PT Taylor
>  > >  > To: 'Anil Jangam' ; Kevin Boyle
>  > >  > Sent: Wednesday, January 22, 2003 10:40 PM
>  > >  > Subject: RE: [Megaco] auditReturnParameter in AmmsReply
>  > >  > 
>  > >  > 
>  > >  > I suppose as the guy who concocted this syntax I should answer the question.
>  > >  > You return the auditItem.  That was my shortcut for returning descriptor
>  > >  > name only.
>  > >  > 
>  > >  > Apparently there is a parsing problem with this syntax, but we never seem to
>  > >  > have taken the step of resolving it.
>  > >  > ####> ENDS
>  > >  > 
>  > >  > ----- Original Message -----
>  > >  > From: "Micael Karlberg" <micael.karlberg <at> ericsson.com>
>  > >  > To: <megaco <at> ietf.org>
>  > >  > Sent: Thursday, July 17, 2003 3:16 PM
>  > >  > Subject: [Megaco] Ambiguous definition of auditReturnParameter in v2 ABNF
>  > >  > 
>  > >  > 
>  > >  > > Hi,
>  > >  > >
>  > >  > > The 'auditReturnParameter' appears to be ambiguously defined in version 2
>  > >  > > of the ABNF.
>  > >  > >
>  > >  > > An example. If the 'auditReturnParameter' contains the following
>  > >  > > sequence of tokens:
>  > >  > >
>  > >  > >    "EB { hobbes }"
>  > >  > >
>  > >  > > i.e.
>  > >  > >
>  > >  > >     EventBufferToken LBRKT pkgdName RBRKT
>  > >  > >
>  > >  > > then it may be an 'auditItem' (see 'indAudeventBufferDescriptor') or an
>  > >  > > 'eventBufferDescriptor'
>  > >  > >
>  > >  > > What is the intention here? Should this sequence of tokens be
>  > >  > > interpreted as an 'auditItem' or an 'eventBufferDescriptor?
>  > >  > >
>  > >  > > As a parser implementor I need a well defined, unambiguous grammar to
>  > >  > > rely on.
>  > >  > >
>  > >  > > The grammar looks like this (a little bit simplified):
>  > >  > >
>  > >  > >   auditReturnParameter        = eventBufferDescriptor / auditItem
>  > >  > >
>  > >  > >   eventBufferDescriptor       = EventBufferToken
>  > >  > >                                 [ LBRKT eventSpec *(COMMA eventSpec)
>  > >  > RBRKT]
>  > >  > >
>  > >  > >   eventSpec                   = pkgdName
>  > >  > >                                 [ LBRKT eventSpecParameter
>  > >  > >                                         *(COMMA eventSpecParameter) RBRKT]
>  > >  > >
>  > >  > >   auditItem                   = indAudterminationAudit
>  > >  > >
>  > >  > >   indAudterminationAudit      = indAudauditReturnParameter
>  > >  > >                                 *(COMMA insAudauditReturnParameter)
>  > >  > >
>  > >  > >   indAudauditReturnParameter  = indAudeventBufferDescriptor
>  > >  > >
>  > >  > >   indAudeventBufferDescriptor = EventBufferToken LBRKT indAudeventSpec
>  > >  > RBRKT
>  > >  > >
>  > >  > >   indAudeventSpec             = pkgdName
>  > >  > >                                 [ LBRKT indAudeventSpecParameter RBRKT ]
>  > >  > >
>  > >  > >
>  > >  > > Regards,
>  > >  > > /BMK
>  > >  > >
>  > >  > > _______________________________________________
>  > >  > > Megaco mailing list
>  > >  > > Megaco <at> ietf.org
>  > >  > > https://www1.ietf.org/mailman/listinfo/megaco
>  > >  > >
>  > > 
> 
Christian Groves | 8 Aug 2003 06:23
Picon

Re: Ambiguous definition of auditReturnParameter in v2 ABNF

Hello Troy,

I don't think so. As this problem occurs when the returned properties are not 
empty. If I understand the problem correctly the issues is how does a decoder 
know that the returned audited parameters belong to a descriptor audit or to an 
individual audit.

Regards, Christian

Troy Cauble wrote:
> Is there something here that isn't already handled by
> 6.3 in the IG?
> 
> http://www.itu.int/itudoc/itu-t/com16/implgd/h248s-ig.pdf
> 
> -troy
> 
> 
> 
> 
> Christian Groves wrote:
> 
>> G'Day Micael, all,
>>
>> Back from holiday and I'm the guy who concocted this syntax. I 
>> certainly didn't mean to introduce this ambiguity into the ABNF (its 
>> why I dislike ABNF) but it did slip past everyone else until now.
>>
>> So as has been mentioned by Tom we need to fix this. So how about we 
>> delete audititem from? It removes the ambiguity.
>> auditReturnParameter = (mediaDescriptor / modemDescriptor /
>>                         muxDescriptor / eventsDescriptor /
>>                         signalsDescriptor / digitMapDescriptor /
>>                       observedEventsDescriptor / eventBufferDescriptor /
>>                         statisticsDescriptor / packagesDescriptor /
>>                          errorDescriptor / auditItem)
>>
>> and restore this to v1. The individual auditing mechanism was only 
>> meant to change the request mechanisn not what was returned as the 
>> "usual" audit reply should have been enough to send the data back that 
>> you need. Does this solve the problem. If not, Micael as you need 
>> unambiguous syntax can you propose a simple ABNF fix that would solve 
>> your problem/s?
>>
>> Regards, Christian
>>
>>
>> Micael Karlberg wrote:
>>
>>> So, now we have yet another parse conflict regarding 'EventBufferToken'?
>>>
>>> We three rules:
>>>
>>> 1) auditItem                   -> 'EventBufferToken'
>>> 2) eventBufferDescriptor       -> 'EventBufferToken' 
>>>                                   [ LBRKT eventSpec *(COMMA 
>>> eventSpec) RBRKT ]
>>> 3) indAudeventBufferDescriptor -> 'EventBufferToken' 
>>>                                   LBRKT indAudeventSpec RBRKT
>>>
>>> One conflict between rule 1) and 2) and now another conflict
>>> between rule 2) and 3)
>>>
>>> So, depending on the number of tokens after the 'EventBufferToken', 
>>> we get:
>>>  - Zero        -> auditItem
>>>  - One         -> indAudeventBufferDescriptor
>>>  - Two or more -> eventBufferDescriptor
>>>
>>> Is this correct?
>>>
>>> Regards,
>>>     /BMK
>>>
>>> Anil Jangam writes:
>>>  > This particular question has been repeated for a number of times 
>>> so far.
>>>  > Even I had the same doubt for which Tom has replied as follows: 
>>> (Marked with
>>>  > ####>).
>>>  > I think we need to fix this now.
>>>  >  > ####> STARTS
>>>  > ----- Original Message -----
>>>  > From: Tom-PT Taylor
>>>  > To: 'Anil Jangam' ; Kevin Boyle
>>>  > Sent: Wednesday, January 22, 2003 10:40 PM
>>>  > Subject: RE: [Megaco] auditReturnParameter in AmmsReply
>>>  >  >  > I suppose as the guy who concocted this syntax I should 
>>> answer the question.
>>>  > You return the auditItem.  That was my shortcut for returning 
>>> descriptor
>>>  > name only.
>>>  >  > Apparently there is a parsing problem with this syntax, but we 
>>> never seem to
>>>  > have taken the step of resolving it.
>>>  > ####> ENDS
>>>  >  > ----- Original Message -----
>>>  > From: "Micael Karlberg" <micael.karlberg <at> ericsson.com>
>>>  > To: <megaco <at> ietf.org>
>>>  > Sent: Thursday, July 17, 2003 3:16 PM
>>>  > Subject: [Megaco] Ambiguous definition of auditReturnParameter in 
>>> v2 ABNF
>>>  >  >  > > Hi,
>>>  > >
>>>  > > The 'auditReturnParameter' appears to be ambiguously defined in 
>>> version 2
>>>  > > of the ABNF.
>>>  > >
>>>  > > An example. If the 'auditReturnParameter' contains the following
>>>  > > sequence of tokens:
>>>  > >
>>>  > >    "EB { hobbes }"
>>>  > >
>>>  > > i.e.
>>>  > >
>>>  > >     EventBufferToken LBRKT pkgdName RBRKT
>>>  > >
>>>  > > then it may be an 'auditItem' (see 
>>> 'indAudeventBufferDescriptor') or an
>>>  > > 'eventBufferDescriptor'
>>>  > >
>>>  > > What is the intention here? Should this sequence of tokens be
>>>  > > interpreted as an 'auditItem' or an 'eventBufferDescriptor?
>>>  > >
>>>  > > As a parser implementor I need a well defined, unambiguous 
>>> grammar to
>>>  > > rely on.
>>>  > >
>>>  > > The grammar looks like this (a little bit simplified):
>>>  > >
>>>  > >   auditReturnParameter        = eventBufferDescriptor / auditItem
>>>  > >
>>>  > >   eventBufferDescriptor       = EventBufferToken
>>>  > >                                 [ LBRKT eventSpec *(COMMA 
>>> eventSpec)
>>>  > RBRKT]
>>>  > >
>>>  > >   eventSpec                   = pkgdName
>>>  > >                                 [ LBRKT eventSpecParameter
>>>  > >                                         *(COMMA 
>>> eventSpecParameter) RBRKT]
>>>  > >
>>>  > >   auditItem                   = indAudterminationAudit
>>>  > >
>>>  > >   indAudterminationAudit      = indAudauditReturnParameter
>>>  > >                                 *(COMMA insAudauditReturnParameter)
>>>  > >
>>>  > >   indAudauditReturnParameter  = indAudeventBufferDescriptor
>>>  > >
>>>  > >   indAudeventBufferDescriptor = EventBufferToken LBRKT 
>>> indAudeventSpec
>>>  > RBRKT
>>>  > >
>>>  > >   indAudeventSpec             = pkgdName
>>>  > >                                 [ LBRKT indAudeventSpecParameter 
>>> RBRKT ]
>>>  > >
>>>  > >
>>>  > > Regards,
>>>  > > /BMK
>>
> 
Troy Cauble | 8 Aug 2003 16:51
Favicon

Re: Ambiguous definition of auditReturnParameter in v2 ABNF

Christian Groves wrote:

>>
>>  >  > So as has been mentioned by Tom we need to fix this. So how 
>> about we delete  > audititem from? It removes the ambiguity.
>>  > auditReturnParameter = (mediaDescriptor / modemDescriptor /
>>  >                          muxDescriptor / eventsDescriptor /
>>  >                          signalsDescriptor / digitMapDescriptor /
>>  >                        observedEventsDescriptor / 
>> eventBufferDescriptor /
>>  >                          statisticsDescriptor / packagesDescriptor /
>>  >                           errorDescriptor / auditItem)
>>  >  > and restore this to v1.
>>
>> Delete auditItem from auditReturnParameter? But auditItem was part of 
>> auditReturnParameter even in v1. 
> 
> 
> [CHG] Yes, must have been looking at an old version of v1.
> 
>>
>>
>>  > The individual auditing mechanism was only meant to change the 
>> request  > mechanisn not what was returned as the "usual" audit reply 
>>  > should have been enough to send the data back that you need. Does 
>> this  > solve the problem. If not, Micael as you need unambiguous 
>> syntax can you  > propose a simple ABNF fix that would solve your 
>> problem/s?
>>
>>
>> I really hope that I am not the only one who is writing a version 2
>> parser, or else I am wasting my time (or are about to strike gold :)
>>
>> As for a solution, how about adding a token and changing the 
>> definition of indAudterminationAudit to:
>>
>> indAudterminationAudit = IndAudTerminationAuditToken 
>>                          indAudauditReturnParameter  
>>                          *(COMMA indAudauditReturnParameter)         
>> Not pretty, but it should do the trick. I have not tested it
>> with real messages, but atleast my parser generator did not complain 
>> anymore.
> 
> 
> [CHG] I think the point is that the MGC shouldn't be concerned whether 
> the audited parameter is from a descriptor audit or an individual audit. 
> The syntax provided for a descriptor audit is enough to return an 
> individual audit. The problem lies that AuditItem is used both in the 
> command request and reply ABNF. I was thinking about a token yesterday 
> myself but when I had a look at the ASN1 and saw that it used existing 
> AuditDescriptor reply syntax I thought we shouldn't allow using the 
> IndAudRep.
> Would a rule that,
> 
> ; For audit replys the indAudterminationAudit SHALL not be used.
> auditItem            = ( MuxToken / ModemToken / MediaToken /
>                         SignalsToken / EventBufferToken /
>                         DigitMapToken / StatsToken / EventsToken /
>                         ObservedEventsToken / PackagesToken ) /
>                         indAudterminationAudit)
> 
> Be a solution?
> 
> Regards, Christian

IG item 6.3 fixed the related conflicts for V1.  It's not clear if being
in the IG means it applies to V2 as well.

I think 6.3 should be explicitly applied to V2 because
1) it makes the two versions more alike, and
2) it fixes the conflicts.

IG item #6.3 (http://www.itu.int/itudoc/itu-t/com16/implgd/h248s-ig.pdf)

   auditReturnParameter = (mediaDescriptor / modemDescriptor /
			muxDescriptor / eventsDescriptor /
			signalsDescriptor / digitMapDescriptor /
			observedEventsDescriptor /
			eventBufferDescriptor /
			statisticsDescriptor / packagesDescriptor /
			errorDescriptor / auditReturnItem)

   auditReturnItem = (MuxToken / ModemToken / MediaToken /
			DigitMapToken / StatsToken /
			ObservedEventsToken / PackagesToken )

   ;at-most-once, and DigitMapToken and PackagesToken are not allowed
   ;in AuditCapabilities command
   auditItem = ( auditReturnItem / SignalsToken /
			EventBufferToken / EventsToken )

Note that indAudterminationAudit was not in V1.  It must be added to
auditItem.  I think Christian is arguing that those resulting token
conflicts are not critical, because the indAud variations are always
followed by "{" or "=", which can distinguish them from the individual
tokens of an auditItem.  So no other changes are necessary.

-troy
Pascal Lambers | 8 Aug 2003 17:43
Picon

Questing regarding digit notification...

Hello,
May I present you the following question...

Suppose that digitmap "[0-9]. " is implemented on an Media Gateway's
ROOT and the subscriber dials "1234" (case 1) or "1234#" (case 2).

Consequently, the Media Gateway's controller which receives the Notify
containing the dialled digits and the Termination Method, is unable to
determine whether case 1 or case 2 was dialled. Because in both cases,
applying RFC 3015, the notify will carry ds="1234" and the Termination
Method will be "FM":

Case 1
=====
The user dials 1234. A timeout occurs. As 1234 matches with "[0-9]. ",
the digits 1234 are notified and the Termination Method will be "FM" as
the condition "Full match, completion by timer expiry" is fulfilled.

Case 2
====
The user dials 1234#. The "#" is an unmatched event, the digits 1234 are
notified and the Termination Method will be "FM" as the condition "Full
match, completion by unmatched event" is fulfilled.

So how does the controller know whether the digits were correct if the
gwy does not tell it that a timer expired?

Kind regards,
Pascal
Micael Karlberg | 8 Aug 2003 18:54
Picon
Favicon

Re: Ambiguous definition of auditReturnParameter in v2 ABNF

Hi,

Please see comments below.

Regards,

	/BMK

Christian Groves writes:
 > G'Day Micael,
 > 
 > Please see comments below.
 > 
 > Regards, Christian
 > 

<--- snip --->

 > > As for a solution, how about adding a token and changing the 
 > > definition of indAudterminationAudit to:
 > > 
 > > indAudterminationAudit = IndAudTerminationAuditToken 
 > >                          indAudauditReturnParameter  
 > >                          *(COMMA indAudauditReturnParameter)  
 > >        
 > > Not pretty, but it should do the trick. I have not tested it
 > > with real messages, but atleast my parser generator did not 
 > > complain anymore.
 > 
 > [CHG] I think the point is that the MGC shouldn't be concerned whether the 
 > audited parameter is from a descriptor audit or an individual audit. 
 > The syntax provided for a descriptor audit is enough to return an individual
 > audit. The problem lies that AuditItem is used both in the command request 
 > and reply ABNF. 
 > I was thinking about a token yesterday myself but when I had a look at the 
 > ASN1 and saw that it used existing AuditDescriptor reply syntax I thought 
 > we shouldn't allow using the IndAudRep.
 > Would a rule that,
 > 
 > ; For audit replys the indAudterminationAudit SHALL not be used.
 > auditItem            = ( MuxToken / ModemToken / MediaToken /
 >                          SignalsToken / EventBufferToken /
 >                          DigitMapToken / StatsToken / EventsToken /
 >                          ObservedEventsToken / PackagesToken ) /
 >                          indAudterminationAudit)
 > 
 > Be a solution?

[BMK] That clears up the intention but I don't think it will make
the ABNF less ambiguous for a parser generator (e.g. bison). 

 > 
 > Regards, Christian

Regards,
	/BMK

 > 
 > > 
 > > 
 > >  > 
 > >  > Regards, Christian
 > > 
 > > 
 > > Regards,
 > > 	/BMK
 > > 
 > >  > 
 > >  > 
 > >  > Micael Karlberg wrote:
 > >  > > So, now we have yet another parse conflict regarding 'EventBufferToken'?
 > >  > > 
 > >  > > We have three rules:
 > >  > > 
 > >  > > 1) auditItem                   -> 'EventBufferToken'
 > >  > > 2) eventBufferDescriptor       -> 'EventBufferToken' 
 > >  > >                                   [ LBRKT eventSpec *(COMMA eventSpec) RBRKT ]
 > >  > > 3) indAudeventBufferDescriptor -> 'EventBufferToken' 
 > >  > >                                   LBRKT indAudeventSpec RBRKT
 > >  > > 
 > >  > > One conflict between rule 1) and 2) and now another conflict
 > >  > > between rule 2) and 3)
 > >  > > 
 > >  > > So, depending on the number of tokens after the 'EventBufferToken', we get:
 > >  > >  - Zero        -> auditItem
 > >  > >  - One         -> indAudeventBufferDescriptor
 > >  > >  - Two or more -> eventBufferDescriptor
 > >  > > 
 > >  > > Is this correct?
 > >  > > 
 > >  > > Regards,
 > >  > > 	/BMK
 > >  > > 
 > >  > > Anil Jangam writes:
 > >  > >  > This particular question has been repeated for a number of times so far.
 > >  > >  > Even I had the same doubt for which Tom has replied as follows: (Marked with
 > >  > >  > ####>).
 > >  > >  > I think we need to fix this now.
 > >  > >  > 
 > >  > >  > ####> STARTS
 > >  > >  > ----- Original Message -----
 > >  > >  > From: Tom-PT Taylor
 > >  > >  > To: 'Anil Jangam' ; Kevin Boyle
 > >  > >  > Sent: Wednesday, January 22, 2003 10:40 PM
 > >  > >  > Subject: RE: [Megaco] auditReturnParameter in AmmsReply
 > >  > >  > 
 > >  > >  > 
 > >  > >  > I suppose as the guy who concocted this syntax I should answer the question.
 > >  > >  > You return the auditItem.  That was my shortcut for returning descriptor
 > >  > >  > name only.
 > >  > >  > 
 > >  > >  > Apparently there is a parsing problem with this syntax, but we never seem to
 > >  > >  > have taken the step of resolving it.
 > >  > >  > ####> ENDS
 > >  > >  > 
 > >  > >  > ----- Original Message -----
 > >  > >  > From: "Micael Karlberg" <micael.karlberg <at> ericsson.com>
 > >  > >  > To: <megaco <at> ietf.org>
 > >  > >  > Sent: Thursday, July 17, 2003 3:16 PM
 > >  > >  > Subject: [Megaco] Ambiguous definition of auditReturnParameter in v2 ABNF
 > >  > >  > 
 > >  > >  > 
 > >  > >  > > Hi,
 > >  > >  > >
 > >  > >  > > The 'auditReturnParameter' appears to be ambiguously defined in version 2
 > >  > >  > > of the ABNF.
 > >  > >  > >
 > >  > >  > > An example. If the 'auditReturnParameter' contains the following
 > >  > >  > > sequence of tokens:
 > >  > >  > >
 > >  > >  > >    "EB { hobbes }"
 > >  > >  > >
 > >  > >  > > i.e.
 > >  > >  > >
 > >  > >  > >     EventBufferToken LBRKT pkgdName RBRKT
 > >  > >  > >
 > >  > >  > > then it may be an 'auditItem' (see 'indAudeventBufferDescriptor') or an
 > >  > >  > > 'eventBufferDescriptor'
 > >  > >  > >
 > >  > >  > > What is the intention here? Should this sequence of tokens be
 > >  > >  > > interpreted as an 'auditItem' or an 'eventBufferDescriptor?
 > >  > >  > >
 > >  > >  > > As a parser implementor I need a well defined, unambiguous grammar to
 > >  > >  > > rely on.
 > >  > >  > >
 > >  > >  > > The grammar looks like this (a little bit simplified):
 > >  > >  > >
 > >  > >  > >   auditReturnParameter        = eventBufferDescriptor / auditItem
 > >  > >  > >
 > >  > >  > >   eventBufferDescriptor       = EventBufferToken
 > >  > >  > >                                 [ LBRKT eventSpec *(COMMA eventSpec)
 > >  > >  > RBRKT]
 > >  > >  > >
 > >  > >  > >   eventSpec                   = pkgdName
 > >  > >  > >                                 [ LBRKT eventSpecParameter
 > >  > >  > >                                         *(COMMA eventSpecParameter) RBRKT]
 > >  > >  > >
 > >  > >  > >   auditItem                   = indAudterminationAudit
 > >  > >  > >
 > >  > >  > >   indAudterminationAudit      = indAudauditReturnParameter
 > >  > >  > >                                 *(COMMA insAudauditReturnParameter)
 > >  > >  > >
 > >  > >  > >   indAudauditReturnParameter  = indAudeventBufferDescriptor
 > >  > >  > >
 > >  > >  > >   indAudeventBufferDescriptor = EventBufferToken LBRKT indAudeventSpec
 > >  > >  > RBRKT
 > >  > >  > >
 > >  > >  > >   indAudeventSpec             = pkgdName
 > >  > >  > >                                 [ LBRKT indAudeventSpecParameter RBRKT ]
 > >  > >  > >
 > >  > >  > >
 > >  > >  > > Regards,
 > >  > >  > > /BMK
 > >  > >  > >
 > >  > >  > > _______________________________________________
 > >  > >  > > Megaco mailing list
 > >  > >  > > Megaco <at> ietf.org
 > >  > >  > > https://www1.ietf.org/mailman/listinfo/megaco
 > >  > >  > >
 > >  > > 
 > > 
 > 

--

-- 
Micael Karlberg          Ericsson AB, Älvsjö Sweden
Tel:  +46 8 727 5668     EAB/UHK/KD - OTP Product Development
ECN:  851 5668           Mail: micael.karlberg <at> ericsson.com
Fax:  +46 8 727 5775    

Gmane