how to enhance existing voice app with text channel
DESCRIPTION
How to add text/USSD channel into an existing voice application on VoiceObjects platform.TRANSCRIPT
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
How to enhance existing voice app with text channel
2
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Agenda
•What and why?•What is multichannel app, what are main benefits
•Convert existing voice app to a multichannel app
•Tips and tricks•Common pitfalls
•Summary – how to start
3
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
What is a multichannel application?
•In VO it is one app uses adaptive rendering•Rendering markup is defined by media platform driver
(VXML, HTML, XML, WML...)
•Driver targets one particular channel•Voice•Text•Web•Video
•One instance can serve with any driver for multiple channels
•at one time•on one machine•driver is determined in the URL of service (USSD /text/ channel – driver 101 Cellicium Cellcube)
4
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Benefits of a multichannel application: Sharing!
Design once – deploy anywhere
• Code/Configuration• Application logic/Prototyping• Backend interfaces• Hardware• Monitoring/Reporting• Operational maintenance
It may not have exactly the same logic/behaviour on every channel – there are some ways of customization and tunning.
Gartner predicts that by the end of 2011, IM will be the de facto tool for voice, video and text chat with 95 percent of workers in leading global organizations using it as their primary interface for real-time communications by 2013.
5
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Convert an existing voice app to a multichannel app
Unfortunately – it doesn’t work like:
„We will add texts into the application.“
•You also have to have a media platform – USSD gateway hardware
6
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Best Practice Guide for the Text Channel
•13 pages, important informationhttp://developers.voiceobjects.com/files/WP-Best-Practice-Guide-Text-Channel.pdf
7
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Output items with the right channel – no Default channel!
•Determine manually or by doing reimport of modified XML code
<output name="Authentication_Info" referenceID="outAuthentication_Info"> <outputItem bargein="default" channel="voice" inputMode="default" language="default“ > <audio link=”#Authentication_Info"/> </outputItem> <outputItem bargein="default" channel="text" inputMode="default" language="default“ > <text link="#Authentication_Info"/> </outputItem> </output>
8
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Input objects have to have correct grammar for each channel
•The real grammar or TTG for voice, reg expression for text channel
9
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Dynamically generated names of audio files
• You can't simply add new text item to an output when audio with dynamic name is used
•Text object with dynamic key seems to be best solution
• You can alternatively create custom formatter for Format object
• You can also utilize "translation" collection and VALUESUBSTITUTION expression
10
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Text object with dynamic (variable) key
• Value of the varible is concatenated with "#" to create complete key – and used instead of the filename
• The real filename is included in the locator e.g.: resources/Text/Roaming.[E:System:Language]
• Then complete value is: resources/Text/Roaming.en-US.txt#Zone1
11
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Date & Time – formating for display
•Date and time values to display might need an extra expression CONVERTDATE unless you have a custom formatter
12
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Concatenation of Outputs
•Automatic output concatenation does not apply for the text channel.
•To proceed after an output the caller needs to actively request the next information, typically "1: Continue" or "1: OK"
•In case you use multiple outputs in one dialogue – you could rebuild that part of application – otherwise the user will be bothered of undesired confirmation.
13
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Educate your content editor
•There are some limitations for USSD channel
•Use Voxeo USSD - Best Practice Guide for the Text Channel.pdf
14
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Pitfalls & Things to consider
•standard navigation & hyperlinks vs. navigation provided by USSD gateway• it seems to be better to utilize USSD gateway – but there is a problem: how to let the
user know each particular command?
•do you practice clear difference between navigation (menu hierachy...) and control (actions – activation/deactivation/confirmation)?
•what part of application has to be skipped in text channel? (confirmations...)• transfer to an agent could be provided on display like "Please call xxxxxx ..."
15
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Pitfalls & Things to consider II.
•differences in event-handling, reprompt?
• length of each particular output item is limited up to 182 chars• follow Voxeo USSD - Best Practice Guide for the Text Channel.pdf• for some drivers automatic pagination is provided by VO
•application chanining – it has not been well implemented for text channels• there is one extra dialog that user has to confirm
•developing/testing without USSD GW• use built-in debugger or text simulator, it works
•output of dynamic values• for text channel you don't need TTS or prerecorded audio
16
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Summary – how to start• Read the document USSD - Best Practice Guide for the Text
Channel.pdf
• Preparation• outputs (menus, confirmations, inputs) with "Default channel"
• enhance them with determined channel and add text items• inputs
• add correct grammar and regular expression
• new Text objects• find these that needs dynamically generated key
• convert expressions format for display
• Consider "pitfalls"• and implement correct navigation, different behaviour• tune it, make your "new baby" even better
• Go to production
17
May 3rd, 2011 by Pavel RůžičkaT-Mobile Czech Republic
Pavel RůžičkaProgrammer – AnalystService Development Department
T-Mobile Czech Republic a.s.Tomíčkova 2144/1, 149 00 Praha 4Phone: +420 603 607 974T-Mobile: +420 603 416 974E-Mail: [email protected]: http://t-mobile.cz/