Subject: RE: [Megaco] questions about syntax error

From: "Tom-PT Taylor"<[email-masked]>
Date: Thu, 7 Mar 2002 21:02:56 -0500

As I understand the logic we have defined, processing will proceed as
follows:

  1) It is not forbidden for the MGC to give an explicit identifier for a
new context, so "context=34{" will be provisionally accepted.  A new context
will be created with that identifier.

  2) Because the first command is optional, it generates an error but does
not halt the transaction.

  3) Reaching the end of the first action, the MG determines that the new
context contains no terminations and deletes it.

  4) Assuming A5555 is in the Null context, the second action is processed
successfully.

-----Original Message-----
From: Cristina Sanchez [mailto:[email-masked]]
Sent: Thursday, March 07, 2002 5:34 AM
To: Taylor, Tom-PT [CAR:B800:EXCH]
Cc: [email-masked]; [email-masked]
Subject: Re: [Megaco] questions about syntax error

Hi.
A related question with an example taken from a real application.
Consider that Context 34 does not exist in an MG  and it receives the
following
...
   Transaction=1 {
       Context= 34 {O-Substract = *},   ; Optional command
       Context= - {Modify=A5555{...}}
   }
Shall the second command be processed by the MG ?
What would be the Reply message ?

Regards,
Cristina

Tom-PT Taylor wrote:

> Hi.  Answers below.
>
> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]
> Sent: Monday, March 04, 2002 4:55 AM
> To: [email-masked]
> Subject: [Megaco] questions about syntax error
>
> hi, list.
> consider the example message below.
> MEGACO/1 [125.125.125.111]:55555
> Transaction = 10000 {
>     Context - 5000 {
>         // syntax error in Action
>         Subtract= A4444 {
>              ...
>         }
>     },
>     Context = 4900 {
>         Add=A5555 {
>             ...
>          }
>          Add=A7777 {
>            ...
>          }
>     }
> }
> In real application, I think this example maybe hardly happens. but
anyway,
> in above case, shall the second action be processed by MG? or shall MG
just
> send TransactionReply
> with a error descriptor about the first action and do not precess the
> second action?
>
> [PTT] The first error encounters stops the processing of the transaction.
> You get the error descriptor for the first action and that is all.  See
> section 8.2.2.
>
> if error descriptor and action reply be sent at the same transaction
reply,
> then ABNF grammer does not allow this.
> ABNF grammer reads
> "
> transactionReply=ReplyToken EQUAL TransactionID LBRKT
>                          [ImmAckRequiredToken COMMA]
>                          (errorDescriptor/actionReplyList) RBRKT
> "
> and the second example message below
> (it is originally come from Sundareswaram P V)
> case 1)
> MEGACO/1 [125.125.125.111]:55555
> Transaction = 50009 {
>    Context = 5000 {
>       Subtract = A5555 {
>          Statistics {
>             ........
>          }
>        },
>        abc = A5556 {
>                     // --- request type is corrupted
>                     // instead of subtract it become 'abc'
>                Statistics {
>                   ......
>                     nt/os=62345, ; octets sent
>                     rtp/pr=780, ; packets received
>                     nt/or=45123, ; octets received
>                }
>            }
>         }
>  }
>
> [PTT] We modified the ABNF to accommodate this case.  actionReply is now
> defined as
>
> actionReply  = CtxToken EQUAL ContextID LBRKT
>                ( errorDescriptor / commandReply /
>                    (commandReply COMMA errorDescriptor) ) RBRKT
>
> case 2)
> MEGACO/1 [125.125.125.111]:55555
> Transaction = 50009 {
>    Context = 5000 {
>        abc = A5556 {
>                     // --- request type is corrupted
>                     // instead of subtract it become 'abc'
>                Statistics {
>                   ......
>                     nt/os=62345, ; octets sent
>                     rtp/pr=780, ; packets received
>                     nt/or=45123, ; octets received
>                }
>            }
>         },
>       Subtract = A5555 {
>          Statistics {
>             ........
>          }
>        }
>  }
> In case 1, Can I think in following manner?
>         1) it is neeed to send both error descriptor and command reply,
and
>         2) ABNF grammer will address this problem
> In case 2, as long as a parser can not determine the first command is
> "optional", must not  the second command be processed by MG? and will a
> error descriptor for the first command be placed in actionReply?
> thanks in advance.
>
> [PTT] In the text encoding, an optional command is indicated by a
preceding
> "O-" tag.  If this tag is present AND the end of the faulty command can be
> detected, then an error descriptor for the optional command plus a further
> response for following commands should be sent.
>
> _______________________________________________
> Megaco mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/megaco

--
Cristina Sanchez Moreno.                Phone   : +341 330 8290
Alcatel SRD Wireline Systems            Alcanet :     2414 8290

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

---

From: Cristina Sanchez <[email-masked]>
Date: Fri, 08 Mar 2002 14:35:52 +0100

Thanks for the clarifications.
See some questions below.

> will be created with that identifier.

Then, MG never uses the error code
"411 - The transaction refers to an unknown ContextId"
am I wrong ?

> not halt the transaction.

Error code would be  : 431 - No TerminationID matched a wildcard
Is it right?

Regards,
--
Cristina Sanchez Moreno
Alcatel VND Wireline Systems
mailto:[email-masked]

---

From: Cristina Sanchez <[email-masked]>
Date: Fri, 08 Mar 2002 14:35:52 +0100

Regards,

---

From: Aleksandr Ryabin <[email-masked]>
Date: Fri, 08 Mar 2002 12:33:47 -0500

Hi,

ABNF in both v1 and v2-01 has the following specification for packagesItem:

    packagesItem         = NAME "-" UINT16

Shouldn't it be instead:
    packagesItem         = PackageName "-" UINT16

Thanks
	Aleks

---

From: Aleksandr Ryabin <[email-masked]>
Date: Fri, 08 Mar 2002 12:33:47 -0500

Hi,

Shouldn't it be instead:

Thanks
	Aleks

---

From: Terry L Anderson <[email-masked]>
Date: Fri, 08 Mar 2002 13:55:55 -0500

Perhaps using PackageName would have been more descriptive but since
    PackageName    = NAME
it makes no difference.

--

------------------------------------------------------------
Terry L Anderson              mailto:[email-masked]
Tel:908.582.7013   Fax:908.582.6729
Lucent Technologies/INS/Voice Over IP Access Networks
Rm 2B-121, 600 Mountain Av, Murray Hill, NJ 07974
http://its.lucent.com/~tla (Lucent internal) http://www.gti.net/tla

---

From: Terry L Anderson <[email-masked]>
Date: Fri, 08 Mar 2002 13:55:55 -0500

--