cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
459
Views
0
Helpful
0
Comments
cdnadmin
Community Member
This document was generated from CDN thread

Created by: Ruzel Jamilon on 01-08-2013 09:01:18 AM
Hello. We want to create a DB element that will accept as input a back up JNDI in case the primary fails. I am planning to code everything in a try-catch clause but since its my first time - I am not sure how this will work out.

That being said, is there a Tomcat level, or a more standard way of doing this? Can I define two DB URL in one JNDI Name? I vaguely remember a system I once worked on it has a back up datasource, but either this was on Spring/JBOSS or I remember wrongly. Nonetheless, I cannot seem to find answers in the net that fits my situation and I need to do this urgently.

Thanks!

*NOte, I posted this yesterday but not able to see in threads so Im reposting. Apologies if any can see double posting.

Subject: Re: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General
Replied by: Vinod Kewate on 01-08-2013 09:15:03 AM
Hi Ruzel,

You can specify JNDI in tomcat on VXML application server.
There is a server.xml file where you can define your JNDI and then its easy to use in java application.



Regards,
Vinod Kewate

From: Cisco Developer Community Forums [mailto:[email protected]]
Sent: Thursday, August 01, 2013 07:31 PM
To: [email protected] <[email protected]>
Subject: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General Discussion - All Versions: Two Datasource for one DB Element

Ruzel Jamilon has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Hello. We want to create a DB element that will accept as input a back up JNDI in case the primary fails. I am planning to code everything in a try-catch clause but since its my first time - I am not sure how this will work out.

That being said, is there a Tomcat level, or a more standard way of doing this? Can I define two DB URL in one JNDI Name? I vaguely remember a system I once worked on it has a back up datasource, but either this was on Spring/JBOSS or I remember wrongly. Nonetheless, I cannot seem to find answers in the net that fits my situation and I need to do this urgently.

Thanks!

*NOte, I posted this yesterday but not able to see in threads so Im reposting. Apologies if any can see double posting.
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/17849782 or simply reply to this email.

Subject: RE: Re: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - Gen
Replied by: Ruzel Jamilon on 01-08-2013 09:23:11 AM
Thank you Vinod. That was what I did. We created two JNDI entry in the xml and then created a DB element that accepts two JNDI name. The element will try to getConnection from first JNDI and if connection is null, it will call the getDataSource method again, and then try connecting to the new datasource. Code goes like this:
                 
                   DataSource ds = getDataSource(jndiName);
   Connection conn = null;
  
   try{
   conn = ds.getConnection();
   
   if (conn == null) {

    actionData.addToLog("Primary DB Connection Fail", jndiName);
    actionData.addToLog("Will try alternate DB", jndiNameBkup);
    DataSource ds = getDataSource(jndiNameBkup);
    conn = ds.getConnection();
   
    if (conn == null){
     actionData.addToLog("Alternate DB fail", jndiNameBkup);
     throw new AudiumException("Unable to acquire free connection from pool.");
    }else{
     actionData.addToLog("Connected to DB", jndiNameBkup);
    }
   }else{
    actionData.addToLog("Connected to DB", jndiName);
   }

I am currently waiting for our non prod environment to be ready for my testing so I am  not sure how this will work out. Any ideas?

Also, are there any other way (more standard way) that we can implement this? We have a lot of IVRs in prod that are using the standard DB Element, and the business prefers to leave it that way and edit the JNDI - connection back up in Tomcat/server level or any methods that wont entail revision of standard DB element or revision of all the IVRS to use the custom DB Element.

Thank you again!

Subject: RE: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General
Replied by: Gerard O'Rourke on 02-08-2013 03:51:08 AM
Vinod,

We are not all java developers, so adding a custom db element is easier for some than others.
I don't understand why Cisco have not enchanced the standard database element with connection timeout value.
For failed connections or connection errors it woudl exit out a failure node, where you decide to use a second db element with a differnet jndi value.
The current standard db element is not great for a production application. You always need to be able to handle error.

Gerry

Subject: RE: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General
Replied by: Vinod Kewate on 02-08-2013 02:41:54 AM
Personally I would  write to my own custom element instead of using standard DB Element.

With Custom Element you gets lot of flexibility and can easily add feature as per requirement.

The number of IVR server shouldn’t be a problem.


Thanks,
.............................................................................................................
Vinod Kewate
Network Engineer
ITS-Contact Center
[http://www.goodlogo.com/images/logos/small/thomson_reuters_logo_2762.gif] Thomson Reuters
Phone: +91 80 67492739
Mobile: +91 9686579604
[email protected]<mailto:[email protected]>
www.thomsonreuters.com<http://www.thomsonreuters.com>
Hours: 01:30am - 10:30am CST

From: Cisco Developer Community Forums [mailto:[email protected]]
Sent: Thursday, August 01, 2013 7:53 PM
To: [email protected]
Subject: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General Discussion - All Versions: RE: Re: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - Gen

Ruzel Jamilon has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Thank you Vinod. That was what I did. We created two JNDI entry in the xml and then created a DB element that accepts two JNDI name. The element will try to getConnection from first JNDI and if connection is null, it will call the getDataSource method again, and then try connecting to the new datasource. Code goes like this:

DataSource ds = getDataSource(jndiName);
Connection conn = null;

try{
conn = ds.getConnection();

if (conn == null) {

actionData.addToLog("Primary DB Connection Fail", jndiName);
actionData.addToLog("Will try alternate DB", jndiNameBkup);
DataSource ds = getDataSource(jndiNameBkup);
conn = ds.getConnection();

if (conn == null){
actionData.addToLog("Alternate DB fail", jndiNameBkup);
throw new AudiumException("Unable to acquire free connection from pool.");
}else{
actionData.addToLog("Connected to DB", jndiNameBkup);
}
}else{
actionData.addToLog("Connected to DB", jndiName);
}

I am currently waiting for our non prod environment to be ready for my testing so I am not sure how this will work out. Any ideas?

Also, are there any other way (more standard way) that we can implement this? We have a lot of IVRs in prod that are using the standard DB Element, and the business prefers to leave it that way and edit the JNDI - connection back up in Tomcat/server level or any methods that wont entail revision of standard DB element or revision of all the IVRS to use the custom DB Element.

Thank you again!
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/17852220 or simply reply to this email.

Subject: RE: New Message from Vinod Kewate in Customer Voice Portal (CVP) - General
Replied by: Hemal Mehta on 02-08-2013 07:58:54 AM
I  second that. I always use my own custom element. No dependencies on Cisco element., Its easier to use manage and add any new features.
Hemal

From: Cisco Developer Community Forums [mailto:[email protected]]
Sent: Friday, August 02, 2013 2:42 AM
To: [email protected]
Subject: New Message from Vinod Kewate in Customer Voice Portal (CVP) - General Discussion - All Versions: RE: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General

Vinod Kewate has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Personally I would write to my own custom element instead of using standard DB Element.

With Custom Element you gets lot of flexibility and can easily add feature as per requirement.

The number of IVR server shouldn’t be a problem.


Thanks,
.............................................................................................................
Vinod Kewate
Network Engineer
ITS-Contact Center
[http://www.goodlogo.com/images/logos/small/thomson_reuters_logo_2762.gif] Thomson Reuters
Phone: +91 80 67492739
Mobile: +91 9686579604
[email protected]<mailto:[email protected]<mailto:[email protected]%3cmailto:[email protected]>>
www.thomsonreuters.com<http://www.thomsonreuters.com<http://www.thomsonreuters.com%3chttp:/www.thomsonreuters.com>>
Hours: 01:30am - 10:30am CST

From: Cisco Developer Community Forums [mailto:[email protected]]
Sent: Thursday, August 01, 2013 7:53 PM
To: [email protected]<mailto:[email protected]>
Subject: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General Discussion - All Versions: RE: Re: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - Gen

Ruzel Jamilon has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Thank you Vinod. That was what I did. We created two JNDI entry in the xml and then created a DB element that accepts two JNDI name. The element will try to getConnection from first JNDI and if connection is null, it will call the getDataSource method again, and then try connecting to the new datasource. Code goes like this:

DataSource ds = getDataSource(jndiName);
Connection conn = null;

try{
conn = ds.getConnection();

if (conn == null) {

actionData.addToLog("Primary DB Connection Fail", jndiName);
actionData.addToLog("Will try alternate DB", jndiNameBkup);
DataSource ds = getDataSource(jndiNameBkup);
conn = ds.getConnection();

if (conn == null){
actionData.addToLog("Alternate DB fail", jndiNameBkup);
throw new AudiumException("Unable to acquire free connection from pool.");
}else{
actionData.addToLog("Connected to DB", jndiNameBkup);
}
}else{
actionData.addToLog("Connected to DB", jndiName);
}

I am currently waiting for our non prod environment to be ready for my testing so I am not sure how this will work out. Any ideas?

Also, are there any other way (more standard way) that we can implement this? We have a lot of IVRs in prod that are using the standard DB Element, and the business prefers to leave it that way and edit the JNDI - connection back up in Tomcat/server level or any methods that wont entail revision of standard DB element or revision of all the IVRS to use the custom DB Element.

Thank you again!
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/17852220 or simply reply to this email.
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/17902440 or simply reply to this email.

Subject: RE: New Message from Gerard O'Rourke in Customer Voice Portal (CVP) - Gener
Replied by: Hemal Mehta on 02-08-2013 08:01:54 AM
That is correct. It does not handle all scenarios.
Hemal

From: Cisco Developer Community Forums [mailto:[email protected]]
Sent: Friday, August 02, 2013 3:51 AM
To: [email protected]
Subject: New Message from Gerard O'Rourke in Customer Voice Portal (CVP) - General Discussion - All Versions: RE: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General

Gerard O'Rourke has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Vinod,

We are not all java developers, so adding a custom db element is easier for some than others.
I don't understand why Cisco have not enchanced the standard database element with connection timeout value.
For failed connections or connection errors it woudl exit out a failure node, where you decide to use a second db element with a differnet jndi value.
The current standard db element is not great for a production application. You always need to be able to handle error.

Gerry
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/17901619 or simply reply to this email.

Subject: RE: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General
Replied by: Gerard O'Rourke on 02-08-2013 08:40:59 AM
Paul,

Absolutely! That would be fantastic.

In my view what is needed for an enchanced DB lookup is:

It should be a Decision element
It should have a setting for connection timeout (current takes 15-16 seconds to fail if the server is unreachable), i.e. which you could set to 4 seconds etc.
Shoudl have a success output
Should have an error output.
Reason for error should be logged in the activity log (e.g. failed to connect (TCP timeout), incorrect username / password etc., incorrect rights or whatever the error was)

In the long run, it could be added as part of the solution as a supported element.

Regards,
Gerry

Subject: RE: New Message from Ruzel Jamilon in Customer Voice Portal (CVP) - General
Replied by: Paul Tindall on 02-08-2013 08:25:40 AM
Gerry,

Not 100% perfect solution I&#039;m sure but what if we published an enhanced DB element for download from CDN based on additional requirements input from the community?  Would you and others use it given the CDN downloads terms of use &#047; lack of official support?

I&#039;m aware the main deficiency is in the error handling, are there any other requirements?

Paul

Subject: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - General
Replied by: Janine Graves on 02-08-2013 09:31:54 AM
Hi Paul, I request that Cisco document the way to execute Stored Procedures (for MS Sql and Oracle) with its DB element? Comes up in every class I teach. Also - security is the HUGEST concern of customers in class. If Cisco could publish an FTP element that allows Secure FTP, Web Services element that supports HTTPS and Certificates, and some sort of DB element that encrypts the user/password that would win over a lot of hearts and minds. 🙂 -- Janine Graves

Subject: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - General
Replied by: Janine Graves on 02-08-2013 10:07:54 AM
Hi Paul,

Under the category of 'no good deed ever goes unpunished' here are some
enhancement requests, since you asked....

I've submitted this list before, but in my 6 years working with Studio,
not a lot has changed. I'm ever hopeful that Cisco is going to make
Studio world-class 'out of the box'. (It's already world-class if you
know Java, but not so much 'out of the box').

1. DB element create Element data with the number of records updated
when using the UPDATE function. Now it appears in the log, but not isn't
available in the app.
2. DB element create Element data with the SQL Error code returned from
the DB if there's a SQL Exception, and another with the SQL message -
similar to what the FTP Element has.
3. DB element - make it a Decision (done or failure paths)
4. DB element - configurable timeout and Optional Field for 2nd JNDI
name in case the first one fails.
5. Create elements to work with the output of the DB element's 'Multiple'

6.. ReqIcmLabel element - include a DNIS field - so it can execute
whatever ICM script we want. This is a FABULOUS element and more people
would use it to query ICM if they didn't have to fudge the _dnis passed
from ICM (and if they knew how great it is!). AND make it 'callable'
from with the CVP Java - so on an EndOfCall, an app could call it to
send lots of good data (for setting call types) to an ICM script!

7. As mentioned in previous email, Secure FTP, Secure Web Services,
secure Email (if that's possible).

8. The VXML Gateway should pass back the name of the missing audio URI
when returning the error.badfetch.http and then VXML Server should log that.

9. Include the SBString Function Element in Studio (string length,
string replace, substrings, etc)

10. Right now if Studio app tries to invoke another app that doesn't
exist, the VXML Server license isn't released! This has been occurring
since this functionality was first introduced.

11. Create a VXML Property or a Checkbox in the Studio voice elements to
force the gateway to clear the DTMF buffer.

12. Create a VXML Property or a Checkbox in the Studio Audio element to
force the gateway to play the Audio to completion before returning back
immediately to VxmlServer.

13. Create a Voice Browser command to Set one Audio URI Stale (instead
of having to set everything stale when you've updated just one audio item).
Better yet, include this functionality in the Operations Console - so an
administrator can manage the Cache easily.

14. When using the Operations Console to deploy Studio apps to
VxmlServers, the 'Success' status doesn't actually reflect whether the
VXML Server deployApp.bat or updateApp.bat was Successful, only whether
the script was run. It might be better to have two fields - executed the
transfer and then the 'success' or 'failure' of the updateApp.bat script.

15. Decision Element - include 'IgnoreCase' to the contains, equals, not
equals.

16. Include a DateValidation decision element. The settings could be a
date collected from the caller to validate, and the format of the date.
Then have 'valid' or 'invalid' paths.

17. Include new Studio element to Read a Properties file of Name=Value
pairs, Read an XML File

18 Include a new element to Write to a flat file.

19. Create a Counter element that works with Session data, instead of
Element data - so that it can be Re-set and also Incremented elsewhere
in the app.

20. Add a Local Hotevent handler to each Voice element.

21. With VoiceXML Properties - make a drop-down list of them to select
from in Studio voice elements and Root Document. Same with HotEvents.

Subject: RE: New Message from Vinod Kewate in Customer Voice Portal (CVP) - General
Replied by: Ruzel Jamilon on 02-08-2013 09:19:36 AM
@Vinod, I would write my custom DB element too (And I have had) but we have about a collection of more than 50 IVRS since our IVR are locations based (next project is to make a MAIN IVR independent of where the call came from) and the business wouldnt want us to edit each of those IVR to replace the DB Elements that we have custom made because they do not have the resource to do QA.

@Gerard, I agree with you. The current DB element is not goof for PROD. It does not exit gracefully, nor prints out any logging and I found out that its because it actually has an empth "catch" clause which would catch if any SQLException is thrown and then do nothing. I have made a custom DB element that returns errorFlag, prints the Exception details and lets the flow handle the error gracefully.

/*     */     catch (SQLException e)
/*     */     {
/* 247 */       actionData.addToLog("SQL Exception encountered: ", e.getMessage());
/* 248 */       actionData.addToLog("errorFlag", "1");
/*     */  actionData.setElementData("errorFlag", "1")
/*     */  return
/*     */     }

That is just empty in the standard DB Element.

I have also edited the connection to have a failover - but as I am not a java expert, I am still figuring out if there is a better way to implement failover DB. Our Custom DB element accept two JNDI name

DataSource ds = getDataSource(jndiName);
Connection conn = null;

   try{
   conn = ds.getConnection();
   
   if (conn == null) {
   
    close(conn); //close connectio
    actionData.addToLog("Primary DB fail.Succesfully closed primary connection", jndiName);
    actionData.addToLog("Getting failover connection", jndiNameBkup);
   
    ds = getDataSource(jndiNameBkup); //getting datasource for failover and trying to get connection
    conn = ds.getConnection();
   
    if (conn == null){
     actionData.addToLog("Failover DB failed to connect", jndiNameBkup);
     throw new AudiumException("Unable to acquire free connection from pool.");
    }else{
     actionData.addToLog("Connected to failover DB", jndiNameBkup);
    }
   }else{
    actionData.addToLog("Connected to DB", jndiName);
   }
  
If you wanted to give it a connection timeout, you can specify a number in some setting file and then put a timer in the code but we havent done that because we are using MSSQL JDB which has a property loginTimeout and then we can set from there. We havent tested this part though as I am still waiting to get my hands on non prod.

Also, if any other are having the same problem that I am with failovers - I found that MSSQL JDBC actually supports failover right in the URL string:
You URL should be jdbc:sqlserver://PRIMARYDB\SQLB;databaseName=db_space;portNumber=5555;failoverPartner=BACKUPSQLA\SQLA;loginTImeout=5;
Please note that
1. you should have the DB Mirroring turned on - which we cant due to some reasons beyond my understanding.
2. Use and instance name after the DB name, in my example is SQLA and SQLB. Now this is not clear to me where this instance name came from but a lot of tutorials and forum uses it and I actually read in one forum that hte microsoft support told them to do that.

@Paul - THAT WOULD BE VERY MUCH APPRECIATED!!!

Subject: RE: Two Datasource for one DB Element
Replied by: Jameson Gagnepain on 02-08-2013 09:56:07 AM
Paul,

I second Gerry's sentiment on a CDN downloadable Database element. Configurable timeouts with a Success and Fail path would be fantastic! I'm sure there's potential there also to provide either different paths based on the error type, or putting error information in element data.

-Jameson

Subject: RE: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - Gene
Replied by: Jameson Gagnepain on 02-08-2013 10:24:25 AM
Janine Graves:
4. DB element - configurable timeout and Optional Field for 2nd JNDI
name in case the first one fails.
Janine, I think perhaps just the configurable timeout and making the DB a Decision element would be adequate for secondary (trinary, etc.) DB connections. What if both your JNDI connections are bad, for different reasons? If a single DB element is handling them, it would need twice as many element data variables for holding the error codes.

Subject: RE: Two Datasource for one DB Element
Replied by: Bill Webb on 02-08-2013 10:52:49 AM
Gerry, you should deploy to a ZIP archive with Studio, then use CVP Ops Console to deploy the applications. Aside from the limitation mentioned in Janine's list ("Success" does not validate whether app actually loaded and ran successfully or not), this accomplishes what you want - you can deploy to nearly any number of VXML Servers at once.

 - Bill

Subject: RE: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - Gene
Replied by: Paul Tindall on 02-08-2013 10:21:53 AM
I'm not sure it was quite such a good deed that it deserved so much punishment.  Although I can't promise anything regarding what actually gets in the box, I will do what I can to publish some relevant items on CDN as an initial step.

Paul

Subject: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - General
Replied by: Janine Graves on 02-08-2013 10:26:54 AM
🙂

Subject: RE: Two Datasource for one DB Element
Replied by: Gerard O'Rourke on 02-08-2013 10:47:22 AM
I agree Jameson.
add secondary / backup database to the db element is not necessary or unnecssary complexity. Using failure node and going to a new db element you can set a backup database if required.

While we are in the mood for new features, (so adding to excellant Janine's list), could we have CVP Studio be able to upload the application to multiple VXML servers at the same time, i.e. instead of just to a single VXML server?

With PCCE you have 4 CVP VXML server, and you have to indivually deploy the app 4 times. Instead of been able to create a VXML Server group and upload to the 4 servers in one go. (I use a batch file to do a update on all CVP VXML servers in one go, so no need to log onto the server themselves)

Gerry

Subject: RE: Two Datasource for one DB Element
Replied by: Gerard O'Rourke on 02-08-2013 10:54:57 AM
Thanks Bill. Will give that a go. Learn something new everyday!

Gerry

Subject: RE: New Message from Janine Graves in Customer Voice Portal (CVP) - General
Replied by: Hemal Mehta on 02-08-2013 10:58:54 AM
Also lot of changes happening in the DB world.  What about support for Hadoop ?  Please remember that lot of things are also changing in Java and server world.  When is support for Java 7 coming ?
Some of the current way of doing things could go out of existence the coming years.  Lots of new changes in Java 8.  Some of the things may significantly change the way software is written.  Any ides when voice xml 3.0 specs will be adopted.
Hemal

From: Cisco Developer Community Forums [mailto:[email protected]]
Sent: Friday, August 02, 2013 10:08 AM
To: [email protected]
Subject: New Message from Janine Graves in Customer Voice Portal (CVP) - General Discussion - All Versions: Re: New Message from Paul Tindall in Customer Voice Portal (CVP) - General

Janine Graves has created a new message in the forum "General Discussion - All Versions": -------------------------------------------------------------- Hi Paul,

Under the category of 'no good deed ever goes unpunished' here are some
enhancement requests, since you asked....

I've submitted this list before, but in my 6 years working with Studio,
not a lot has changed. I'm ever hopeful that Cisco is going to make
Studio world-class 'out of the box'. (It's already world-class if you
know Java, but not so much 'out of the box').

1. DB element create Element data with the number of records updated
when using the UPDATE function. Now it appears in the log, but not isn't
available in the app.
2. DB element create Element data with the SQL Error code returned from
the DB if there's a SQL Exception, and another with the SQL message -
similar to what the FTP Element has.
3. DB element - make it a Decision (done or failure paths)
4. DB element - configurable timeout and Optional Field for 2nd JNDI
name in case the first one fails.
5. Create elements to work with the output of the DB element's 'Multiple'

6.. ReqIcmLabel element - include a DNIS field - so it can execute
whatever ICM script we want. This is a FABULOUS element and more people
would use it to query ICM if they didn't have to fudge the _dnis passed
from ICM (and if they knew how great it is!). AND make it 'callable'
from with the CVP Java - so on an EndOfCall, an app could call it to
send lots of good data (for setting call types) to an ICM script!

7. As mentioned in previous email, Secure FTP, Secure Web Services,
secure Email (if that's possible).

8. The VXML Gateway should pass back the name of the missing audio URI
when returning the error.badfetch.http and then VXML Server should log that.

9. Include the SBString Function Element in Studio (string length,
string replace, substrings, etc)

10. Right now if Studio app tries to invoke another app that doesn't
exist, the VXML Server license isn't released! This has been occurring
since this functionality was first introduced.

11. Create a VXML Property or a Checkbox in the Studio voice elements to
force the gateway to clear the DTMF buffer.

12. Create a VXML Property or a Checkbox in the Studio Audio element to
force the gateway to play the Audio to completion before returning back
immediately to VxmlServer.

13. Create a Voice Browser command to Set one Audio URI Stale (instead
of having to set everything stale when you've updated just one audio item).
Better yet, include this functionality in the Operations Console - so an
administrator can manage the Cache easily.

14. When using the Operations Console to deploy Studio apps to
VxmlServers, the 'Success' status doesn't actually reflect whether the
VXML Server deployApp.bat or updateApp.bat was Successful, only whether
the script was run. It might be better to have two fields - executed the
transfer and then the 'success' or 'failure' of the updateApp.bat script.

15. Decision Element - include 'IgnoreCase' to the contains, equals, not
equals.

16. Include a DateValidation decision element. The settings could be a
date collected from the caller to validate, and the format of the date.
Then have 'valid' or 'invalid' paths.

17. Include new Studio element to Read a Properties file of Name=Value
pairs, Read an XML File

18 Include a new element to Write to a flat file.

19. Create a Counter element that works with Session data, instead of
Element data - so that it can be Re-set and also Incremented elsewhere
in the app.

20. Add a Local Hotevent handler to each Voice element.

21. With VoiceXML Properties - make a drop-down list of them to select
from in Studio voice elements and Root Document. Same with HotEvents.
--
To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/17911837 or simply reply to this email.
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links