Subject: RE: [Megaco] Digit Maps: Long Duration Modifier(Z), Long Timers ( L), & Short T imers (S)

From: Steve Cipolli <[email-masked]>
Date: Fri, 5 Dec 2003 13:09:11 -0500

While I tend to agree with most of the answers below, I don't see any of
this specified in the specification.  If we can agree that the answers below
are the correct interpretation, then we still need clarification in the spec
or implementors guide.  I'm still hoping the original author of this section
of the spec will clarify the original intention.
 
--Stephen

-----Original Message-----
From: Kevin Boyle [mailto:[email-masked]]
Sent: Tuesday, December 02, 2003 3:18 PM
To: Steve Cipolli; 'Troy Cauble'
Cc: [email-masked]
Subject: RE: [Megaco] Digit Maps: Long Duration Modifier(Z), Long Timers (
L), & Short T imers (S)

Comments inline. [KJBII] 

Kevin 

-----Original Message----- 
From: Steve Cipolli [ mailto:[email-masked]
<mailto:[email-masked]> ] 
Sent: Tuesday, December 02, 2003 2:40 PM 
To: 'Troy Cauble'; Boyle, Kevin [NCRTP:3Z40:EXCH] 
Cc: [email-masked] 
Subject: RE: [Megaco] Digit Maps: Long Duration Modifier(Z), Long Timers (
L), & Short T imers (S) 

Perhaps I moved us off track a bit.  It is clear that there is more than one
interpretation of the specification with regard to L, S, and to a lesser
extent Z.  Can the authors comment on what the intent of the specification
was and then perhaps we can reach some conclusion?

Here is a partial list of odd digitmaps that seem to defy interpretation: 
        "123Z"                          - "Z" ignored or error? 
[KJBII] Z here has nothing to modify.  Error. 

        "123S"                  - "S" (or "L") ignored or error? 
[KJBII] In this instance, the digitmap switches to short interdigit timing
after detecting "123".  So, neither. 

        "1ZZ23"                 - First "Z" ignored or error? 
[KJBII] Because Z is defined as modifying the following digit, and Z cannot
modify Z, this should be an error. 

        "1ZSSSSSSSSS23"         - "Z" applied to the "2" or ignored or
error? 
[KJBII] See above.  Error as Z cannot modify S (or L). 

        "135[2Z46]"                     - "Z" applied to "4" or to all in
the range (246) or ignored or error? 
[KJBII] Z applies solely to the 4 here. 

        "135[246Z]79"           - "Z" applied to "7" or ignored or error? 
[KJBII] Nothing for Z to modify.  Error. 

        "135[2S46]"                     - "S" (or "L") applied to all in
range (246) or ignored or error? 
[KJBII] This is the root of our earlier discussion.  L and S do not modify
digits -- they modify timing strategy for the digitmap at the time they are
encountered.  [246] means "match 2, 4 or 6".  So [2S46] means... What
exactly? "Match 2, short timeout, 4 or 6"?  Or "match 2, 4 or 6 while
running the short timer for this digit only"?  Or "run the short timer S
after detecting 2, but not if 4 or 6 is detected"?  If the string were
"135S[246]" then we would start using the short timer before looking for 2,
4 or 6.  If it were "135[246]S", we would start using the short timer AFTER
matching 2, 4 or 6.  But, with the S timer INSIDE the range, that would
indicate that the timer would have to fire to continue.  For instance, if
the string were "135[2S46]79", that would seem to indicate that if NO digit
was detected for the duration of the short timer, then we should continue
with the string to find 7.  This is a contrary usage to S and L at any other
point in a digitmap.  I think S and L should be ignored within ranges.  If
the MGC wants to use the S or L timer, then put them outside the range.

        "135[2L4S6]"            - "L" or "S" applied or both (somehow?) or
ignored or error? 
[KJBII] See above -- the same arguments apply here.  I would note that L
would never get "detected" here, since S would match first.

Thanks, 
--Stephen 

> -----Original Message----- 
> From: Steve Cipolli [ mailto:[email-masked]
<mailto:[email-masked]> ] 
> Sent: Monday, December 01, 2003 8:01 PM 
> To: 'Troy Cauble'; Kevin Boyle 
> Cc: [email-masked] 
> Subject: RE: [Megaco] Digit Maps: Long Duration Modifier(Z), Long 
> Timers ( L), & Short T imers (S) 
> 
> 
> Part of the problem is the term "alternatives" is not clear.  
> The text in 
> 7.1.14.3 says of "alternatives": 
> A DigitMap, according to this syntax, is defined either by a string or 
> by a list of strings.  Each string in the list is an alternative event 
> sequence, specified either as a sequence of digit map symbols or as a 
> regular expression of digit map symbols. 
> 
> My reading of this is that "alternatives" are each string and not the 
> possible sequences through a range, but admittedly this is not clear. 
> 
> The section doesn't seem to explain other odd sequences like "123Z". 
> Presumably the "Z" is simply ignored although an error could also be 
> considered the proper outcome. 
> 
> I must say I prefer an interpretation in which the number of possible 
> ways to perform the same action is as close to 1 and possible. 
> Therefore, I'd 
> prefer to ban (or at least ignore) "L" and "S" within ranges. 
> 
> --Stephen 
> 
> > -----Original Message----- 
> > From: Troy Cauble [ mailto:[email-masked]
<mailto:[email-masked]> ] 
> > Sent: Monday, December 01, 2003 6:33 PM 
> > To: Kevin Boyle 
> > Cc: [email-masked] 
> > Subject: Re: [Megaco] Digit Maps: Long Duration Modifier(Z), Long 
> > Timers ( L), & Short T imers (S) 
> > 
> > 
> > 
> > 
> > I disagree that "L" and "S" are meaningless within a range. 
> > 
> > "L" and "S" are used to specify the timer used for "subsequent 
> > events". 
> > 
> > I would argue that the "5" is a subsequent event in "[34L]5", just 
> > as it is in "[34]L5". 
> > 
> > I would also argue that the "4" in "[3L4]5" is NOT a "subsequent 
> > event", although one might debate the definition of "subsequent". 
> > 
> > In summary, I think "[L34]5", "[3L4]5", "[34L]5", and 
> "[34]L5" are all 
> > the same. (And the "L" is not meaningless.) 
> > 
> > 
> > Note that section 7.1.14.3 does bother to specify what happens when 
> > explicit timing specifiers are only active in some "alternatives", 
> or when they 
> > differ in among alternatives -- the same timer value is used for all 
> > alternatives. 
> > 
> > 
> > 7.1.14.3: 
> > 
> >  > In addition to these event symbols, the string may contain "S" 
> > and "L" 
> >  > inter-event timing specifiers and the "Z" duration modifier. "S" 
> > and "L" 
> >  > respectively indicate that the MG should use the short (S) timer 
> > or the  > long (L) timer for subsequent events, overriding the 
> > timing rules  > described above. If an explicit timing specifier is 
> > in effect in one  > alternative event sequence, but none is given in 
> > any other candidate  > alternative, the timer value set by the 
> > explicit timing specifier must be  > used. If all sequences with 
> > explicit timing controls are dropped from the  > candidate set, 
> > timing reverts to the default rules given above. Finally,  > if 
> > conflicting timing specifiers are in effect in different alternative  
> > > sequences, the long timer shall be used. 
> > 
> > 
> > -troy 
> > 
> > 
> > 
> > Kevin Boyle wrote: 
> > 
> > > Since a range means "match one of these", I would agree 
> > with the assessment 
> > > that L and S are meaningless within a range. 
> > >  
> > > Kevin 
> > > 
> > > 
> > >   _____ 
> > > 
> > > From: Steve Cipolli [ mailto:[email-masked]
<mailto:[email-masked]> ] 
> > > Sent: Monday, December 01, 2003 5:22 PM 
> > > To: Boyle, Kevin [NCRTP:3Z40:EXCH]; [email-masked] 
> > > Subject: RE: [Megaco] Digit Maps: Long Duration 
> > Modifier(Z), Long Timers ( 
> > > L), & Short T imers (S) 
> > > 
> > > 
> > > Thanks for the feedback.  
> > >  
> > > Just to make sure I understand the L and S cases: 
> > > They are syntactically legal in a range specification, but 
> > semantically they 
> > > have no effect.  Correct? 
> > >  
> > > --Stephen 
> > > 
> > > -----Original Message----- 
> > > From: Kevin Boyle [ mailto:[email-masked]
<mailto:[email-masked]> ] 
> > > Sent: Monday, December 01, 2003 5:15 PM 
> > > To: Steve Cipolli; [email-masked] 
> > > Subject: RE: [Megaco] Digit Maps: Long Duration 
> > Modifier(Z), Long Timers ( 
> > > L), & Short T imers (S) 
> > > 
> > > 
> > > Your interpretation is correct.  Because Z changes how a 
> > digit is matched, 
> > > it makes sense within a range.  Think of Z as part of the 
> > digit it modifies, 
> > > rather than a separate symbol. 
> > >  
> > > The L and S timers within a digitmap give specific 
> > instruction as to which 
> > > timer to run at that point in the digitmap.  While allowed 
> > in a range, I 
> > > don't think they provide much value within a range since 
> they do not 
> > > actually match anything.  For effective use, they should be 
> > outside the 
> > > range. 
> > >  
> > > Kevin 
> > > 
> > > 
> > >   _____ 
> > > 
> > > From: Steve Cipolli [ mailto:[email-masked]
<mailto:[email-masked]> ] 
> > > Sent: Monday, December 01, 2003 3:26 PM 
> > > To: [email-masked] 
> > > Subject: [Megaco] Digit Maps: Long Duration Modifier(Z), 
> > Long Timers (L), & 
> > > Short T imers (S) 
> > > 
> > > 
> > >  
> > > According to the syntax in RFCs 3015 & 3525 the long 
> > duration modifier (Z), 
> > > Long Timers (L), & Short Timers (S) in digit maps can 
> > appear in a digit 
> > > range.  For example (where Z is 1000ms): 
> > >     "135[2Z46]" 
> > >  
> > > Is this valid?  If it is valid, does this mean that the 
> > fourth digit event 
> > > must be either 2, 6 (held for any duration) or 4 held for 1000 ms? 
> > >  
> > > How does long timer (L) and short timer (S) in a digit 
> range apply? 
> > >  
> > > --Stephen 
> > >  
> > >  
> > > 
> > > 
> > > _______________________________________________ 
> > > Megaco mailing list 
> > > [email-masked] 
> > > https://www1.ietf.org/mailman/listinfo/megaco
<https://www1.ietf.org/mailman/listinfo/megaco>  
> > 
> > 
> > 
> > _______________________________________________ 
> > Megaco mailing list 
> > [email-masked] 
> > https://www1.ietf.org/mailman/listinfo/megaco
<https://www1.ietf.org/mailman/listinfo/megaco>  
> > 
> 
> 
> _______________________________________________ 
> Megaco mailing list 
> [email-masked] 
> https://www1.ietf.org/mailman/listinfo/megaco
<https://www1.ietf.org/mailman/listinfo/megaco>

---

From: Christian Groves <[email-masked]>
Date: Mon, 08 Dec 2003 15:33:43 +1100

Hello Steve,

Nortel were instrumental in coming up with this digit map section so you've 
probably got the original intention from Kevin :).

Christian

Steve Cipolli wrote:

> this specified in the specification.  If we can agree that the answers 
> below are the correct interpretation, then we still need clarification 
> in the spec or implementors guide.  I'm still hoping the original author 
> of this section of the spec will clarify the original intention.
>  
> --Stephen
> 
>     From: Steve Cipolli [mailto:[email-masked]]
>     Perhaps I moved us off track a bit.  It is clear that there is more
>     than one interpretation of the specification with regard to L, S,
>     and to a lesser extent Z.  Can the authors comment on what the
>     intent of the specification was and then perhaps we can reach some
>     conclusion?
> 
>     [KJBII] In this instance, the digitmap switches to short interdigit
>     timing after detecting "123".  So, neither.
> 
>     [KJBII] Because Z is defined as modifying the following digit, and Z
>     cannot modify Z, this should be an error.
> 
>             "1ZSSSSSSSSS23"         - "Z" applied to the "2" or ignored
>     or error?
>             "135[2Z46]"                     - "Z" applied to "4" or to
>     all in the range (246) or ignored or error?
>             "135[2S46]"                     - "S" (or "L") applied to
>     all in range (246) or ignored or error?
>     [KJBII] This is the root of our earlier discussion.  L and S do not
>     modify digits -- they modify timing strategy for the digitmap at the
>     time they are encountered.  [246] means "match 2, 4 or 6".  So
>     [2S46] means... What exactly? "Match 2, short timeout, 4 or 6"?  Or
>     "match 2, 4 or 6 while running the short timer for this digit
>     only"?  Or "run the short timer S after detecting 2, but not if 4 or
>     6 is detected"?  If the string were "135S[246]" then we would start
>     using the short timer before looking for 2, 4 or 6.  If it were
>     "135[246]S", we would start using the short timer AFTER matching 2,
>     4 or 6.  But, with the S timer INSIDE the range, that would indicate
>     that the timer would have to fire to continue.  For instance, if the
>     string were "135[2S46]79", that would seem to indicate that if NO
>     digit was detected for the duration of the short timer, then we
>     should continue with the string to find 7.  This is a contrary usage
>     to S and L at any other point in a digitmap.  I think S and L should
>     be ignored within ranges.  If the MGC wants to use the S or L timer,
>     then put them outside the range.
> 
>             "135[2L4S6]"            - "L" or "S" applied or both
>     (somehow?) or ignored or error?
>     [KJBII] See above -- the same arguments apply here.  I would note
>     that L would never get "detected" here, since S would match first.
> 
>     Thanks,
>     --Stephen
> 
>            
> 
>      > From: Steve Cipolli [mailto:[email-masked]]
>      > > From: Troy Cauble [mailto:[email-masked]]
>      > > > From: Steve Cipolli [mailto:[email-masked]]
>      > > > From: Steve Cipolli [mailto:[email-masked]]

---

From: Christian Groves <[email-masked]>
Date: Mon, 08 Dec 2003 15:33:43 +1100

Hello Steve,

Christian