CCXML 1.0-W3C Development Guide Home  |  Frameset Home


<send>  element


The <send> element allows a developer to direct user-defined events to the CCXML 1.0 document, or to external I/O processors.



usage

<send delay="(ECMAScript Expression)" hints="(ECMAScript Expression)" name="(ECMAScript Expression)" namelist="STRING" sendid="(ECMAScript Expression)" target="(ECMAScript Expression)" targettype="(ccxml/dialog/basichttp)">


attributes

delay Data Type: (ECMAScript Expression) Default: none - attribute is optional
The delay attribute is used to specify a length of time that the <send> action should be delayed. Control is immediately returned to the application, but the event indicated in the <send> tag itself will be delayed, hence, there is no noticeable application delay as this processes.

Valid values include any ECMSScript expression that returns a string that can be interpreted as a time value. CCXML uses the Cascading Style Sheets, Level 2 [ CSS2 ] time format. Time designations consist of a non-negative real number followed by a time unit identifier. The time unit identifiers are:
ms : milliseconds
s : seconds

Examples include: "3s", "850ms", "0.7s", ".5s" and "+1.5s". for example:

        <transition state="outgoing_call_active"
                    event="conference.joined">
            <!-- If maxtime has been set then we setup a timer -->
            <if cond="vxml_maxtime != null">
                <send name="'vxml_maxtime'"
                    target="session.id"
                    delay="vxml_maxtime"
                    sendid="maxtime_sendid"/>
            </if>
        </transition>

or


    <transition event="ccxml.loaded" name="evt">
      <!-- Setup a 12-hour timer -->
        <send target="session.id" name="'refresh'"
              delay="43200s"/>
    </transition>


Note: The delayed event queue for sending events must be maintained locally. Any events waiting to be sent must be purged when the session that issued this request terminates.
hints Data Type: (ECMAScript Expression) Default: Optional
The hints attribute can be used to specify information used by the platform to configure the event processor. The value of this attribute should equate to an object that contains an array property of "headers" as shown in the following example:

<script>
  var Hints = new Object();
  Hints.headers = new Object();
  Hints.headers['x-mySipHeader'] = 'hello world';
</script>

Note: The hints.headers stores what headers to add to the sip request, and that only headers starting with an 'x-' prefix are sent.
name Data Type: (ECMAScript Expression) Default: none - attribute is required
The name attribute is used to specify and ECMAScript string expression evaluating to the event type to be thrown. Event names are case insensitive, and may be alphanumeric in format, but the first character event name cannot be a dot or period "." or a digit.

If name is left unspecified, and no inline content is denoted, then an error.fetch event will be thrown. Additionally, you can only use name or inline content exclusively. If you specify both, an error.fetch will be thrown.

Note: Specifying http.get will perform a GET rather than a POST (default)

<send target="'http://127.0.0.1:9990/214530.php'" targettype="'basichttp'" namelist="myId" name="'http.get'"/>
namelist Data Type: STRING Default: none - attribute is optional
The namelist attribute denotes the space-separated list of variable names to be <sent>. The variables will then be available as a variable/value pair in the resultant URI querystring that is sent to the server.
sendid Data Type: (ECMAScript Expression) Default: Optional
The sendid attribute specifies an ECMAScript expression evaluating to a previously defined variable. The value of the attribute must receive an internally generated unique string identifier to be associated with the event being sent. If this attribute is not specified, the event identifier must be dropped.
target Data Type: (ECMAScript Expression) Default: none - attribute is required
The target attribute denotes the user-defined identifier for the target CCXML document. Do note that it is totally legal for a CCXML program to send an event to itself!

targettype Data Type: (ccxml/dialog/basichttp) Default: Optional (ccxml)
The targettype attribute specifies and ECMAScript string expression that evaluates to the type of Event I/O Processor that the event is to be sent to. Allowable values are:
  • ccxml: This specifies that the event must be dispatched to the CCXML Session Event Processor.
  • dialog: This specifies that the event must be dispatched to the Dialog Event Processor. In VoiceXML 2.x, asynchronous events are not possible. This value is reserved for future VoiceXML versions.
  • basichttp: This specifies that the event must be dispatched to the Basic HTTP Event Processor.



parents

none


children

none


code samples

<sample Return>
(Assuming that our 'AnyCoolPage.php' was to write our <sent> values to a text file, this is what we would see)

myEvent
myReturnVar=foo
myReturnVar2=foo2
myReturnVar3=foo3



additional links

W3C Specification


  ANNOTATIONS: EXISTING POSTS
jbuehring
11/23/2007 7:31 PM (EST)
On our test-bed installation of Prophecy 8.0.x, it appears to be the default behavior of the send element when using basichttp to transmit namelist data as base64-encoded HTTP POST.  In this case, the target's server-side logic needs to process it accordingly before the data can be meaningful to it.

The way around this appears to be to specify 'http.get' as the name attribute, which transmits the namelist in plain-text via the HTTP GET method.

Needless to say, this caveat should be documented, both in the send element's page, and in Appendix G!
VoxeoBrian
11/23/2007 9:26 PM (EST)
Hello,

You are correct, it is possible to specify the name attribute as http.get, which will transmit your parameters as plain text via GET.  This however is not valid per the CCXMl specification and is a "hack", if you will that was created for our specific platform implementation.

Allowing CCXML sends via GET is not something provided by the specification and as such was not included in the documentation.  I will however make note of this, as I believe this should be documented for future use.  Please let us know if you have any additional questions, we are always happy to help.


Regards,

Brian
chaubkit
3/5/2008 4:05 AM (EST)
Can you please give me an sample or further explanation on the "inline content". I don't know how to implement this.

Thanks,
Chau - dhchau@tma.com.vn
voxeojeff
3/5/2008 9:51 AM (EST)
Hi Chau,

I'm a bit confused by your request here.  Could you please clarify what you are looking for, or referencing here?  I am happy to help, however more information will be needed here in order to do so. :-)

Best regards,

Jeff
chaubkit
3/5/2008 11:10 PM (EST)
Hi Jeff,

For the name attribute of <send> tag: "If name is left unspecified, and no inline content is denoted, then an error.fetch event will be thrown. Additionally, it is a requirement to use name or inline content exclusively, i.e., if boh are specified, then an error.fetch will be thrown." Could you please show me what is "inline content"? and how to implement this? illustrating by an example is very very clear for me...

Big Thanks,
Chau Duong
voxeojeff
3/5/2008 11:40 PM (EST)
Hi Chau,

Thanks for the clarification there.  The inline content you refer to is shown (with a nice example and explanation) in the W3C CCXML specification.  I'll attach a link for you below to review.

http://www.w3.org/TR/ccxml/#Send

Hope this helps,

Jeff
jbuehring
4/9/2008 4:51 PM (EDT)
Consider the following (very) abridged snippet of example CCXML, running on a Premise-based installation of Prophecy 8.0.177.0:

<eventprocessor statevariable="app_state">
    ...
    <transition state="finishing" event="process" name="evt">
        <assign name="status" expr="successful"/>
        <assign name="app_state" expr="'processing'"/>
        <send name="'http.get'" target="'processor.php'" namelist="status" targettype="'basichttp'" />
    </transition>
   
    <transition state="processing" event="send.successful" name="evt">
        <exit/>
    </transition>
    ...
</eventprocessor>

Regardless of whether or not there are things taking place prior to the <exit> element in that code, the resulting HTTP send never happens, and my PHP script remains untouched.  However, if I do something along these lines:

<eventprocessor statevariable="app_state">
    ...
    <transition state="finishing" event="process" name="evt">
        <assign name="status" expr="successful"/>
        <assign name="app_state" expr="'processing'"/>
        <send name="'http.get'" target="'processor.php'" namelist="status" targettype="'basichttp'" />
    </transition>

    <transition state="processing" event="send.successful" name="evt">
        <assign name="app_state" expr="'kill'" />
        <send name="'killme'" target="ccxmlid" targettype="'ccxml'"/>
    </transition>

    <transition state="kill" event="killme" name="evt">
        <exit/>
    </transition>
    ...
</eventprocessor>

This makes everything all right with the universe, and I see the request come into my PHP script as it should.  Hence, I am unsure if this is a bug, or my inherent lack of understanding into how the HTTP I/O processor works in tandem with Prophecy -- thusly, that it is operating as it should.  Though, I call into question the real difference of placing the <exit> element within the "send.successful" event itself, versus calling another transition that then executes the <exit> element.  I personally wouldn't think the execution time between the two scenarios to be that much of a difference if, in fact, there is a race condition to fire off that HTTP GET prior to the CCXML thread being effectively cut off at the neck.

Any thoughts?  Insights?  If anything, hopefully this helps anyone else running into a similar situation...

I shall also post this as a forum topic.
voxeojeff
4/9/2008 5:32 PM (EDT)
Hello,

This is actually working as intended, and is not a bug.  Per the W3C spec,

[color=blue]"This event is thrown when an event is successfully delivered to the specified receiver.  Receipt of the event does not imply the event has been processed by the receiver but simply that it has been sent without error."[/color]

http://www.w3.org/TR/ccxml/#s9.3.6

As it relates to our platform, a <send> will queue the request, but not perform it immediately.  As CCXML is asynchronous, an <exit/> immediately after the <send> will more than likely cause the app to exit prior to the fetch.  This is something that our engineers want to change, however as it stands now this is the intended behavior.  The proper way of transitioning this and exiting *after* the fetch is done is to do what you did in your second example.

I hope this helps clarify, please let me know if you have any further questions.

Best regards,

Jeff
nirav.dave
8/6/2008 2:33 AM (EDT)
i would like to ask that, what if i want to pass numeric data using <send> tag.
i mean after dialing a number, i want to pass extension number after 5 second, than what can be a tag ?
voxeojohnq
8/6/2008 2:56 AM (EDT)
Hello,

You can pass whatever data you would like with a <send> element via the "namelist" attribute.  For example:

<transition event="some_event">
  <!-- assign your digits to a variable -->
  <var name="digits" expr="'1234'" />

  <!-- send the digits var to the next transition with a send after 5 seconds -->
  <send name="'next_trans'" target="session.id" namelist="digits" delay="'5000ms'" />
</transition>

<transition event="next_event">
  <!-- retrieve the digits with event$ -->
  <log expr="'*** You sent ' + event$.digits" />
</transition>

I hope this helps!

Regards,

John Quinn
Voxeo Support
mho
8/19/2008 10:48 PM (EDT)
Thanks voxeojohnq.  that comment about
<send name="'next_trans'" target="session.id" namelist="digits" delay="'5000ms'" /> really helped.

Here is something that may save someone some time:

A <send> right before <exit/> does not get through (like if you are trying to tell your app server that you got disconnected) so here is a quick hack to get around it:
<transition event="connection.disconnected">
  <assign name="status" expr="'Got disconnected'"/>
  <send targettype="'basichttp'" target="'http://www.myappserver.com/mywatcher'" name="'http.get'" namelist=" status "/>
  <send name="'userexit'" target="session.id"  delay="'2000ms'" />
</transition>

<transition event="userexit">
  <log expr="'***** We are exiting now ' "/>
  <exit/>
</transition>

voxeoJeffK
8/20/2008 12:57 AM (EDT)
Hi mho,

The failure condition of trying to <send> just before an <exit/> is actually a bug that is being addressed. Using the delayed <send> is a great workaround.

Thanks,
Jeff K.
bpcamac
9/8/2008 4:36 PM (EDT)
Is there a way to specify that an HTTP request be sent via a POST instead of a GET?
jdyer
9/8/2008 5:03 PM (EDT)
Hi!

  We are aware that currently this feature is not clearly documented in the <send> elements documentation, the reasoning is that what I am about to tell you is not to W3C Spec.  It is a proprietary Voxeo workaround to allow users to use [b]POST[/b] instead of [b]GET[/b].  Because this feature is not to w3c spec I want to make clear that it could removed at any time.  However, I think we can safely assume that until the spec changes to include a method of accomplishing this we will most likely not be removing it.  I just wanted to be clear on the point that it [b]could[/b] be removed some time in the future!

Anyways, onto the hack, I mean 'work-around':

To change from [b]POST[/b] to [b]GET[/b] we just make use of the name attribute and specify our type. Example:
[code]
<send target="'http://127.0.0.1:9990/214530.php'" targettype="'basichttp'" namelist="myId" name="'http.get'"/>
[/code][code]
<send target="'http://127.0.0.1:9990/214530.php'" targettype="'basichttp'" namelist="myId" name="'http.post'"/>
[/code]

I hope that helps, please let us know if there is anything else that we can do in the future!

Regards,

John
Customer Engineer
bpcamac
9/8/2008 7:14 PM (EDT)
Thanks, John.  I'll keep that advisory in mind.

A simple question: if the HTTP GET request returns the line:
  someParam=5

How do you accept the result and access the parameter's value the CCXML environment (script)? 


jdyer
9/8/2008 8:40 PM (EDT)
Hi,

  You would make use of the [b]event$[/b] object to access the return data from the namelist's.  A great place to check this out is in [url=http://docs.voxeo.com/ccxml/1.0-final/appendixg_ccxml10.htm]Appendix G[/url] of the CCXML Documentation.

I will still include a small snipped of code illustrating this usage for you, but the link above with me much more detailed!

[code]
  <transition state="init" event="ccxml.loaded">
    <send target="'sendTarget.php'" name="what_i_sent" namelist="myVar" delay="'1s'" targettype="'basichttp'"/>
    <assign name="statevar" expr="'state1'"/>
  </transition>

  <transition event="myEvent" state="state1">
  <var name="myObj" expr="JSON.parse(event$.myVar)"/>
  <log expr="'***** DATA RECIEVED FROM SERVER *****'"/>
  <log expr="'***** myObj = ' + myVar"/>
  </transition>
[/code]

Hope that clears this up for you, please let us know if there are any other questions!!

Regards,

John
Customer Engineer
shawnaslam1
11/6/2008 10:26 AM (EST)
Hello,
I have just read the post from Voxeo side about using the post instead of Get.There are almost 20 to 25 IVR's running on our live production to secure our data we are really ant to use post instead of Get.My question is can we use Post in ccxml.But what thread i got is if you stop using the Post then what will we do as we have our live compaigns.
What is your suggestion.

Regards,
Shawn
VoxeoDustin
11/6/2008 10:38 AM (EST)
Hey Shawn,

I'm not entirely certain I completely understand your question. Using name="'http.get'" is a workaround for enabling GET when using this element. However, CCXML <send> uses POST by default, so nothing extra is necessary to enable POST when using this element.

Let me know if you have any further questions.

Cheers,
Dustin
shawnaslam1
11/6/2008 2:43 PM (EST)
So Dustin if you are not certain it's mean you are not recommending me to use it on live applications.Right?


Regards,
Shawn
VoxeoDustin
11/6/2008 2:55 PM (EST)
Hey Shawm,

<send> is perfectly fine to use on live applications. I was not completely clear on what your question was. If my answer is not what you were looking for, let me know.

Thanks,
Dustin
shawnaslam1
11/7/2008 8:20 AM (EST)
Dustin,
you are saying if i am not wrong that in my send request if i am not using name='http.get' then its mean request will be post request.

Below is my request which i am sending through CCXML

<send data="'user.DBReturn'"  target="'../firstHorizon_submitGet.do'" namelist="status success" targettype="'basichttp'" />

Is this a Post request?

Regards,
Shawn


voxeojeremyr
11/7/2008 8:39 AM (EST)
Hi Shawn,

You are absolutely correct.  By default the <Send> element will use 'post' to send the parameters.  You can of course specify it just like you can specify get by using 'basichttp.get' and 'basichttp.post' in your target type. 

Thanks,
Jeremy Richmond
Voxeo Support
bpcamac
6/19/2009 2:17 AM (EDT)
In the documentation for Delay attribute at the top of this page it mentions "Be aware that the queue for sending events must be maintained locally and any events waiting to be sent must be purged when the session that issued this request terminates.".

What does it mean to maintain the queue locally?  I thought this queue would reside within the CCXML interpreter, wherever that lives.

And how can such a queue be purged?  Again, it sounds like this advice is directed more to CCXML Interpreter implementers (e.g. Voxeo) than CCXML script developers (like us). 

Or am I completely misreading this sentence? 

- Brenton

PS. thx in advance, as always, for Voxeo's help
bpcamac
6/19/2009 2:22 AM (EDT)
Also, I just noticed that the example above specifies the unit of time for Delay attribute to be seconds, but the docs mention that the platforms only likes milliseconds.  To avoid problems at runtime, might be better to update the example to specify time in ms.
MattHenry
6/19/2009 3:25 PM (EDT)

Hello Brenton,

As we have a number of topics to discuss, I thought it best to post replies inline:


Q: "What does it mean to maintain the queue locally?  I thought this queue would reside within the CCXML interpreter, wherever that lives.And how can such a queue be purged?  Again, it sounds like this advice is directed more to CCXML Interpreter implementers (e.g. Voxeo) than CCXML script developers (like us)"

A: You are correct in this regard, and as such, this statement really has no business being in developer-facing documentation. I have removed this in our internal doc build, and we will push this change out live in the next few days.


Q: " I just noticed that the example above specifies the unit of time for Delay attribute to be seconds, but the docs mention that the platforms only likes milliseconds.  To avoid problems at runtime, might be better to update the example to specify time in ms."

A: This is a misleading holdover from Voxeo's CCXML 2002 implementation, and a 'ms' value is indeed required when using the older platform. I have corrected this too, in the CCXML 1.0 docs.


Thanks again for bringing these to my attention!

~Matthew Henry



venkoba
7/9/2009 5:41 AM (EDT)
<var name="digits" expr="'1234'" />
<var name="status" expr="'successful'" />
<send target="'http://dev.mysite.com/test.jsp'" targettype="'basichttp'" namelist="status,digits" name="'http.get'"/>


whats wrong in this code snippet, there are no errors in debugger and the request is not coming to test.jsp

Thanks,
voxeoJeffK
7/9/2009 6:41 AM (EDT)
Hello,

Try removing the comma from the namelist attribute. namelist variables should be separated by a space:

  <send target="'http://dev.mysite.com/test.jsp'" targettype="'basichttp'" namelist="status digits" name="'http.get'"/>

Test with that, and please let us know if you have any additional difficulties.

Regards,
Jeff Kustermann
Voxeo Support
moonis.ahmed
7/28/2009 3:44 AM (EDT)
Hi,

I want to send a namelist "endresult" to my jsp page through CCXML. The syntax i am using is given:
<send target="'http://192.168.1.6:8080/stc/voice_authentication_result.jsp'" name="'http.post'" namelist="endresult" targettype="'basichttp.post'"/>

However i get the error 'Failed to Route Call'. When i comment out this send tag, the ccxml runs fine and routes call to my SIP phone client I am using.

Any suggestions?

Cheers,

- Moonis
dutabhis
9/15/2010 8:32 AM (EDT)
Hi,
We have moved into a road block. :-(

We have a parent CCXML session from which we are trying to invoke another CCXML which resides as a different service in a different voxeo server instance. But while using the <send> tag to invoke te chils CCXML we get a error message saying "Invalid Session ID" in the parent CCXML.

Can anyone please let me if it is possible to call explicitly call a CCXML from within a CCXML and what is the syntax for doing that ...

Thanks ...
voxeoJeffK
9/16/2010 12:35 AM (EDT)
Hello,

Are you <send>-ing an HTTP request with Token to start the new session? That would be the method to initiate a session via HTTP:

  http://docs.voxeo.com/ccxml/1.0-final/t_7ccxml10.htm

If so, post the <send> for us to review.

Regards,
Jeff Kustermann
Voxeo Support
lz231
11/23/2011 5:11 PM (EST)
If I run the following code I will get error like "Session error: No media endpoint found" and it doesn't execute <dialogstart src="'Alarm.vxml'"/>, I really have no idea what the reason is...

<transition state="Timer" event="dialog.exit">
      <assign name="state" expr="'connected'"/>
      <log expr="'*** Timer started***'"/>
      <send name="'TimeUp'" target="session.id" delay="event$.values.timer"/>
      <log expr="'*** Timer finished ***'"/>
    </transition>

    <transition event="TimeUp">
      <log expr="'*** TimeUp started***'"/>
      <assign name="state" expr="'report_time'"/>
      <dialogstart src="'Alarm.vxml'"/>
      <log expr="'*** Timeup finished ***'"/>
    </transition>

    <transition state="report_time" event="dialog.exit">
      <exit/>
    </transition>
VoxeoDustin
11/23/2011 5:24 PM (EST)
Hello,

Since the dialogstart is not inside a CONNECTION event type, you will need to specify the connection ID that the dialog should be assoicated with:

<transition event="connection.connected">
  <assign name="connection_id" expr="event$.connectionid"/>
</transition>

<transition state="Timer" event="dialog.exit">
      <assign name="state" expr="'connected'"/>
      <log expr="'*** Timer started***'"/>
      <send name="'TimeUp'" target="session.id" delay="event$.values.timer"/>
      <log expr="'*** Timer finished ***'"/>
    </transition>

    <transition event="TimeUp">
      <log expr="'*** TimeUp started***'"/>
      <assign name="state" expr="'report_time'"/>
      <dialogstart src="'Alarm.vxml'" connectionid="connection_id"/>
      <log expr="'*** Timeup finished ***'"/>
    </transition>

    <transition state="report_time" event="dialog.exit">
      <exit/>
    </transition>

Regards,
Dustin Hayre
Technical Account Lead
Voxeo Corporation

[url=http://www.voxeo.com/prophecy/][img=http://www.voxeo.com/images/try_prophecy_sm.gif]
[b][color=blue]Prophecy 11 now available![/color][/url]
[url=http://docs.voxeo.com/prophecy/11.0/home.htm/]Documentation[/url][/b]

lz231
11/25/2011 1:40 PM (EST)
Thanks, now it works. but I have one more question. now I want to make a timer so when the time is up the system will give alarm to user. I made it by using the code as below. but I also want to do some more interaction with system during these 60 seconds instead of just waiting. How can I do it?
Thanks

<transition state="Timer" event="dialog.exit">
  <send name="'TimeUp'" target="session.id" delay="60s"/>
</transition>
voxeoJeffK
11/25/2011 4:56 PM (EST)
Hello,

Also send another event with no delay. Then have a transtion to catch the event, and perform the desired activity.

<transition state="Timer" event="dialog.exit">
  <send name="'TimeUp'" target="session.id" delay="60s"/>
  <send name="'DoStuff'" target="session.id""/>
</transition>

<transition state="Timer" event="DoStuff">
  <log expr="'*** Doing stuff ***'"/>
</transition>
lz231
11/27/2011 11:29 AM (EST)
Hi, I tried this solution as following way. but there is one problem that if the "Game.vxml" couldn't finish in 60 seconds then all the program will end instead of going to transition "TimeUp".
Thanks

<transition state="Timer" event="dialog.exit">
  <send name="'TimeUp'" target="session.id" delay="60s"/>
  <send name="'DoStuff'" target="session.id""/>
</transition>

<transition event="TimeUp">
  <assign name="state" expr="'final'"/>
  <dialogstart src="'Alarm.vxml'" connectionid="connection_id"/>
</transition>

<transition state="Timer" event="DoStuff">
  <send name="'Game'" target="session.id" targettype="'ccxml'"/>
</transition>

<transition event="Game">
  <assign name="state" expr="'final'"/>
  <dialogstart src="'Game.vxml'" connectionid="connection_id"/>
</transition>
voxeoJeffK
11/29/2011 1:11 PM (EST)
Hello,

Changes would depend on your goal in that situation. What do you want to happen exactly?

Regards,
Jeff Kustermann
Voxeo Corporation
lz231
12/1/2011 3:36 AM (EST)
I am developing a "cooking guide" system which can guide user to cook step by step and the scenario I am following is that in the first step user need to bake something for 30 minutes so user set 30 minutes timer to system and during the waiting time system should guide user to second step or more steps. when the time is up(30 min), system should stop the current instruction to alarm the user and come back to the previous instruction to continue it. and the user also should be able to set multiple timer with specific name. For example user can set timer for egg and also for baking so when the time for egg is up system will alarm user that "the time for egg is up" and when the baking time is up the user should be alarmed "baking time is up". This is the main idea for my previous questions.
thanks.
voxeoJeffK
12/1/2011 5:48 PM (EST)
Hello,

When the timer goes off you will need to stop the current dialog using <dialogterminate>, and then start the Alarm dialog. You cannot have two dialogs playing at the same time.

In the case where your last dialog ends before the timer hits you can simply choose to not exit or play some other dialog to pass the time. CCXML does not exit unless explicitly ended, so you can have the session remain active waiting for the timer. That may be confusing (or boring) for the user though, so playing other dialogs may be better. Alternately, in the case where the timer has a long duration you might instead have the session disconnect and then call the user back when time is ended.

Regards,
Jeff Kustermann
Voxeo Corporation
SSA_Whispir
2/28/2012 8:26 PM (EST)
Hi guys,

Is there a way to specify a timeout figure for the <send>?

Essentially, I want the CCXML app to keep trying to <send> a flag to a web-server until it is successful, even if it takes a several minutes to connect.
SSA_Whispir
3/4/2012 10:26 PM (EST)
It seems the 'fetch timeout' is controlled at the I/O layer and is only settable via the config.xml which means it's not something exposed at the app layer like CCXML.

Can someone tell me what the default value of the 'fetch timeout' is?
MattHenry
3/7/2012 11:27 AM (EST)


Hi there,

The default fetch timeout for <send> is 10 seconds, and this is indeed set at the platform scope. However, based upon the (brief) description of what you are trying to accomplish, you may want to consider using <fetch> instead, as this might well accomplish your stated goal AND allow you to set your own timeout thresholds.

~Matt

login



© 2012 Voxeo Corporation  |  Voxeo IVR  |  VoiceXML & CCXML IVR Developer Site