Blueworx Voice Response supports a basichttp event I/O processor that uses HTTP (as described in RFC2616) to transport events between a CCXML implementation and external components.
http://www.w3.org/TR/ccxml/#basichttpio
Additional VRNode configuration parameters are required in file default.cff to enable the transport of events to and from external components:
An external component sends to a predefined CCXML basichttp event processor URI, a HTTP request that includes the following parameters:
http://www.mywvr.com/ccxml/basichttp?sessionid=myccxmlsession&name=basichttp.ccxml.loaded &eventsource=http://www.myexternalapp.org/ccxmlex&other=somevalueNote that a valid CCXML sessionid needs to be known by the external component before it can send the HTTP request. Any other parameters and values passed in the HTTP request must also be valid otherwise a HTTP error code is returned to the external component. If they are valid, a 204 response code is returned, and the event can be handled by a transition:
<transition state="'dialogActive'" event="basichttp.EventDialer" name="evnt"> <log expr="'[basichttp.EventDialer] external event'"/> <log expr="'[basichttp.EventDialer] name' + evnt.name"/> <log expr="'[basichttp.EventDialer] sourcetype' + evnt.eventsourcetype"/> <log expr="'[basichttp.EventDialer] eventsource' + evnt.eventsource"/> <log expr="'[basichttp.EventDialer] other' + evnt.other"/> </transition>In the above example:
To send an event, from a CCXML session to an external component, the required information is first sent to a predefined CCXML basichttp event processor URI using a <send> transition element, for example:
<transition event="ccxml.loaded" name="evt"> <log expr="'[ccxml.loaded] start start.ccxml'"/> <var name="hostname" expr="'machine1'"/> <send target="'http://www.example.org/ccxmlex'" targettype="'basichttp'" name="'basichttp.dialler.available'" namelist="hostname"/> </transition>
http://[2002:914:fc12:195:0000:8a2e:0370:7334]/ccxmlexThis applies to all protocols.
In response, the CXML basichttp event processor sends a HTTP POST request that includes the following parameters:
Any other parameters and values passed in the HTTP request must also be valid otherwise a HTTP error code is mapped to the error.send.failed CCXML event. If they are valid, a 204 response code is mapped to the send.successful CCXML event.