[Voiceglue] passing data from asterisk to vxml - Again
Jonas Arndt
jonas_arndt at comcast.net
Sat Aug 23 19:05:31 EDT 2008
Hi Again,
I found an old post where Doug claimed that:
"The ANI and DNIS are available as client.session.connection.remote.uri
and client.session.connection.local.uri."
That was in
http://www.voiceglue.org/pipermail/voiceglue/2008-March/000140.html
I tried this and ended up with the voice saying
"tts/A_serious_error_has_occured.__Exiting". In the dynlog I could also
see a grotesque caller id
======================================
00:10:45:298 EROR OPEN_VXI jojo-lab callid=[1]
|-1235735664|1|SEVERE|swi:SBjsi|501|SBjsi: ECMAScript engine
exception|errmsg=ReferenceError: client is not
defined|line=1|linetxt=|tokentxt=
======================================
If I understand that correctly the caller id that comes through is like
-1235735664.
Anyhow, changing to session.connection.remote.uri didn't produce the
serious error but a completely insane caller id. Some 7 million...
This is the XML page I am using (a common one on the web)
<?xml version="1.0"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<var name="caller" expr="session.connection.remote.uri"/>
<form id="main">
<block>
<prompt> Your are calling from </prompt>
<prompt><value expr="caller"/>!</prompt>
<prompt>Have a nice day.</prompt>
</block>
</form>
</vxml>
I have also verified in Asterisk that the caller id is indeed totally
sane (1001).
Now, in the VXML 2.0 spec it is clear that the
session.connection.remote.uri should be associated with the remote
device (the caller)
http://www.w3.org/TR/voicexml20/#dml5.1.4
I am stuck at this point. Like mentioned before, this works very well on
the i6Net vxi product.
Any pointers would be highly appreciated.
Thanks,
// Jonas
-------- Original Message --------
Subject: passing data from asterisk to vxml - Again
Date: Fri, 22 Aug 2008 14:01:48 -0600
From: Jonas Arndt <jonas_arndt at comcast.net>
To: voiceglue at voiceglue.org
Hi Guys,
I am bringing up an old question here it seems. The reason is that I am
not sure if anything has been done here or not.
For details see
http://www.voiceglue.org/pipermail/voiceglue/2007-November/000050.html
We are working on a solution where * is interacting with an application
server. Historically we have been using i6Net's VXML engine. The problem
with that guy is licensing, where it tends to get pricey for small
customers. So I have instead turned my head to an Open Source
alternative, VoiceGlue.
Now, after having installed it I tried to direct it to our app server,
just the way I did with i6Net, with the following in the VXML page
index.vxml
<goto
expr="'http://192.168.2.16:8080/phone/Phone?caller='+session.connection.remote.uri"
/>
The problem with this seems to be that it doesn't give the number of the
caller. My question here is if there is another variable I need to pass?
I see from the earlier discussions that Doug was proposing something
like session.connection.asterisk.... Did this get implemented by any
chance? If so, where can I learn more about it? If not, is there any
other way of getting information from Asterisk to the app server and
back again through VXML and VoiceGlue?
Thanks,
// Jonas
>/ Is there any way to pass data from asterisk into the vxml applications?
/
Currently no easy way, but certainly lots of ways it could be made easy.
Typically, external data is fed into a VXML session by imporing it
into a session variable, e.g. "session.connection.asterisk.values",
and then supplying a list of asterisk values to place there that
are then accessed as:
session.connection.asterisk.values.foo
session.connection.asterisk.values.bar
Those values, then, could be included in the arguments presented
to the AGI call from the dialplan.
Comments/feedback on this pseudo-proposal would be appreciated.
>/ Or perhaps some way to POST/GET information to the URL's in
/>/ /etc/voiceglue.conf so that I can dynamically generate the vxml with the
/>/ required data included in vxml variables?
/
Not quite sure I follow this. The <data> tag can be used
to pass data to and from an external HTTP service, but I'm
not sure that's what you're asking here.
Doug Campbell
More information about the Voiceglue
mailing list