| CCXML Voxeo 1.0 Development Guide | Home | Frameset Home |
|
<join> operation was sucessful. Note that for simple call leg to call leg conferencing, the conference identifier is the same as the call leg identifier.| Field | Explanation |
callid | identifier of the call leg |
confid | the conference identifier |
<unjoin> action, a termdigit, or is pushed out beacuse of a local bridge termination, this event will be sent. Please remember that at this point, the conference identifier might be of an instance which already ceased to exist.| Field | Explanation |
callid | identifier of the call leg |
confid | the conference identifier |
| termdigit | defines the termdigit used to unjoin a caller from a conference |
<createconference> action, then this event will serve as the notification for it. It also contains the conference identifier, which can then be used to join and unjoin call legs to a new object.| Field | Explanation |
confid | the conference identifier |
<destroyconfernce> action. At this point, all call legs formerly linked to the conference are guaranteed to be unjoined.| Field | Explanation |
confid | the (former) conference identifier |
<fetch> operation was successful, and the requested document is available to for use via the <goto> or <createccxml> elements.| Field | Explanation |
url | contains the URL of the document which was fetched |
fetchid | contains the identifier for the fetch operation |
<authenticate> action was sucessful. Since this feature has a 'dummy' functionality right now, it will always be sent.| Field | Explanation |
n/a | n/a |
<ccxml version ="1.0">
<var name="state0" expr=" 'init' ">
<eventhandler statevariable="state0">
<transition state=" 'init' " event="ccxml.loaded">
<createcall dest=" '1112223333' "/>
<transition>
....
</eventhandler>
</ccxml>
| Field | Explanation |
n/a | n/a |
connection.* and call.* events are already useful and basically sufficient to react to changes in a call leg.connection.CONNECTION_ALERTING here is very specific, the event call.CALL_INVALID can be used for a general handler if a call leg is not available anymore, regardless of whether this was due to a disconnection, or a simple call failure.| Field | Explanation |
callid | the identifier of the call leg |
callerid | the caller ID |
calledid | the called ID |
<accept> operation. For outbound calls, it will be sent as soon as the call is answered.| Field | Explanation |
callid | identifier of the call leg |
endpoint | contains the SIP endpoint of the call as an IP address in an obfuscated form |
| Field | Explanation |
callid | identifier of the call leg |
<disconnect> action), or due to an endpoint terminating the call. Note that even if the callid is available, you cannot perform any new operations on it...as soon as a call is deemed to be invalid, the call object will be internally detached from its formerly associated session.| Field | Explanation |
callid | identifier of the call leg |
| Field | Explanation |
callid | identifier of the call leg |
error | contains the reason for the failure |
connection.CONNECTION_CREATED is also valid for this event type, since it is not clear how useful such a notification is at all.| Field | Explanation |
callid | identifier of the call leg |
connection.CONNECTION_CONNECTED event. As soon as a call is answered, it is declared to be 'active'. As such, call and connection events can indeed happen at the same time, and have essentially the very same meaning, yet in different state models. It is up to the developer as to which one to choose. Please note that the order is not guaranteed at all, so do not count on call events being put into a sessions event queue before connection events or vice versa.| Field | Explanation |
callid | the identifier of the call leg |
| Field | Explanation |
callid | identifier of the call leg |
<exit namelist=""/>. The "returned" fields are a 1:1 mapping of the return values listed in the VXML namelist attribute. | Field | Explanation |
callid | the identifier of the call leg |
dialogid | the dialog identifier |
sessionid (legacy field) | same as dialogid (legacy field) |
| Field | Explanation |
callid | identifier of the call leg |
dialogid | the dialog identifier |
endpoint | the (obfuscated) IP endpoint of the internal SIP connection, (if available) |
| Field | Explanation |
callid | identifier of the call leg |
reason | printable error message |
error (legacy) | printable error message (legacy) |
dialogid | the dialog identifier |
| Field | Explanation |
callid | identifier of the call leg |
reason | printable error message |
error (legacy) | printable error message (legacy) |
dialogid | the dialog identifier |
<fetch> action failed, regardless of the reason for failure.| Field | Explanation |
url | the URL which was passed to fetch the document from |
field | the fetch identifier |
error | printable error message |
<send> element can also be used to send events to targets which are externally located. In such a case, errors are indeed possible and will cause this event to be fired off.| Field | Explanation |
eventid | identifier of the event that was supposed to be sent |
error | printable error message |
<dialogstart> on a call-leg that is joined to an active conference. You must first <unjoin> from the conference. Imagine this as a series of actions where overlapping is simply not allowed. In such a case the 'error.outofsync' event will be thrown which, in a nutshell, indicates a funadmental flaw in an application and/or its state machine.| Field | Explanation |
callid | the call leg on which the overlapping action occurred |
error | printable error message |
<reject> a call leg which was already answered via the <accept> tag would undoubtedly throw this error. Again, if you encounter this in your application, it is an indicator of bad state machine coding. Naughty.| Field | Explanation |
callid | the call leg on which the state collision occurred, (might be an empty value depending on circumstances) |
error | printable error message |
| Field | Explanation |
callid | the call leg on which the error occurred (might be empty, depending on circumstances) |
error | printable error message |
| Field | Explanation |
error | printable error message |
<send> element. Such events will always be prefaced by "user.". For example, sending the event "pancake" will cause the event "user.pancake" to be thrown. This naming syntax prevents collisions with existing events. The fields available in the event object of a "user" defined event are simply any name/value pairs submitted in the "namelist" attribute of the <send> element.| Field | Explanation |
user-defined | user-defined |
system.ping event will be sent to it. This event must then be processed, otherwise the session will be shut down. This can be accomplished by always including the following snippet within your code:
<transition event="system.ping">
<log expr=" ' ** encountered a stalled cal, terminating the session ** ' "/>
<exit/>
</transition>
| Field | Explanation |
n/a | n/a |
| Field | Explanation |
callid | the call leg with the CPA running |
type | the called party type detected by the CPA (human/machine/beep/unknown) |
| ANNOTATIONS: EXISTING POSTS |
esirkin
|
|
| I believe that syntax on ending <transition> should be </transition> under ccxml.loaded code example. Small nit... | |
jbassett
|
|
| Hello,
Good catch. I will make sure this gets fixed with the next round of DOC updates. Thanks again for pointing this out. Jesse Bassett Voxeo Support. |
| login |
|