W3C home > Mailing lists > Public > www-voice@w3.org > January to March 2002

Comments on CCXML Version 1.0

From: O'CONNELL John <john_oconnell@hp.com>
Date: Wed, 20 Mar 2002 17:19:50 +0100
Message-ID: <3C98B6A6.CD34F59@hp.com>
To: www-voice@w3.org

With regard to default event handlers (as mentioned in the "Known
Issues" list (Appendix C)), can I write

  <transition state="" event="CALL_INVALID">

in CCXML, to indicate any state ?

This would seem useful as it allows the programmer to define the 
treatment of an event independently of the state. I.e. the 
transition should be executed if the event happens in any state. 
SDL (a language for defining state machines) has the notion of 
both "ANY state" and  "conditional state" to handle this. 
  So, the transition

<transition state="" event="CALL_INVALID"> 

would be executed if the event CALL_INVALID occured (in whatever
state). This can greatly reduce the amount of code to be written,
as there is no need to define explicity this transition for every 
possible state.

The conditional state is even more powerful as it allows the programmer
to associate the the execution of the transition with a condition.
E.g. 

<transition state ="" event="CALL_INVALID" cond="call=='in-progress'">

would be executed if the event CALL_INVALID occured and the value
of the "call" variable was "in-progress".

One other feature of SDL that may be worth considering is the
ability to SAVE events (putting the event back on the queue). 
This is often used within a sub-program which is not able to
handle events that are only known at the main program level. 
It also allows an event to be processed at multiple levels 
(e.g. both within a sub-program and in the main program). 

Cheers,
John.

-- 

  John O'Connell                  Unix Mail: john_oconnell@hp.com
  Telecom Infrastructure Division
  Hewlett-Packard                     phone: +33 (0)4-76-14-16-73
  5, ave Raymond Chanas-Eybens          fax: +33 (0)4-76-14-14-88
  38053 Grenoble CEDEX 09 
  France.
Received on Wednesday, 20 March 2002 11:20:04 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 30 October 2006 12:48:55 GMT