W3C

List of comments on “Voice Browser Call Control: CCXML Version 1.0” (dated 19 January 2007)

Quick access to

There are 19 comments (sorted by their types, and the section they are about).

typo comments

Comment LC-1687
Commenter: Paolo Baggia
Context: Document as a whole
RJ,

as we discussed, this is the list of minor edits to the CCXML spec.
I found:
- a few missing whitespaces
- many places where <code> text should be present. I cannot promise
the list is complete, but these corrections would improve readability

I didn't check inside the tables, because not sure it wasn't too bad
for you.

I found, but not reported the fact that the state names, i.e ALERTING
can be found in different shapes in the spec:
a. normal text (i.e. Section 7.1)
b. capitalized (i.e. Section 7.2.2.1)
c. capital and style <code> (i.e. Section 8.3)
This might another round of corrections if someone thinks it will help.

Paolo.

***************
*** Typos
***************

6.2.11.1
- last sentence: "<log>is an empty element." => MISSING WHITESPACE

10.5.8.1
- first paragraph (middle): "execution of<unjoin>" => MISSING WHITESPACE


***************
*** Elements, etc missing <code>
***************

3.5.3.1
- <move>

3.5.3.8
- in first paragraph: connection.alerting

6.1
- (optional) in third paragraph: session.*
- in fourth paragraph: <createccxml>

6.3.4
- first sentence: error.* and ccxml.kill

6.3.6
- first sentence: <exit>

7.3.6
- middle paragraph: <join>

8.2.1.1
- Last paragraph: var x.y

8.3
- description of session.uri: session.uri includes ...

9.1
- last but four paragraph: connection.alerting ,
session.connections['1234'].state ,
connection.disconnected , <transition>
- last but two: ccxml.kill

9.2.2.1
- numbered bullet 2: true

9.2.2.3
- first sentence: <transition>

9.2.3.1
- last but two before table: 'ccxml'
- first paragraph after targettype values: x-
- paragraph starting "When inline XML is specified": two times <send>
- sentence before five bullets: targettype
- inside the five bullets: several occurrences of "ccxml" , "basichttp"
, "dialog"

9.2.4.1
- fourth par "A <move>": <join>

10.2.4
- second paragraph: connection.connected , connection.failed , <join> ,
<unjoin>
- two bullets: error.semantic , <merge> , error.conncetion.wrong
- paragraph starting "Finally, once an event":
connection.connected , connection.accept.failed , connection.failed ,
connection.disconnected

10.4
- two "main ways" bullets: <dialogprepare> , <dialogstart> ,
connectionid ,
conferenceid , <join> , <unjoin>
- paragraph starting "Bridges can be either":
<dialogprepare> , <dialogstart> , mediadirection , joindirection
- paragraph starting "Asynchronous events": <destroyconference>
- last three bullets:
- first bullet:
<dialogprepare> , <dialogstart> , connectionid , conferenceid ,
dialog.started , conference.joined
- second bullet:
joinid , connection.connected , conference.joined ,
error.conference.join
joinid , error.conference.join two times , connection.connected
- third bullet:
many times <join> and <unjoin> , error.conference.join , reason

10.4.2
- first paragraph: duplex , full
- second paragraph (after first picture): mediadirection , both
- paragraph after fourth picture: duplex full

10.5.4.3
- second paragraph: myConidVar

10.5.5.1
- second paragraph: <createconference> , conference.joined ,
conference.unjoined
- third paragraph: <createconference> , confname

10.5.6.1
- second paragraph: <createconference> , conference.unjoined

10.5.7.1
- all four paragraphs: id1 , id2 (eliminate ''), several <join> ,
<createconference> , several conference.joined , error.conference.join

10.5.8.1
- all three paragraphs: id1 , id2 (eliminate ''), several <unjoin> ,
several conference.unjoined , error.conference.unjoin

10.5.9.1
- first paragraph: <disconnect> two times
- third paragraph: connection.failed

10.5.10.2
- second paragraph: connection.merged , connection.merge.failed

10.6.1
- second paragraph: many <transition> , connection.connected

10.6.13
- second paragraph: id1 , id2 (eliminate ''), conference.joined

10.6.14
- second paragraph: id1 , id2 (eliminate ''), conference.unjoined

10.6.19
- first par: <merge>

Appendix K
- in the whole appendix:
"basichttp"
application/x-www-form-urlencoded
"sessionid"
"name"
"eventsource"
"http://www.example.com/ccxml/basichttp"
"ccxmlsession1"
"http://www.example.org/ccxmlext"
"agent12"
"orlando"
"RE445"
"POST"
"session"
<send>
- (optional) last two paragraphs before HTTP response codes:
"foo" , "bar" , event$.foo , "a.b" , "1" , "a" , "b" ,
"2" , "a.d.x" = "3" , "a.d.y" = "4"

Appendix L
- in the whole appendix:
"createsession"
"uri"
"basichttp"
"agent.role"
"eventsource"
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1667
Commenter: Nagesh S <nageshs@huawei.com>
Context: 6.3.8: error.createccxml - CCXML Session Create Failed Event
For the Event, error.createccxml in the section 6.3.8, the
"required" field is not mentioned properly, it should be "true".
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

substantive comments

Comment LC-1678
Commenter: murulidhara <murulidharar@huawei.com>
Context: in
Hi,



When a dialog is started is it a necessary that it must be joined to some
connection or conference.

Suppose ,I start a dialog without preparing and in dialogstart connectionid
or conferenceid are not mentioned , and

Current event being processed is non connection event then what should be
the behavior of the CCXML interpreter.

Can dialogstart use the last processed connection event to get the
connectionid from it. if not what should be the behavior of CCXML
interpreter.



Regards,

murali



This e-mail and attachments contain confidential information from HUAWEI,
which is intended only for the person or entity whose address is listed
above. Any use of the information contained herein in any way (including,
but not limited to, total or partial disclosure, reproduction, or
dissemination) by persons other than the intended recipient's) is
prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1679
Commenter: murulidhara <murulidharar@huawei.com>
Context: in
Hi,



I had a Query regarding the creation of bridges in case of implicit join to
a connection using <dialgprepare>

PROBLEM:

1. create a session.

2. create 2 connections say conn1 and conn2.

3. preapare dialog x on conn1

4. preapare dialog x on conn2

since the "Implicit bridges created using <dialogprepare>/<dialogstart> (by
specifing 'connectionid' or 'conferenceid') are established when the dialog
is started. No bridging events are generated; the 'dialog.started' event
indicates that the dialog was started and the bridge is in place."
Connection object will not be updated till dialog.started is received. And
so Connection objects of both conn1 and conn2 will not contain dialog id
which are just been prepared on them. Only session object will be updated.



So now.

Say conn1 gets connection.failed.

Now if I want to clear the dialog created on conn1 then I cant access
dialogid through event$.connection.dialogid as connection object is not
updated.(dialog is not started still) , I cant even access it through
session variables. As session variable will intern access connection object.

And also session.dialogs[] , will give dialog id but they don't give to
which connection the dialog belongs.

So , how can I access the dialog id of conn1.



Please let me know.



Regards,

Murali dhar R





This e-mail and attachments contain confidential information from HUAWEI,
which is intended only for the person or entity whose address is listed
above. Any use of the information contained herein in any way (including,
but not limited to, total or partial disclosure, reproduction, or
dissemination) by persons other than the intended recipient's) is
prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1670
Commenter: Nagesh S <nageshs@huawei.com>
Context: External DTD in
The DTD file present in the location, http://www.w3.org/TR/ccxml/ccxml.dtd. is not consistent with the element
attributes mentioned in the specification. Eg: in the <send> element, the attribute data is removed but the DTD is not updated for the same, it is still reflecting data attribute.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1672
Commenter: Nagesh S <nageshs@huawei.com>
Context: External DTD in
In the DTD file present in the location, http://www.w3.org/TR/ccxml/ccxml.dtd., xmlns attribute is not made a valid attribute for the element <ccxml> and <send> so the DTD validation of the valid CCXML 1.0 complaint document fails when the xmlns attribute is present in the document.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1689
Commenter: murulidhara <murulidharar@huawei.com>
Context: in
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1676
Commenter: Hrvoje Nezic <hrvoje.nezic@envox-lab.hr> (archived message)
Context: 6.2.2.2: <meta> Attribute Details
6.2.2.2: <meta> Attribute Details

Current text:
" Either the name or the http-equiv attribute has to be specified. If
neither of them is specified, or if both are specified, an error.fetch event must be thrown."

Proposed text:
""

I think that this part of specification is in contradiction with section 9.5.2: "Document Initialization Errors", which states: "Errors that occur during documentation initialization (elements that occur in the CCXML document before <eventprocessor>) occur outside of CCXML's event handling mechanism. These errors MUST cause the CCXML thread of execution to terminate and notify the platform of the document error."

The element <meta> occurs in the CCXML document before <eventprocessor>, so it should be handled according to section 9.5.2.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1675
Commenter: Hrvoje Nezic <hrvoje.nezic@envox-lab.hr> (archived message)
Context: 6.2.7: <fetch>
6.2.7: <fetch>

Current text:
"The event is one of fetch.done, which indicates that the identified content
was fetched successfully, or error.fetch, indicative of a failure to fetch
the requested content."

Proposed text:
"The event is one of fetch.done, which indicates that the identified content
was fetched successfully and in case of CCXML document, XML parsing /
validation was performed, or error.fetch, indicative of a failure to fetch
the requested content. "

It is not quite clear from the description of <fetch> what the CCXML
interpreter should perform before its sends the fetch.done event.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1685
Commenter: Hrvoje Nezic <hrvoje.nezic@envox-lab.hr> (archived message)
Context: 7.2.2: <dialogstart>
Dear group,

I would highly appreciate if someone would clarify usage of connectionid and conferenceid
attributes of <startdialog> element.

The question is:
Is it possible to start a dialog which is not joined with a connection or a conference, and join the dialog later by an explicit <join>?

The specification states the following:

"If both the connectionid and the conferenceid are omitted and the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, the interpreter must use the id as specified on the dialogprepare element.
If neither the connectionid or conferenceid is specified and the dialog had not previously been prepared, the interpreter must use the id indicated in the current event being processed."

But specification doesn't say what happens if the current event is not a connection or conference event, and so doesn't have a connection or conference id. Is it an error, or is it allowed, meaning that the dialog is not joined with a connection or conference?

Thanks!
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1674
Commenter: Sajeesh <sajeeshs@huawei.com>
Context: 7.2.2.1: Overview
Hi,

In section 7.2.2.1 of W3C working draft for Voice browser call control - CCXML, It says that

"If the prepareddialogid attribute is specified and any attribute values conflict with the values specified in the
<dialogprepare> element this MUST result in the throwing of an error.dialog.notstarted event"

In this case, should we check all attributes of <dialogstart> like connectionid/conferenceid, maxage,
maxstale, enctype, method and hints against the corresponding <dialogprepare> command?

Or only the checking of mediadiection (which is explicitly specified in CCXML draft) is enough?

Regards,
Sajeesh

***************************************************************************************
This e-mail and attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient's) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1677
Commenter: Hrvoje Nezic <hrvoje.nezic@envox-lab.hr> (archived message)
Context: 9: Event Handling
9: Event handling

Current text:
"If a semantic error occurs that prevents an element in the transition from
being executed (such as the 'cond' attribute of <if> being an invalid
ECMAScript expression), then successive elements within that transition will
NOT be executed; an error.semantic will be raised for the element that could
not be executed. Note that elements that can be executed but that generate
errors (such as a <disconnect> on an invalid connection ID) do not terminate
execution of the transition."

I think that this explanation is not clear enough. The phrase "elements that
can be executed but that generate errors" could be applied to most CCXML
elements. I think that intention was probably to distinguish between
synchronous and asynchronous elements. Synchronous elements are <var>,
<assign>, <script>, <if>, <elseif>, <else>, <goto>, <exit>, <log>, while
other elements are asynchronous and generate events to signal success or
failure.

The new text could be something like this:
"If a semantic error occurs that prevents a synchronous element in the
transition from being executed (such as the 'cond' attribute of <if> being
an invalid ECMAScript expression), then successive elements within that
transition will NOT be executed; an error.semantic will be raised for the
element that could not be executed. If a semantic error occurs that prevents
an asynchrounous element from being executed (such as a <disconnect> on an
invalid connection ID), execution of the transition will not be terminated."
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1683
Commenter: Hrvoje Nezic <hrvoje.nezic@envox-lab.hr> (archived message)
Context: 9.2.4: <move>
Dear group,

I have a question about "event" attribute in <move> element.

The specification says about this attribute:
"The event source from which the event object originated, if any, must be
moved to the target session. The event must also be sent to the target
session to provide a notification."

If I understood it well, this event must be a connection or dialog event,
like connection.alerting, connection.connected, dialog.started, etc:

<transition event="connection.connected" name="evt" >
<move session_id="target_session_id" event="evt" />
...
</transition>

In the above case, the connection.connected event is handled, and it will be
sent to another session to be handled again. This seems strange to me. When
the above transition starts, the connection object will be in CONNECTED
state.
Before the connection.connected event is being handled in another session,
the object will be in wrong state, because according to the specification
there is no transition from CONNECTED when current event is
connection.connected.

Another problem is using evt.connection object in the same transition after
<move>, while it is concurrently being moved to another session.

I would like to know if my understanding is correct.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1673
Commenter: Nagesh S <nageshs@huawei.com>
Context: 10.2.1: Connection State
The connection state diagram provided in the section 10.2.1, the connection state transition from ALERTING to FAILED, can happen because of the "connection.rejected" event, but the same is not present in the
specification. My doubt is when the state of the connection transitions to FAILED state after issuing the <reject> command.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1671
Commenter: Nagesh S <nageshs@huawei.com>
Context: 10.2.5: Connection Class
The example given in the section, 10.2.5 does not reflect the new
way of accessing the event attributes using the event$.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1668
Commenter: Nagesh S <nageshs@huawei.com>
Context: 10.6.5: connection.disconnected (see also sections on connection.redirected and connection.failed)
In the events like error.move, error.send.failed, the reason
attribute is a mandatory attribute but whereas for the event,
connection.disconnected, connection.redirected, and connection.failed, the reason attribute is optional, is it intentional?
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1684
Commenter: Rajesh N <rajeshn@huawei.com>
Context: D.3 VoiceXML Session Variables
Hi,

I have a query regarding the managment of VoiceXML session variables in the
context of VXML-CCXML integration.

CCXML 1.0 Appendix D.3 mentions that VoiceXML Session variables are updated
whenever there is a update to the associated connection or conference.

What are the scenario in which this can happen? Can someone provide any
examples? Also, which are the exact VXML standard session variables that can
be updated by CCXML? Are they only the VXML session variables defined in
CCXML or do they also include the VXML 2.0 standard session variables?

Also, from the VXML interpreter's perspective, does it need to verify the
dialog session state, when CCXML requests a session variable updation.
According to the specifications, VXML session variables and any applicable
sub-properties are read-only. Does this mean that they are read-only only
for the VXML application or script?

Thanks
Rajesh

This e-mail and attachments contain confidential information from HUAWEI,
which is intended only for the person or entity whose address is listed
above. Any use of the information contained herein in any way (including,
but not limited to, total or partial disclosure, reproduction, or
dissemination) by persons other than the intended recipient's) is
prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

editorial comments

Comment LC-1688
Commenter: Sajeesh <sajeeshs@huawei.com>
Context: in
Hi,
In CCXML draft, for the namelist attribute, the description is differenct for some elments.
For <dialogstart>, <dialogprepare>, <exit>- the description says that "A list of ONE or more white space separated variable names.."
And for other elements like <fetch>, <createccxml>, <send>, the description says "A list of ZERO or more white space separated variable names.."
Is it a typo in the CCXML draft or is it for some special handling ?
What is the purpose of a namelist which contains no variable names?

Regards,
Sajeesh

***************************************************************************************
This e-mail and attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient's) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Comment LC-1669
Commenter: Nagesh S <nageshs@huawei.com>
Context: 10.5.4: <createcall>
For the <createcall> element, attribute constraints missing for the
attribute "joinid" and "joindirection", saying that the latter should be
present if the former is present.
(space separated ids)
(Please make sure the resolution is adapted for public consumption)

Add a comment.


Developed and maintained by Dominique Hazaël-Massieux (dom@w3.org).
$Id: Overview.php,v 1.46 2013-10-04 08:11:33 dom Exp $
Please send bug reports and request for enhancements to w3t-sys.org