[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vtp-dev] some OpenVXML questions
- From: Randy Childers <randy@xxxxxxxxxxxxxxx>
- Date: Wed, 4 Apr 2012 12:55:48 -0500
- Accept-language: en-US
- Acceptlanguage: en-US
- Delivered-to: firstname.lastname@example.org
- Thread-index: Ac0SjCtUjegP93u0SPuTInZ/BnDwlA==
- Thread-topic: [vtp-dev] some OpenVXML questions
- User-agent: Microsoft-MacOutlook/220.127.116.11121
Lucas, I apologize for the delay in answering this. Things have been a
little busy around here, but I wanted to make sure your questions were
1. Does OpenVXML Designer produce VoiceXML 2.1 compliant output?
Yes. Most of the VXML is actually 2.0, but as 2.1 is an extension of 2.0,
this works fine. Much attention is paid here to creating
2. How are Time-of-Day, Day-of-Week, and holiday dependencies handled?
I'm not quite sure what you mean by this, but I'll assume this is an
hours-of-operation question. Generally clients set up an webservice or db
query which hit when the caller enters the callflows; based on the results
of this query, the caller either proceeds onto the callflow or is played
the appropriate we-can't-help-you-right-now message.
3. I see the barge-in, is there support for type-ahead?
By type-ahead, I assume you're talking about DTMF barging. This just a
flag presented to the voice browser in the underlying VXML, so as long as
the voice browser supports DTMF barging, OpenVXML does as well.
4. Are there any call flow debugging features? i.e. tracing
Not yet, although there are longer-term plans for this feature.
Currently, debugging is primarily handled through the log files. Most
internal state information is written to the log, and arbitrary logging
statements can be dropped into any script block. There is another
mechanism that opens up a hidden web page which lets you monitor (and
change) variable state in realtime, which can be really useful for
troubleshooting complex applications.
5. Can we expand the OpenVXML Designer plug-in? what are the
extension points? For example we would like to add more atomic call flow
elements to the voice palette
Yes, you're welcome to. Since the project is open source, all of the
existing voice palette entries are accessible as examples of how to do
this. All of the existing modules are defined in the
projects, so that would be the best place to get started. In the interest
of expediting things, this is one of the types of work we're happy to
offer professional services around.
6. How is logging done? We need to store data for debugging,
application alarms, etc. Would I use the script object and use VXML <log>
There are two levels of logging. As mentioned above in the
troubleshooting question, there is a basic log provided by the servlet
container which records a linear narrative of all calls in the system as
the events occur. It's easy to embed custom logging statements in script
blocks for purposes of troubleshooting. However, this is not an
appropriate mechanism for alarms and data used for reporting; for this,
there is an internal reporting system which announces all state changes
throughout the system. What you'll want to do is to write a listener for
this, which catches the event, filters if necessary, and then writes the
event to a handy database, SNMP, or whatever it is you want to use.
7. How can I reference VXML session and root document variables?
In short, you don't -- the variable system within OpenVXML is robust
enough that accessing the VXML-level variables isn't necessary. Part of
the idea here is that OpenVXML is a higher-level system that uses VXML as
it's underpinning, but the developer is rarely exposed to the details of
the VXML. Variables created in the Begin, Variables Assignment, Input and
Record blocks exist within the callflow from that point on, following the
scope of the connectors. For more information about how variable scoping
is handled, see the "Variable Propagation" section in the User's Guide.
8. How can I access call session info such as ANI, UUI, etc?
Some of these values are natively available in the callflows, such as the
ANI and DNIS -- these are loaded into variables called Platform.ANI and
Platform.DNIS, respectively. Other values can be injected into the
callflow in a couple of ways. One is to pass the KVP in via the
application URL as a URL parameter. These parameters are available in the
application in a variable map named InitialParameters. If this isn't an
appropriate vehicle for your variable, another option is to load the
little custom coding on OpenVXML's side, the variable will be collected
and then loaded into a local callflow variable. This approach is a bit
more involved, but we can provide assistance if needed.
On 4/3/12 11:45 AM, "ZISIS, LUCAS" <lz8540@xxxxxxx> wrote:
>New to the VTP project and OpenVXML Designer but enjoying it. I've
>started to develop a sample call flow and I have a few questions:
>1. Does OpenVXML Designer produce VoiceXML 2.1 compliant output?
>2. How are Time-of-Day, Day-of-Week, and holiday dependencies
>3. I see the barge-in, is there support for type-ahead?
>4. Are there any call flow debugging features? i.e. tracing
>5. Can we expand the OpenVXML Designer plug-in? what are the
>extension points? For example we would like to add more atomic call flow
>elements to the voice palette
>6. How is logging done? We need to store data for debugging,
>application alarms, etc. Would I use the script object and use VXML <log>
>7. How can I reference VXML session and root document variables?
>8. How can I access call session info such as ANI, UUI, etc?
>Any information would be appreciated.
>vtp-dev mailing list