| VoiceXML 2.1 Development Guide | Home | Frameset Home |
| content | Data Type: CDATA | Default: Required |
| The content attribute specifies the value of the metadata property. | ||
| http-equiv | Data Type: NMTOKEN | Default: Optional |
| The http-equiv attribute specifies the name of the HTTP response header that should be honored for a specified VoiceXML document. Note that this will not affect the caching of vxml documents on the Voxeo platform; caching should be controlled at the server level, as detailed in the caching tutorial. | ||
| name | Data Type: NMTOKEN | Default: Optional |
The name attribute specifies the name of the meta-data property. The Prophecy browser allows us some serious error handling notification with the following values:
| ||
| <?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1"> <meta name="maintainer" content="YOUR_EMAIL@HERE.COM"> <meta name="author" content="Matthew Henry"/> <meta name="copyright" content="2005 Voxeo Corporation"/> <meta name="generator" content="Notepad, babycakes...anything else is for sissies"/> <form> <block> <prompt> A wink is as good as a nudge to a blind fox. </prompt> </block> </form> </vxml> |
| ANNOTATIONS: EXISTING POSTS |
Magician
|
|
| I'm double checking all my magic tricks: Is the additional information included in the following header necessary?
<?xml version="1.0"?> <vxml version="2.1" xmlns:voxeo="http://community.voxeo.com/xmlns/vxml"> I'm not sure where on your site I picked up the additional namespace information. Thanks, Magician |
|
voxeojeff
|
|
| Hello Magician,
While the usage of the 'xmlns' attribute isn't as "important" as say, maintaining the illusion of the ol' sawing a person in half trick, I will say your application should work fine without it, depending on what you're attempting to do. For example, if you try to use <voxeo:recordcall> without specifying the xml namespace, it will not work correctly. It's always good practice to include the namespace, to assure that your application functions properly. Hope this helps! Cheers, Jeff Menkel Voxeo Corporation |
|
kave
|
|
| hi voxeo's support!!!!
this is an example and i got a question about the following code: <?xml version="1.0" encoding="UTF-8"?> <vxml version = "2.1" > <meta http-equiv="refresh" content ="5;url=example.xml"> <form> <block> <prompt> kave is online </prompt> </block> </form> </vxml> As you can see, i want to use the meta element to refresh this "phone page" , the idea is to prompt this block automatically every 5 seconds, i did this using prophecy but it didn't work :(, my main idea is to try to send a (vxml + JSP) to the user every 5 seconds beacuse i'm doing a game by phone, i want that this page sends dinamic data to user so i want to send this data but i don't have to expect any event that the user can say or do, ( i mean a word input by grammar or a dtmf input) i want to refresh this data to the user, is that possible?? please help me out because i really need this operation for my game. best regards, and have a nice day thanks in avance kave |
|
jbassett
|
|
| Hello,
I would say your best bet would be to create a JSP file that has your your named form (example: Form id="main"). Use to <goto> element to repeat the same form. <goto next="#main"/> You can see examples here. http://docs.voxeo.com/voicexml/2.0/goto.htm You would obviously need some type of constantly changing backend data that would populate whatever you into the form. Something that would look like this. <prompt> Kave is <%=status%> </prompt> You would probably need to use the <clear> tag to reset the variable to undefined each time. Examples here. http://docs.voxeo.com/voicexml/2.0/clear.htm If this whole idea requires you to use a <field>, you can always use a junk grammar that times out immediately. This would make it to where the user would have 0 chance to say something. <form id="main"> <field name="mainfield"> <property name="timeout" value=".5s"/> <grammar>[dcjhvbdhldhv]</grammar> <prompt> Kave is <%=status%> </prompt> I hope this helps get an idea of what you would have to do to get something like this to work. Good luck and feel free to ask further questions. Thanks, Jesse Bassett Voxeo Support |
|
kave
|
|
| Hi Jesse!!
you have been very helpfull to me!!! thanks a lot i've got another question about resfreshing data for the user, i'll try to explain shortly what i'm doing exactly. I'm doing a Bingo by phone for maximum three users, i did it with JSP pages and know and trying to do it by phone with vxml :). The three users have to be connected at the same time before playing the game, we suposse that a user calls, then the first thing he/she does is to say his/her verification number , if this is valid ( k sets to 1, k = number of users ), then he/she goes to another JSP that parses this variable "k" and also in this page the user waits , this variable (k) is parsed just for being sure if the three users are online, as k=1 in this case, the first user waits for the others two users in this page that constantly is being refreshed by parsing "k" just for being sure if k is equal to 3, else the user still waits on the same page ((( if k=3, the three users go to a page that say to them the bingo balls,))))... for refreshing these variable servers like "k" i have used the meta element like the http-equiv="refresh" on JSP pages , because users must be three before saying to them the bingo balls (it's like when you go to play bingo, when you play you don't ask for the next ball, also in this case, you don't have to ask if the two ones are online for playing :), that's why i asked before how to refresh the data servers like "k" on the client side automatically , because i have to refresh every five seconds the next ball, do you see? ), now i have to resfresh the data like you adviced me, but i also want to know if i create a "phone wait page" with elements like you gave me, woud i have problems with the user call for waiting or looping him on the same page?, i mean, this page would not have any grammar input events or dmtf imput events, it would be like just scriptlets and vxml looping elements like goto, if, else , etc, this is a quite complicated because generally when you do a phone application, it exists a call flow controlled by the user, in this case, i have to control events like bingo balls and users' waiting automatically, not expecting inputs, would i have some troubles if i'll do like i told you? thanks in avance , thanks a lot kave |
|
mikethompson
|
|
| Hi Kave,
It sounds like what you would like to do is place users in a hold state while the other players are taking their turns at Bingo. If this is what you're trying to accomplish, you're really going to want to use a platform with more advanced call control features (such as CCXML). CCXML uses multi-party conferencing which allows multiple users to jump in and out of a conference. This sounds exactly like what you will need. For example, the three users join a conference which then plays the prompts to the users. Then, you could easily setup your round robin rotation to pull the players out of the conference to collect their numbers for the game. When complete, you can push them back into the conference which could simply loop hold music until it is their turn again. I should warn you, this is by no means a simple project. It's going to require extensive thought and troubleshooting to get the call flowing the way you want to, but it will be a very powerful application once complete (as you can use the multi-party conference template for other applications). Here are some links I suggest you check out before getting started: CCXML Voxeo: http://docs.voxeo.com/ccxml/1.0/ Learning CCXML: http://docs.voxeo.com/ccxml/1.0/tutorialhome.htm Multi-party conferencing: http://docs.voxeo.com/ccxml/1.0/t_8ccxml.htm Hope this helps, Mike Thompson Voxeo Corporation |
|
kave
|
|
| hi mike, you were so right "...place users in a hold state while the other players are taking their turns at Bingo....", it's exactly that i want to do, CCXML sounds very interesting and helpful, now, i'm deciding if i would use it instead VXML, because i only have one month to develop this game :(, but before getting started on CCXML, i got some question like .. can i embbed CCXML code like VXML code on JSP pages? beacuse i have to do a process like a bingo card verification for every user before sending to them into the multi-party conferencing (it's just for being sure that the user is valid) , also, i don't want that users speak between them, like a normal conference, i just want that they shut up and listen the bingo balls, obviusly i want to expect a word like "bingo!!! using callerid for catching this event and put the others users on wait (with some cool music) while a JSP is processing the bingo verification about if the user who said "bingo" would probably win and finish the game else push him back into the conference to keep going the game, another thing is ... i didn't see the prompt tag on CCXML?... CCXML tags and VXML tags are diffents or VXML tags works on CCXML tech?.... and also i have learned VXML, would i only use CCXML tech for that or the VXML and CCXML together?
Sorry for having a lot of questions and my low-skill levels about CCXML, i just want to be sure of this, beacuse doing a powerful application like palying bingo is difficult beacuse i would have to control the call flow for every user. thanks in avance and have a nice day kave |
|
MattHenry
|
|
|
Hi there Kave, See answers below: Q: can i embbed CCXML code like VXML code on JSP pages? A: Sure you can! Remember, it's all just static XML, right? Two legs, and belt loops = a pair of pants; never mind the color. =:-D Q: i don't want that users speak between them, like a normal conference, i just want that they shut up and listen the bingo balls, obviusly i want to expect a word like "bingo!!! A: This is certainly do-able. Check the CCXML docs for information on half-duplex, and full-duplex conferencing. Q: i didn't see the prompt tag on CCXML?... CCXML tags and VXML tags are diffents or VXML tags works on CCXML tech?.... A: CCXML is typically used as a front end for VXML dialogs, but it can be used standalone. If you want to render TTS output using a CCXML-only methodology, then you can use the dialog extensions (type="audio/wav"), that we have listed in our CCXML documentation. Q: and also i have learned VXML, would i only use CCXML tech for that or the VXML and CCXML together? A: You aren't restricted to using a CCXML +VXML approach, as CCXML does work as a standalone IVR markup language. But my reccomendation is to leverage the power of both in your app, as you will get much more flexibility that way. Cheers, ~Matthew Henry |
|
kave
|
|
| Hi there
i knoe you don't support server-side language but this problem seems like the VXML doc doesn't refresh the server-side tag <%=b%> when it goes to the block "var_1" again, i'm using prophecy local platform, The below snippet code, only has to prompt the b value that is incremented by b++, but i got a trouble, it works, it goes to the block named "var_1" , but it prompts the same number value "1" and again again, why??????? <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.1"> <%int b=0;%> <form id="test"> <% b++;%> <clear namelist="var_1"/> <block name="var_1"> <prompt bargein="false"> hi everybody, this is a test, b is equal to <break time="1000"/> <%=b%> </prompt> <goto next="#test"/> </block> </form> </vxml> i hope you can help me... beacuse i have to refresh the bingo balls for the users :( and the bingo balls are server-side vars, obviously in this case i use the goto var for refreshing the block and get the new b value that should be 1,2,3..... thanks for all, send some greeting around Best Kave |
|
mikethompson
|
|
| Hi Kave,
The reason your variable is not being incremented when the block is revisited is because you are doing this at the server-side scope. Server-side script is only processed when the document is fetched by our browser. Once it's loaded and parsed, the server-side is done. As such, any server-side logic you do not want to execute until a given form/block is executed, should be done so in a separate document (passing any variables you need across via <submit>). With the above being said, you may find it easier to use some simple ECMA script and increment the variable at the VXML scope. For example: <!-- somewhere at the top of the document--> <var name="MyVar" expr="Number(0);"/> <!-- in whatever scope you choose (<block> <catch> <error> <filled> <help> <if> <noinput> <nomatch> are all valid parents) --> <assign name="MyVar" expr="MyVar + 1"/> This allows you to increment a variable without having to load up fresh server-side script each time. Let me know if you have additional questions... Hope this helps, Mike Thompson Voxeo Corporation |
|
kave
|
|
| Hi again guys!!!
finally after getting dirty with JSP and VXML scripts i could do all the bingoball application :), now i will try these days to join this application by an outbound call to the conference (obviously the users get there (conference) before making this call), if this works, i'll let you know soon :), by now, i would like to ask something that i realised when i was testing my application... maybe it sounds strange but on prophecy local host platform soemetimes my application works fine, i'll explain shortly.... when i start voxeo prophecy and do my first call with the siphone, i works fine but when i call inmediately or again, the application "works" fine, i mean, it prompts everything, BUT!!! ( i know maybe there is a script error on my JSP-VXML docs) prophecy doesn't reconigze anything that i say, obviously the application finalizes normal without any reconigtion but if i hang up and call again, it recognizes all that i say again, i thought that maybe i should clean the vars with the tag clear, but it happens again :(, should i bear in mind something on VXML my scripts for solving this problem? or it is normal... Please send some greetings around and thanks in avance as always :) have a nice day... Best, Kave |
|
mikethompson
|
|
| Hi Kave,
We would really need to see a call example illustrating this issue in order to get a firm grasp on the issue. As such, would you be so kind as to re-create the issue and send the resulting logs over to support? If you have private information in your logs which you do not wish to expose, let us know and we can track this in a private account ticket. Best, Mike Thompson Voxeo Corporation |
|
alexey.timofeev
|
|
| Hello!
Please, could you help me with the next question. Is it possible to use the Ecmascript variable in the parameter content of tag meta (name="maintainer")? The problem is that the email address for sending error notifications should be configurable but not strictly coded in the script. If it is not possible (for a pity I believe in this) what can be the other way to send the error notification on the email address which is passed to the script. The example: <?xml version="1.0"?> <vxml version="2.1" > <var name="mail" expr="session.connection.ccxml.values.mail"/> <meta name="maintainer" content="mail"/> </vxml> --- Thanks in advance. |
|
VoxeoDustin
|
|
| Hey,
Unfortunately, it does not appear this will accept ECMA expressions, however, you can use a bit of server side to handle this and simply pass the 'mail' variable in using the namelist attribute of dialogstart in CCXML. <?php $mail = $_REQUEST['mail']; print('<?xml version="1.0" encoding="UTF-8" ?>'); ?><vxml version="2.1"> <meta name="maintainer" content="<?php echo $mail ?>"/> <form> <block> <prompt>Hello, World.</prompt> </block> </form> </vxml> Cheers, Dustin |
|
ckim
|
|
| How can I get a content-length to specify in meta tag
<meta http-equiv="Content-Length" content="?"/> if the webservice specified in the data tag <data name="S..." src="https://..." namelist="C... A..." method="post"/> throws VoiceException: error.badfetch.https.411 Failed fetch with code: 411 (Length Required) URL: https://... |
|
voxeoJeffK
|
|
| Hello,
Using the meta tag for Content-Length wouldn't help with dynamic call-time data as the Content-Length won't be known until call-time. The data POST should manage this for you already, though. Are you experiencing the error without using the meta tag in that fashion? Regards, Jeff Kustermann Voxeo Support |
| login |