Re: Reply to audit all contexts, list of commands with specific terminations

Christian Groves <[email protected]>
Newsgroups gmane.ietf.megaco
Message-ID <[email protected]>
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
> [email protected]
> https://www.ietf.org/mailman/listinfo/megaco
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.