Re: Reply to audit all contexts, list of commands with specific terminations
Christian Groves <Christian.Groves <at> nteczone.com>
2009-11-23 05:11:06 GMT
Hello Raphael,
Finally got around to looking at the email.
I believe that option 2 is the correct response. I think the example is
the same as specifying Transaction 1 [ContextID=ALL,TID=C1], Transaction
2 [ContextID=ALL, TID=C2], Transaction 3 [ContextID=ALL, TID=C3]. Thus
section 6.3.2/H.248.1 is relevant.
Please see my comments below.
Regards, Christian
Raphael Tryster wrote:
>
> Consider an MG that has terminations C1, C2 and C3. C1 is in context
> 1, C2 is in context 2, and C3 is in the null context. What is the
> correct reply to this transaction?
>
> !/1 [192.168.59.1]:2944 T=2629{
>
> C=*{O-AV=C1{AT{M}}, O-AV=C2{AT{M}}, O-AV=C3{AT{M}}}}
>
> Answer 1:
>
> MEGACO/1 [192.168.59.2]:2944
>
> Reply=2629{
>
> Context=1{
>
>
AuditValue=C1{Media{LocalControl{Mode=SendReceive},TerminationState{ServiceStates=InService,
> Buffer=OFF}}},
>
> AuditValue=C2{Error=435{"Termination not in specified context"}},
>
> AuditValue=C3{Error=435{"Termination not in specified context"}}
>
> },
>
> Context=2{
>
> AuditValue=C1{Error=435{"Termination not in specified context"}},
>
>
AuditValue=C2{Media{LocalControl{Mode=SendReceive},TerminationState{ServiceStates=InService,
> Buffer=OFF}}},
>
> AuditValue=C3{Error=435{"Termination not in specified context"}}
>
> }
>
> }
>
> Answer 2:
>
> MEGACO/1 [192.168.59.2]:2944
>
> Reply=2629{
>
> Context=1{
>
>
AuditValue=C1{Media{LocalControl{Mode=SendReceive},TerminationState{ServiceStates=InService,
> Buffer=OFF}}},
>
> },
>
> Context=2{
>
>
AuditValue=C2{Media{LocalControl{Mode=SendReceive},TerminationState{ServiceStates=InService,
> Buffer=OFF}}}
>
> }
>
> }
>
> Answer 3:
>
> MEGACO/1 [192.168.59.2]:2944
>
> Reply=2629{
>
> Context=1{
>
>
AuditValue=C1{Media{LocalControl{Mode=SendReceive},TerminationState{ServiceStates=InService,
> Buffer=OFF}}},
>
> AuditValue=C3{Error=431{"No TerminationID matched a wildcard"}}
>
> },
>
> Context=2{
>
>
AuditValue=C2{Media{LocalControl{Mode=SendReceive},TerminationState{ServiceStates=InService,
> Buffer=OFF}}},
>
> AuditValue=C3{Error=431{"No TerminationID matched a wildcard"}}
>
> }
>
> }
>
> Why should it be Answer 1? Although section 7.2.5 says that "the
> command Context=*{AuditValue=t2/*{Audit{Packages}}} returns
> Context=1{AuditValue=t2/1{Packages{ccc,ddd}}},
> Context=2{AuditValue=t2/2{Packages{ccc,ddd}}}", this case is
> different, because the terminations are enumerated explicitly, and so
> a reply is expected for each termination listed, for each context that
> exists.
>
[CNG] Answer 1 isn't valid. You are correct that the case is different
because the terminations are specific. Is does say though that using
ContextID=ALL and TerminationID=specific returns "(Non-NULL) ContextID
in which the termination currently exists.
>
> Why should it be Answer 2? Because of 6.3.2, "ContextID wildcarded
> (ALL) with TerminationID specific: In the case where the ContextID is
> wildcarded (i.e. ContextID = ALL) and the TerminationID is fully
> specified, the effect is identical to a command specifying the
> non-NULL context that contains the specified termination. Thus a
> search must be made to find the context and only one instance of the
> command is executed. No errors are reported for contexts that do not
> contain the specified termination".
>
[CNG] I believe Answer 2 is valid.
>
> Why should it be Answer 3? Because 6.3.2 continues, "If the
> termination is not contained in any (non-NULL) context then Error Code
> 431 (“No TerminationID matched a wildcard”) is returned".
>
[CNG] Because C3 IS in the NULL context the error wouldn't be generated.
>
> Answer 2 seems to be the most manageable and useful, but that doesn't
> count for much if an MGC is expecting a different format and will draw
> wrong conclusions if it doesn’t get it. So, if anyone can see the
> right answer clearly, I would appreciate it.
>
> Raphael Tryster
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Megaco mailing list
> Megaco <at> ietf.org
> https://www.ietf.org/mailman/listinfo/megaco
>