Subject: [MEDIACTRL] Clarifications concerning the repeatUntilComplete attribute

From: Jean-Francois Bertrand <[email-masked]>
Date: Wed, 18 Aug 2010 08:15:50 -0700

I have the following questions concerning the behaviour to adopt with the repeatUntilComplete attribute:

1.       By "A value of false indicates that dialog execution is terminated by other means", is it meant that the dialog waits for a <dialogterminate> or for the user to hangup before sending its <dialogexit>?

2.       what should be the behaviour if repeatUntilComplete is not present? (risk of resource leak)

3.       Shouldn't the default value of repeatUntilComplete be true?

The repeatUntilComplete attribute is defined like this:

        "indicates whether the MS terminates dialog

      execution when an input operation is completed successfully.  A

      valid value is a boolean (see Section 4.6.1<http://tools.ietf.org/html/draft-ietf-mediactrl-ivr-control-package-08#section-4.6.1>).  A value of true

      indicates that dialog execution is terminated when an input

      operation associated with its child elements is completed

      sucessfully (see execution model below for precise conditions).  A

      value of false indicates that dialog execution is terminated by

      other means.  The attribute is optional.  The default value is

      false."

Scenarios where repeatUntilComplete is true are pretty clear.  The server sends a <dialogexit> upon completion, completion being defined as something recorded or something collected.  One question though: why isn't true the default value of repeatUntilComplete?  If one forget to specify repeatUntilComplete, a default value of false is used which could easily leads to resource leak.

When repeatUntilComplete is false, I am a bit confused about the "other means" meaning.  How does a record dialog like this terminate:

<dialog repeatCount="1" repeatUntilComplete="false"><record/></dialog>

Assuming it filled its record buffer, what does it do upon its default 15sec expiration?   Should the dialog terminate and send its <dialogexit> ?  Or should it wait for a <dialogterminate> or for the user to hangup before sending its <dialogexit>?

If, in the example above, repeatCount is set to 3, is it correct to assume that the dialog saves 3 recordings and sends a <dialogexit>?  Or does it simply save 3 recording and wait for a <dialogterminate>/userHangup before sending its <dialogexit>?

What is the proper behaviour when collecting digits with repeatUntilComplete set to false?  When collecting digits and recording with repeatUntilComplete set to false?  When playing file only?

Thanks a lot for clarifying these scenarios.

Jean-François Bertrand
Sr. Software Designer | BroadSoft, Inc.