[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