Subject: RE: [Megaco] AuditValue on ALL Context Question

From: Carl Rutter <[email-masked]>
Date: Thu, 15 Aug 2002 11:41:37 -0400

Interesting viewpoint,
I could live with this explanation if there are no objections.
 
One question:
Say all of the wildcarded terminations are in the NULL.
Then the reply wouldn't have anything in it, right?
 
Carl
-----Original Message-----
From: Aleksandr Ryabin [mailto:[email-masked]]
Sent: Thursday, August 15, 2002 11:19 AM
To: Carl Rutter; 'Raphael Tryster'; Kevin Boyle; [email-masked]
Cc: Brad Steinka
Subject: RE: [Megaco] AuditValue on ALL Context Question

Hi,

        I might be wrong here, but if you view termination ID wildcard
matching as matching
against terminations that are not in NULL context (that is 3 in your case)
and not against all
terminations on MG that can possibly match given wildcard (that is 24 in
your case) then 
reply with 3 good audits is the only option since no error occurred. While
in case of a single
termination ID it will not match any of these 3 terminations and thus you
will get an error.

If you view it like that then there is no gray area, and the only reason MGC
would want to
put -O is if more commands follow after that AuditValue and MGC wants them
to be 
executed even if all terminations (on that T1) are in NULL context.

Just my two cents.
        Aleks.

At 10:13 AM 8/15/2002, Carl Rutter wrote:

OK,
 
The gray area here is 

2) If the AuditValue was on the ALL Context and the Termination was
wildcarded to
    say the T1 level(24) and say 21 of the 24 are in the NULL context,
    Should the reply contain the 3 good replies and 21 435 Errors?

I like what Raph stated that 

"I agree with your conclusion because auditing all terminations in all
contexts would be pretty useless if the MG returned an error for every
termination in the null context.  "

This does seem silly.  I guess the only thing I'm struggling with on this is
why is it apprpraite to send the

435 in the single Audit case and not in the Wildcarded Termination  "O-"
case?

Carl

-----Original Message-----
From: Raphael Tryster [ mailto:[email-masked]
<mailto:[email-masked]> ]
Sent: Thursday, August 15, 2002 2:46 AM
To: Kevin Boyle; Carl Rutter; [email-masked]
Cc: Brad Steinka
Subject: RE: [Megaco] AuditValue on ALL Context Question

Kevin, 

I agree with your conclusion, but not with how you reached it. 

"If a command contains a wildcarded TerminationID, the command is attempted
with each of the actual TerminationIDs matching the wildcard.  A response
within the TransactionReply is included for each matching TerminationID,
even if one or more instances generated an error.  If any TerminationID
matching a wildcard results in an error when executed, any commands
following the wildcarded command are not attempted".

From the above, it is clear that processing halts after the wildcard, not in
the middle of it, otherwise you could not have more than one instance
generating an error.  So even if you returned errors, the result WOULD be
deterministic.

I agree with your conclusion because auditing all terminations in all
contexts would be pretty useless if the MG returned an error for every
termination in the null context.  I have the impression that the intention
of the standard is to perform set intersection between termination id
(wildcarded or not) and context id, and return an error if the resulting set
is empty.  Of course, this applies only to those commands where the
terminations are expected to be in the context before the command is issued
- Modify, Subtract, and Audit.

Raphael Tryster 

	BM__maildata-----Original Message----- From:   Kevin Boyle
[SMTP:[email-masked]] Sent:  Wednesday, 14 August, 2002 9:42 PM
To:    Carl Rutter; [email-masked] Cc:    Brad Steinka Subject:       RE:
[Megaco] AuditValue on ALL Context Question 

Comments inline. [KJBII] -----Original Message----- From: Carl Rutter [
<mailto:[email-masked]> mailto:[email-masked]] Sent: Tuesday, August
13, 2002 9:11 AM To: [email-masked] Cc: Brad Steinka Subject: [Megaco]
AuditValue on ALL Context Question I thought this was a simple one, anyone
care to respond? Thx, Carl I need a clarification on the following 2
scenarios: 1) AuditValue ALL Context on a specific Termination(which is in
the NULL Context)     The reply should be on the ALL context with error 435
right? [KJBII] Correct. 2) If the AuditValue was on the ALL Context and the
Termination was wildcarded to     say the T1 level(24) and say 21 of the 24
are in the NULL context,     Should the reply contain the 3 good replies and
21 435 Errors?  Or am I missing     something where you can omitt the 435s?
I ask this because I have seen flows     that don't show the 435s. [KJBII] I
don't see any use for returning 3 replies and then an error (remember,
processing halts once an error is detected!)  Also, this might be only one
good response, and an error, or possibly just an error, since the order of
wildcard matching is determined by the MG.  Given that this is the case,
different MGs may have different matching algorithms, and therefore the
reply will not be deterministic from MG to MG.  So, in my opinion, an error
should only be returned if there are NO matching wildcards.  Otherwise,
return only the matches. Thx, Carl 

Carl Rutter Telica, Inc. Building G, Suite 100 734 Forest Street Marlboro,
MA 01752 Email [email-masked] Voice 508-480-0909 x8178 Fax 508-480-0922
www.telica.com <http://www.telica.com/>  

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

---

From: Aleksandr Ryabin <[email-masked]>
Date: Thu, 15 Aug 2002 12:01:03 -0400

No, actually since no terminations match then MGC should get "no match" 431 
error.
This is basically the same ether you give a wildcard termination, or a single
termination and thus consistent. The only diff is an error number: 431 "no 
match" for
wildcard termination audit and 435 "not in ctx" for single termination audit.

         Aleks

At 11:41 AM 8/15/2002, Carl Rutter wrote:
>If you view it like that then there is no gray area, and the only reason 
>MGC would want to
>>This does seem silly.  I guess the only thing I'm struggling with on this 
>>is why is it apprpraite to send the
>>
>>From: Raphael Tryster [mailto:[email-masked]]
>>"If a command contains a wildcarded TerminationID, the command is 
>>attempted with each of the actual TerminationIDs matching the 
>>wildcard.  A response within the TransactionReply is included for each 
>>matching TerminationID, even if one or more instances generated an 
>>error.  If any TerminationID matching a wildcard results in an error when 
>>executed, any commands following the wildcarded command are not attempted".
>>
>> From the above, it is clear that processing halts after the wildcard, 
>> not in the middle of it, otherwise you could not have more than one 
>> instance generating an error.  So even if you returned errors, the 
>> result WOULD be deterministic.
>>
>>termination in the null context.  I have the impression that the 
>>intention of the standard is to perform set intersection between 
>>termination id (wildcarded or not) and context id, and return an error if 
>>the resulting set is empty.  Of course, this applies only to those 
>>commands where the terminations are expected to be in the context before 
>>the command is issued - Modify, Subtract, and Audit.
>>
>>Raphael Tryster
>>-----Original Message----- From:   Kevin Boyle 
>>[SMTP:[email-masked]] Sent:  Wednesday, 14 August, 2002 9:42 
>>PM To:    Carl Rutter; [email-masked] Cc:    Brad Steinka 
>>Subject:       RE: [Megaco] AuditValue on ALL Context Question  Comments 
>>inline. [KJBII] -----Original Message----- From: Carl Rutter [ 
>><mailto:[email-masked]>mailto:[email-masked]] Sent: Tuesday, 
>>August 13, 2002 9:11 AM To: [email-masked] Cc: Brad Steinka Subject: 
>>[Megaco] AuditValue on ALL Context Question I thought this was a simple 
>>one, anyone care to respond? Thx, Carl I need a clarification on the 
>>following 2 scenarios: 1) AuditValue ALL Context on a specific 
>>Termination(which is in the NULL Context)     The reply should be on the 
>>ALL context with error 435 right? [KJBII] Correct. 2) If the AuditValue 
>>was on the ALL Context and the Termination was wildcarded to     say the 
>>T1 level(24) and say 21 of the 24 are in the NULL context,     Should the 
>>reply contain the 3 good replies and 21 435 Errors?  Or am I 
>>missing     something where you can omitt the 435s?  I ask this because I 
>>have seen flows     that don't show the 435s. [KJBII] I don't see any use 
>>for returning 3 replies and then an error (remember, processing halts 
>>once an error is detected!)  Also, this might be only one good response, 
>>and an error, or possibly just an error, since the order of wildcard 
>>matching is determined by the MG.  Given that this is the case, different 
>>MGs may have different matching algorithms, and therefore the reply will 
>>not be deterministic from MG to MG.  So, in my opinion, an error should 
>>only be returned if there are NO matching wildcards.  Otherwise, return 
>>only the matches. Thx, Carl
>>
>>Carl Rutter Telica, Inc. Building G, Suite 100 734 Forest Street 
>>Marlboro, MA 01752 Email [email-masked] Voice 508-480-0909 x8178 Fax 
>>508-480-0922 www.telica.com
>>
>>
>>
>>
>>
>>[email-masked] 
>><https://www1.ietf.org/mailman/listinfo/megaco>https://www1.ietf.org/mailman/listinfo/megaco 
>>

---

From: Aleksandr Ryabin <[email-masked]>
Date: Thu, 15 Aug 2002 12:01:03 -0400

Aleks

---

From: "Chuong N. Nguyen" <[email-masked]>
Date: Thu, 15 Aug 2002 15:30:09 -0500

I agree w/what Aleksandr is saying.

But now I am confused as to what caused Carl to ask the question in the
first place.
I just read the July discussion on this topic.
Wasn't this discussed in July "Wildcarded Action Reply"?

From Alek's responses in July.

If we are to be consistent across all the commands and say that we match

"both" (that is context and termination) then a reply to command with
wildcarded termination and wildcarded context will never contain error
431
except the case when there are no matches at all.

I am wondering if the confusion was due to single termination as Carl
said plus ServiceChange usage of wildcard
as indicated by Ron using Christer Holmberg's email or nothing has been
officially put into the text.

Or taking individual paragraphs out of the Standard and combining these
paragraphs to come up
w/an interpretation are leading to some different interpretation?
For example.

Section 6.2.2 TerminationIDs

   A wildcarding mechanism using two types of wildcards can be used with

   TerminationIDs. The two wildcards are ALL and CHOOSE. The former is
   used to address multiple Terminations at once,

   When ALL is used in the TerminationID of a command, the effect is
   identical to repeating the command with each of the matching
   TerminationIDs.

This section does not mention anything about contextId.

Do the above wordings imply that terminationId wildcarding is a way to
compact the same commands
into a single command (the very original driver behind having wildcard
at command level)?

Thus it is not about defining how to use wildcard to match something.

So should we define how terminationId or contextId wildcarding for each
command should be interpretated?
It is done for AuditValue.
---

The following text for AuditValue does clearly indicated - attempt
(executation of cmd??) is only
made for matching terminationId.

Section 7.2.5 AuditValue

If the wildcard matches
   more than one TerminationID, all possible matches are attempted, with

   results reported for each one.

Also the following example given in this section (3015corr), does imply
that error is not returned.
But terminationId in NULL is not used.
Should we expand the example to include terminationId in NULL.
   The command:

     Context=*{AuditValue=t2/*{Audit{Packages}}}

   Returns:

     Context=1{AuditValue=t2/1{Packages{ccc,ddd}}},
     Context=2{AuditValue=t2/2{Packages{ccc,ddd}}}

But the following (also in this section) seems to imply that contextId
is not used at all.
(Unless there is already a correction for this statement)

     DigitMap requested in an AuditValue command with
        TerminationID ALL returns all DigitMaps in the gateway

If someone wants to do the above, what contextId should be used?
The above wording implied that the contexId does not matter.
Thus it doesn't matter whether the contextId is NULL, ALL or specific???

Aleksandr Ryabin wrote:

>  No, actually since no terminations match then MGC should get "no
> match" 431 error.
> termination and thus consistent. The only diff is an error number: 431
> "no match" for
>> against terminations that are not in NULL context (that is 3 in your
>> case) and not against all
>> terminations on MG that can possibly match given wildcard (that is
>> 24 in your case) then
>> reply with 3 good audits is the only option since no error occurred.
>> While in case of a single
>> termination ID it will not match any of these 3 terminations and
>> thus you will get an error.
>>
>> If you view it like that then there is no gray area, and the only
>> reason MGC would want to
>> put -O is if more commands follow after that AuditValue and MGC
>> wants them to be
>> > "I agree with your conclusion because auditing all terminations in
>> > all contexts would be pretty useless if the MG returned an error
>> > for every termination in the null context.  "
>> >
>> > This does seem silly.  I guess the only thing I'm struggling with
>> > on this is why is it apprpraite to send the
>> >
>> > 435 in the single Audit case and not in the Wildcarded Termination
>> > "O-" case?
>> >
>> > Carl
>> >
>>

---

From: "Chuong N. Nguyen" <[email-masked]>
Date: Thu, 15 Aug 2002 15:30:09 -0500

Section 7.2.5 AuditValue

If the wildcard matches

   Returns: