Archive for 2011

Don’t miss Voxeo’s Customer Summit!

Wednesday, September 21st, 2011

Don’t miss our annual Voxeo Customer Summit which is scheduled for October 10-12,2011 in the JW Marriott Grande Lake in Orlando.

Get updates on Voxeo products and new features, network with customers, partners and friends of Voxeo and meet the Voxeo team.

Register today!

Looking forward to welcome you there!

VoiceObjects Implementation Analysis

Friday, July 29th, 2011

So, your VoiceObjects project has grown considerable from a humble start, new Modules are added on a daily basis, and you’re getting close to the user acceptance testing or going live date? At this point, you might want to do a few sanity checks on your VoiceObjects implementation, for example to verify consistency and completeness in event handling, tuning, and several settings that have an impact on reporting.

Now, going through your project object, opening and clicking your way through each object is of course a little cumbersome, to say the least. What if you could create simple, nifty call flow implementation reports with concise, easy-to-check lists, by just clicking a button?

“Wait!”, I hear you say, “VoiceObjects generates highly configurable, comprehensive, fully hyperlinked PDF documentation based on your applications. Why not use that?” And the answer is: Yes, please do! That documentation can indeed be customized to a high degree and is a great tool for checking the implementation. However, what I’m after here is much more focused, and will provide documents that provide one simple checklist or table at a time.

The solution that I am presenting here is based on the fact that VoiceObjects projects can be exported to VoiceObjectsXML (which is an XML format), and on XSL transformations (XSLT). All you need is a text editor (to edit XML documents) and a web browser. You’ll find sample code for download down below.

To get started, let’s focus on a simple task:

  • We want to get a sorted list of all Modules in your VoiceObjects application indicating whether the Enable History Tracking option is enabled or disabled (this option defines whether a Module will be part of the Module Sequence and Dominant Path Analysis reports in VoiceObjects Analyzer).
  • The list should have two parts; first a sorted list of names of all Module with History Tracking enabled, then all Modules with that option disabled.
  • The list should come as a simple HTML document that can be printed for documentation purposes, or copied and pasted into the full project documentation that our client is so eagerly waiting for.

The idea is to create an XSL transformation that takes the VoiceObjectsXML export file, parses it, filters out the data we’re interested in, and displays it in HTML. This is the XSL document that will do the trick:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
  <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
  <xsl:template match="/VoiceObjectsXML">
    <html>
      <head>
        <title>VoiceObjects Implementation Report</title>
      </head>
      <body>
        <h2>History Tracking <em>Enabled</em></h2>
        <ul>
          <xsl:for-each select="module[@historyTracking='true']">
            <xsl:sort select="@name"/>
              <li><xsl:value-of select="@name"/></li>
            </xsl:for-each>
        </ul>
        <h2>History Tracking <em>Disabled</em></h2>
        <ul>
          <xsl:for-each select="module[@historyTracking='false']">
            <xsl:sort select="@name" />
            <li><xsl:value-of select="@name"/></li>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

If you have used the XPath query language before, this document will be an open book for you. XSL uses XPath expressions to browse through documents, filter for nodes with certain attributes, do sorting, and much more. What our sample XSL does is

  • locate the root <VoiceObjectsXML> node that every VoiceObjects project export file starts with;
  • generate a HTML header and some headlines;
  • iterate over all Modules in the VoiceObjectsXML document (node name: <module>), first selecting only those with the attribute historyTracking=’true’;
  • within each list, sort by and display the Module name (which is an attribute of the <module> element).

Now, we still need to know how to apply this XSL transformation to an existing project export file. Easy:

  1. Save your XSL transformation file in the same folder as your project export file. Let’s say you stored it under the name myTransformation.xsl.
  2. Now, open your VoiceObjects export file in a text editor, and insert a new line (referencing your xsl stylesheet) right after the first line:
            <?xml version="1.0" encoding="UTF-8"?>
            <?xml-stylesheet href="myTransformation.xsl" type="text/xsl" ?>
            <VoiceObjectsXML version="10.0">
              ...
            </VoiceObjectsXML>
  3. Save and close.
  4. Now, open that export file in your favorite web browser.

This is the result, when applied to the Prime Telecom sample application:

History Tracking Enabled

  • _Prime Telecom Portal
  • Call Back
  • Change Add-Ons
  • Change Bank Account Details
  • Change Email Address
  • Change Payment Settings
  • Change Postal Address
  • Enter new Credit Card
  • Main: Billing
  • Main: Customer Data
  • Main: Service Plan Mgr
  • Main: Support
  • Order Add-On
  • PIN Authentication (if necessary)
  • Present List of Add-Ons
  • Present Single Add-On
  • Transfer Call to Agent
  • Update Credit Card Expiration Date

History Tracking Disabled

  • Cleanup
  • Session Init

Obviously, this concept can be applied to a wide variety of checklist requirements. In the sample XSLT document that we provide in the link below, you will see how to generate comprehensive, ultra-focused overviews of …

  • Layer objects that have “Layer State Logging” enabled / disabled, making sure that Business Analysts looking at the Personalization (or “Layer Usage Overview“) reports in VoiceObjects Analyzer will only be presented with Layer State reports that make actual business sense;
  • … all Tuning Parameters set on all dialog component objects;
  • … all Event Handlers, so as to verify consistency of all Event Handling implemented in your project and to check whether the Finish Task option was properly set on each Event Handler (which in turn is required for consistent reporting on Business Tasks);
  • … Input States with “Mask Caller Input” enabled / disabled (this is a feature that allows to mark Input objects as dealing with sensitive input such as credit card numbers or PINs)
  • … Menu objects and their menu items, to verify whether Menu options such as the Auto-Numbering, Return to the menu after subdialog processing, and others are properly set.

There’s of course many, many more report and checklists that you can generate this way. It’s a great technique to quickly check any aspect of your VoiceObjects implementation for accuracy, completeness and consistency.

And finally, here’s the download link promised earlier: VO_XSLT_Checklists.zip Extract this archive to some folder, then open PrimeTelecom.xml in a web browser (I’m using Firefox). It will display a series of sample checklists and tables. The XSLT document, VOanalysis.xsl, that is used here should be a good starting point for your own endeavors.

Become a Voxeon – We are hiring in EMEA

Wednesday, July 27th, 2011

We are hiring in EMEA:

You are looking for a new opportunity in one of these areas? Please send us your resume with the job name you are referring to jobsEMEA@voxeo.com.

Looking forward to hearing from you!

Time to register: Voxeo Customer Summit 2011

Wednesday, July 20th, 2011

Register today for our annual Voxeo Customer Summit , October 10-12, 2011 at the JW Marriott Orlando Grande Lakes.

You are a customer, partner, or developer and you would like to learn more about the company, the team, and the products? Voxeo Customer Summit would be a great place to do this.

Register today and join us for our annual event.

More information around the event and the agenda are available at www.voxeo.com/summit2011

Looking forward to seeing  you there!

Jam Session today: Location Based Services with VoiceObjects

Monday, July 11th, 2011

Join our jam session today on location based services with VoiceObjects – exploiting geolocation information in your app.

Tobias Goebel, Sr. Systems Engineer at Voxeo will show you how to utilize HTML 5 for mobile Web apps and a LBS API for your IVR and SMS applications. Coming to you live from Lat: 28.54115887666667, Long 81.37814527111112…

Read more and register NOW

Best Practices Webinar: VoiceObjects Business User Interface – A Survey Management Framework

Tuesday, June 21st, 2011

Voxeo and partner Excelsis Business Technology AG will present a great example of an application framework built on top of the VoiceObjects application lifecycle suite: A Survey Management solution that enables business users to configure IVR and text-based surveys. This multi-tenant and multi-lingual solution provides survey scheduling, integrated reporting, and can be integrated with dialer applications for outbound solutions. The presentation will start with the core architecture and design of the solution and take it all way to discussing the ergonomics of the web-based business user interface.

Join us for this best practices webinar on June 30, 2011

8:00 AM US Pacific, 11:00 AM US Eastern, 5:00 PM Central European

Next Delevoper Jam Session is Coming Soon: The Power of Wideband (HD) Audio

Friday, May 27th, 2011

It is time again!

We scheduled our next monthly jam session  for June 09, 2011 and we would like to invite you to join us for this session.

How Do You Hear Me Now? The Power of Wideband (HD) Audio

What is “wideband” or “HD” audio? What are the benefits of wideband audio? What are the advantages and disadvantages of  using wideband? With all the buzz out there, what does wideband or “HD” audio really do for you in a business setting?

In this Developer Jam Session, Dan York, Director of Conversations at Voxeo will explain the basics of wideband audio, discuss the various versions of wideband audio deployed in the industry, explain why it is important in terms of business value.

Additionally, he will talk about how wideband audio is implemented in Voxeo’s Prophecy and PRISM products.

You’ll learn how wideband audio coupled with IP communications can give you a competitive advantage in terms of richer conferencing, more accurate speech recognition and voice biometrics – and an all around better user experience.   Even better, you’ll learn how you can get started immediately working with wideband audio in your applications.

Please join us for this session to understand the power of moving beyond the audio limitations of traditional telephony.

Register today for this developer jam session.

Title: Developer Jam Session: How Do You Hear Me Now? The Power of Wideband (HD) Audio
Date: Thursday, June 9, 2011
Time: 8:00 AM US Pacific, 11:00 AM US Eastern, 5:00 PM Central European,

A glance at the future

Tuesday, May 3rd, 2011

After just having brought VoiceObjects 10.0 up-to-date, we’d like to give you a brief preview of things to come in the next few months, namely VoiceObjects 10.1. This is the release we’re currently working on, and it will focus on enhancements in Infostore and in Desktop for Eclipse.

Infostore
Every useful application needs to have some amount of backend access – be it reading a customer profile, setting status in a database, or triggering a transaction in an ERP system.

When analyzing an application’s performance it is therefore desirable to have detailed information on the performance of these backend calls. Infostore currently provides minimum, maximum, and total times (from which the average can readily be obtained).
With 10.1, a new table is introduced that tracks each backend call individually, for Connector and Database objects as well as, optionally, for Script objects. So for each individual call there is precise timing, as well as tracking of the amount of data sent to and received from the backend. Aggregate values are provided on the level of Business Tasks and for the entire dialog.

An ID can be assigned to each backend (e.g. “CRM”, “TrackingDB”, etc.) so that different calls to the same system can be grouped in reporting. This also enables you to analyze backend calls “in both directions”, i.e. access to different systems from within the same application as well as access to the same system from within different applications. Both are very relevant sets of questions when making sure that your production architecture is up to its task.

Desktop for Eclipse
More and more of you use Desktop for Eclipse to work in multiple different environments; not only standalone and VoiceObjects On-Demand mode but also multiple different network mode connections. So we have been asked whether we could make switching between multiple connections easier – and we’ve listened.

With 10.1 we’re switching from the current static division (standalone, network, VoiceObjects On-Demand) to a flexible model in which you can define any number of connections (of type network or VoiceObjects On-Demand) and switch between them at will. On top of that, we also make it easier to combine metadata and Control Center connections. This should be real boon to power users!

Beyond these major blocks, there are a number of smaller extensions such as improved support for REST-style interfaces. We will provide more information on these, and on the ones listed above, as we get closer to the release itself.

For the time being: Make sure you have VoiceObjects 10.0 R2, lean back, relax, and enjoy the ride toward 10.1 :-)

VoiceObjects 10.0 Revision 2

Monday, May 2nd, 2011

Revision 2 of VoiceObjects 10.0 has been posted to the Developer Portal as well as the Service Portal.

Revision 2 addresses view refresh problems in Desktop for Eclipse, deployment issues when using VoiceObjects On-Demand,  and problems with cache standby in VoiceObjects Server. The update is recommended for all current users of VoiceObjects 10.

Upcoming Jam Session: IPv6 and How It Impacts Communication Applications

Tuesday, April 26th, 2011

What is all the IPv6 buzz about? And how will it impact your communications applications?  In February 2011, the last IPv4 addresses were allocated to the global registries. While IPv4 addresses will be available for some time, the reality is that IPv6 addresses will be required in the future.  

Service providers, enterprises and integrators need to understand how IPv6 works and what impacts it may or may not have on applications.

To learn more, join Voxeo’s Dan York for this exploration of IPv6 and what it means for you.  In this free webinar, he will cover:

  • a quick overview of the basics of IPv6, including addressing, DNS, and some subtle differences between IPv4 and IPv6
  • how SIP and VoIP work in an IPv6 world
  • what you need to consider when looking to migrate an application to IPv6

In the session, Dan will demonstrate VoIP communications over IPv6 using SIP and Voxeo Prophecy and will provide resources to learn more.

Not sure whether IPv6 really matters?  Come with your questions and be ready for a lively and dynamic session.

Join us for this session on May 05, 2011
8:00 AM US Pacific, 11:00 AM US Eastern, 5:00 PM Central European.