TMCnet
ITEXPO begins in:   New Coverage :  Asterisk  |  Fax Software  |  SIP Phones  |  Small Cells
 
March 2007
Volume 10 / Number 3
 

Choosing Development Platforms
DIY Voice

By Sanjeev Sawai, Feature Articles
 

 

As with any do-it-yourself project, using the right tools for the job is fundamental to its success. Today, there are a variety of application development environments (ADEs) and software development kits (SDKs) available to significantly reduce the time, cost and complexity of creating cutting edge voice solutions, such as interactive voice response (IVR), contact center and unified communications solutions.

In fact, at first glance there may be too many options. Each platform vendor provides one or more development options and every technology vendor offers their own proprietary SDK. Developers can narrow their choices, however, by considering the needs of their specific projects. Consider how much functionality, integration flexibility and application portability is required to achieve the goals of your specific project.

 

The Evolution of Cutting Edge Tools

In the beginning, there were individual SDKs created for each component of a voice solution. Developers had to write to one API to control telephony resource boards and to another to manage each speech resource. This was extremely time consuming and not costeffective.




Then came the ADE which provided a layer of abstraction for multiple components in a single product. Developers could then create voice applications more quickly, but there was still a lot of programming to be done.

Next, graphical ADE arrived on the scene. It further sped development by providing a more intuitive interface that encompassed more solution elements such as database, email and Web integration. However, these development tools were tied to specific deployment platforms, and, in some instances, no longer provided low level resource control.

Next we saw the Internet/Telephony convergence revolution which ushered in a new breed of standards-based ADEs and more open communications development platforms. Today these ADEs are focused on the SIP, MRCP, CCXML and VoiceXML programming standards.

All of these development options remain viable today and offer varying benefits. SDKs offer the greatest level of control and have the lowest upfront costs. However, these projects tend to be more complex, have longer development cycles and require highly specialized skills to complete. Traditional ADEs are great for more programming oriented developers. They offer a layer of abstraction for multiple components while still providing a high level of resource control. And, they have lower licensing and deployment costs. Graphical ADEs are more suitable for groups looking to quickly solve business problems rather than to understand complex telephony issues. They offer the greater range of functionality and fastest time-to-market. Standards-based ADEs provide portability and integration advantages however, their scope is limited and additional application development work will have to be done to create a total solution. For both graphical and standards-based ADEs, there is a tremendous range in deployment costs from vendor to vendor. A careful price/performance examination is required.

Once you have decided what type of ADE you prefer, there are 10 top areas to consider during the selection process:

1. Functionality: There is as much diversity in ADE functionality as there is in different voice solution projects. Some offer a wide range of telephony protocols, some offer support for email and Web, some offer multiple integration options, some even offer new technologies such video support.

Understanding your own needs before evaluating your options will help. What telephony protocols, boards or infrastructure do you need to support? Is this a multi-channel solution? What are your preferred speech engines? Once you have a rough functional specification, you can more easily determine the solution that will work best for you.

2. Standards & Migration Protection: To ensure portability, look for application development environments that support the latest standards including VoiceXML, CCXML, MRCP, SIP and more.

Today, everyone is working in a state of constant change. Developers need to find a way to leverage prior investments in hardware, software and solution development, while providing a smooth migration path to the emerging standards and technologies that will be required in the future. Choosing an ADE with broad capabilities and a strong roadmap will help ensure that your projects will go smoothly today — and tomorrow.

3. Development Relevance: With most projects, the developers have a particular skill set and there is usually an ADE more suited for the job than others.

For example, telephony specialists will appreciate a development environment that enables them to create call flow charts and program the functionality into the individual blocks. Visual Studio and .NET developers benefit tremendously from an ADE offering Active X objects for embedding telephony functions into their programs. When evaluating your options, look for robust functionality with easy access to lowlevel technology features.

Web developers looking to voiceenable their applications should consider using a standards-based ADE for creating VoiceXML, a mark-up language that defines voice segments and enables access to the Internet via telephones and other voice-activated devices. When selecting a VoiceXML development solution, look for pre-built dialogs that feature best practice VUI design rules. However, the VoiceXML standard can be limited for applications that require advanced call control, extensive application integration or multi-channel capabilities. Look for a solution that allows you to generate pure VoiceXML code wherever possible and provides integrated development capabilities for program elements not covered by the standard.

4. Call Center Integration Capabilities: Determining how much integration with call center infrastructure elements is required will provide important insight for the ADE selection process. Does the application need to sit behind a softswitch or PBX? Does the application require advanced call data (ANI, DNIS, call length, transfer data, etc.) to work effectively? Does it require sophisticated routing schemes or integration with agent workstations? Do you need desktop call control or clickto- talk capabilities? In these cases, ADEs with CTI middleware are an ideal solution. Choose one that provides a standards- based methodology for communicating with a broad range of IP and traditional PBXs from leading vendors. Check for support for TAPI, JTAPI, CSTA and SIP. Along with cutting integration time, CTI middleware also protects your development work ensuring that it will proceed as written in many different — and evolving — call center environments.

5. Enterprise Software Integration Capabilities: Most developers today believe that the future of enterprise application integration resides in Web services. Some of today’s ADEs already support these protocols. However, a Web service may not be available in all cases. Look for products that support a broad range of database and communications standards including ODBC, SQL, XML, WSDL, HTML, HTTP, TCP/IP, SNMP, LDAP, SS7, USSD, RADIUS, X.25, IMAP4, POP3, SMTP and more. By selecting a product with multiple integration options, you will have fewer headaches and a greater chance of success.

6. Code Flexibility: Look for products that allow you to leverage existing IT assets and call external applications, hosted scripts and DLLs written in C, C++, VB, Active X, JScript and VBScript.

7. Strong Code Management Capabilities: Integration with Visual Source Safe or CVS directly from the ADE will facilitate change management and version control in large, collaborative development projects.

8. Testing Tools: The application testing phase, while critical to the success of a project, is often squeezed to meet deployment deadlines. To help, look for products with strong debugging capabilities, including block-by-block code check, expression watches and script traces. Robust system and application logging capabilities are also important. The more simplified the deployment model, the smoother the testing process.

9. Deployment Models: There are a variety of voice solution deployment models available, however, your choice of ADE will dictate which you can utilize. Solutions developed with a vendor supplied ADE typically need to be deployed on their IVR platform. VoiceXML-based ADEs offer some platform flexibility as they can be deployed on any certified VoiceXML gateway connected to a J2EE compliant web server. Lastly, some ADEs are designed for server-based solutions that utilize standard voice cards or HMP for telephony resources.

When considering your deployment options, look for a solution that provides the reliability and scalability you need. Check for advanced administrative tools that simplify both for day-today management and deployment of upgrades and code changes.

10. Pricing: Evaluating the relative costs of different ADEs is a rather complex issue. Naturally, there are licensing fees for the development software itself, but deployment plays a big part in the equation. Third party products not supplied by an IVR platform vendor will charge a per port runtime license fee. While that can be relatively straightforward in a server/board/HMP deployment model, it can get very expensive in the VoiceXML world. As with IVR platforms, there is a huge difference in the per port pricing for VoiceXML platforms. Additionally, some platforms have hidden costs in the form of telephony server charges and per port surcharges for speech and advanced functionality. These additional fees can add up quickly, especially for large-scale deployments. Evaluate deployment decisions on a price/performance basis to find the best scenario for your project.

With all the choices available, you can find a suitable ADE for your current and future needs. For example, custom designed solutions for known, controllable environments have different requirements than packaged applications that must fit into a wide range of unknown customer environments. Developers also need to determine how much work they want to be able to do within that application development environment — do they want to be able to design a complete solution or do they simply need to add some voice capabilities to an existing program. Service providers and VARs need to be more strategic in their decision making. Standardizing on a single ADE that offers a wide array of technologies, functions and communication protocols can generate tremendous efficiencies that translate into time-to-market and profitability advantages.

Sanjeev Sawai is Vice President of Research and Development, Envox Worldwide. (news - alert) For more information, visit the company online at http://www.envox.com.

 




Today @ TMC
Upcoming Events
ITEXPO West 2012
October 2- 5, 2012
The Austin Convention Center
Austin, Texas
MSPWorld
The World's Premier Managed Services and Cloud Computing Event
Click for Dates and Locations
Mobility Tech Conference & Expo
October 3- 5, 2012
The Austin Convention Center
Austin, Texas
Cloud Communications Summit
October 3- 5, 2012
The Austin Convention Center
Austin, Texas