cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2845
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11
This document was generated from CDN thread

Created by: subrahmanyam juluru on 12-03-2013 01:11:35 AM
Hi All,
we integrated CVP with Nuance Speech server ( Standalone Environment).
The Environment is 
Nuance Speech Server 5.0 and Nuance Recognizer 9
Cisco CVP 8.0 and Voice Gateway 
Nuance was installed in Active and Standby Servers.
can any body have idea how to do redundancy/load balancing of NSS in the Voice gateway?
Hightly appreciate for your quick reply.
Regards
Juluri.
 

Subject: RE: New Message from subrahmanyam juluru in Customer Voice Portal (CVP) - C
Replied by: Hemal Mehta on 12-03-2013 07:21:18 AM
Look at the config and admin guides.
http://www.cisco.com/en/US/products/sw/custcosw/ps1006/products_installation_and_configuration_guides_list.html
For example for 8.5, you can get info on page 499.
Hemal

From: Cisco Developer Community Forums [mailto:cdicuser@developer.cisco.com]
Sent: Tuesday, March 12, 2013 1:12 AM
To: cdicuser@developer.cisco.com
Subject: New Message from subrahmanyam juluru in Customer Voice Portal (CVP) - CVP - All Versions: redundancy/Load Balancing of Nuance Speech Server(NSS) 5.0

subrahmanyam juluru has created a new message in the forum "CVP - All Versions": -------------------------------------------------------------- Hi All,
we integrated CVP with Nuance Speech server ( Standalone Environment).
The Environment is
Nuance Speech Server 5.0 and Nuance Recognizer 9
Cisco CVP 8.0 and Voice Gateway
Nuance was installed in Active and Standby Servers.
can any body have idea how to do redundancy/load balancing of NSS in the Voice gateway?
Hightly appreciate for your quick reply.
Regards
Juluri.

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

Subject: RE: New Message from subrahmanyam juluru in Customer Voice Portal (CVP) - C
Replied by: subrahmanyam juluru on 13-03-2013 02:20:59 AM
Hi Hemal,
 
we are not using Cisco Content Service Switch (CSS) in my environment.
what you mentioned in the document line number 499 refers to CSS related Configurations.
we dont have CSS and ICM also and it is standalone Environment.
is there any why to do configure manivally in voice gateway both active and stand by Nuance Speech Servers?
Regards
Juluri.
 

Subject: RE: New Message from subrahmanyam juluru in Customer Voice Portal (CVP) - C
Replied by: Paul Tindall on 13-03-2013 06:51:51 AM
With MRCP version 1 you can't do anything on the gateway in CVP Standalone mode but you can select the ASR and TTS servers programmably in the application by setting the VoiceXML properties com.cisco.asr-server and com.cisco.tts-server using substitution in order to select one from your ASR/TTS server farm or point to an alternative server on failures by catching the ASR / TTS hot events.
With MRCP version 2, as it's using SIP, you should be able to use the gateway ip host static DNS SRV config approach to specify alternative servers and load balance across them.  Not it tried personally with SIP to MRCP servers but the principle is the same as for SIP calls to anywhere else such as the CVP server farm.

Subject: Re: New Message from subrahmanyam juluru in Customer Voice Portal (CVP) - C
Replied by: Janine Graves on 18-03-2013 08:35:27 AM
You can set the Vxml Properties either in the root document (as you mention) so it lasts during the entire application. Or if necessary, in the Settings tab of any Voice Element (but this will only last for the duration of that element) - so if you need to change ASR servers in the middle of an application, then you'll need to set this property in EVERY voice element's Settings tab. Look in the IOS VXML Programming Guide for the information to list in the URL. It'll match what is usually entered into the Gateway Configuration. For example: Name: com.cisco.asr-server Value: rtsp://NuanceServer/recognizer Perhaps it'll be best to do it within each Voice Element and use a variable within the value rtsp://{Data.Session.NuanceServer}/recognizer - then you can just change the value of your Session variable when necessary. On 3/18/2013 9:20 AM, Cisco Developer Community Forums wrote: subrahmanyam juluru has created a new message in the forum "CVP - All Versions": -------------------------------------------------------------- Dear David, Thanks for your reply to my question. I verified in my production setup environment and we are using the MRCP version1. as you mentioned pointing VoiceXML properties (com.cisco.asr-server for ASR Server and com.cisco.tts-server for TTS Server) through application level. I found some VoiceXML Property settings in the call studio IDE as   Application name ->Right Click->Properties->call Studio->Root Doc Settings. if this path is correct can you please guide me what are the values i need to send throush this Root Doc Settings. can yo please give more elaborate information for MRCP Version1 settings. Regards Juluri.   -- To respond to this post, please click the following link: http://developer.cisco.com/web/cvp/forums/-/message_boards/view_message/13196274 or simply reply to this email. -- Janine Graves

Subject: RE: New Message from subrahmanyam juluru in Customer Voice Portal (CVP) - C
Replied by: subrahmanyam juluru on 18-03-2013 08:20:36 AM
Dear David,
Thanks for your reply to my question.
I verified in my production setup environment and we are using the MRCP version1.
as you mentioned pointing VoiceXML properties (com.cisco.asr-server for ASR Server and com.cisco.tts-server for TTS Server) through application level.
I found some VoiceXML Property settings in the call studio IDE as   Application name ->Right Click->Properties->call Studio->Root Doc Settings.
if this path is correct can you please guide me what are the values i need to send throush this Root Doc Settings.
can yo please give more elaborate information for MRCP Version1 settings.
Regards
Juluri.
 

Subject: RE: Re: New Message from subrahmanyam juluru in Customer Voice Portal (CVP)
Replied by: subrahmanyam juluru on 19-03-2013 03:59:50 AM
Hi Janine,
This is the part of voice gateway configurations which is done for VXML Application and Nuance Speech Server.
can you please verify whether this configuration will work for ASR Redudancy.
 
ip host asr-en-us 172.23.25.41 172.23.26.41
!
!
http client cache memory pool 15000
http client cache memory file 500
no http client connection persistent
http client connection timeout 60
http client connection idle timeout 10
http client response timeout 30
ivr prompt memory 15000
!
ivr asr-server rtsp://asr-en-us/recognizer
!
application
 service new-call flash:bootstrap.vxml
 !
 service survivability flash:survivability.tcl
 !
 service CVPSelfService flash:CVPSelfServiceBootstrap.vxml
  paramspace english index 0
  paramspace english language en
  paramspace english location flash:
  paramspace english prefix en
 !
 service cvperror flash:cvperror.tcl
 !
 !
 service NdiaIvrPri flash:CVPSelfService.tcl
  param CVPSelfService-app NdiaIvrPri
  param CVPPrimaryVXMLServer 172.23.26.11
  param CVPBackupVXMLServer 172.23.25.11
 !
 service handoff flash:handoff.tcl
 !
 service bootstrap flash:bootstrap.tcl
 !
!
rtsp client timeout connect 10
rtsp client timeout message 10
mrcp client timeout connect 20
mrcp client timeout message 20
mrcp client rtpsetup enable
mrcp client accept-charset-compliance
vxml tree memory 500
vxml audioerror
vxml version 2.0
license udi pid C3900-SPE150/K9 sn FOC15222LVG
hw-module pvdm 0/0
!
!


!
dial-peer voice 3 pots
 service ndiaivrpri
 incoming called-number 102228
 direct-inward-dial
!
dial-peer voice 232611 voip
 description <<<DIAL PEER TO NDIA PRIMARY IVR APPLICATION>>>
 service ndiaivrpri
 destination-pattern 102228
 session target ipv4:172.23.32.13
 incoming called-number 102228
 voice-class sip rel1xx disable
 dtmf-relay rtp-nte h245-signal h245-alphanumeric
 codec g711ulaw
 no vad
!
Regards
Juluri.
 
 

Subject: Re: New Message from subrahmanyam juluru in Customer Voice Portal (CVP) - C
Replied by: Janine Graves on 19-03-2013 07:51:09 AM
I'm not a gateway person, but I think you'd want: ip host asr-en-us  172.23.25.41 ip host asr-en-us-backup  172.23.26.41 The second entry with  "-backup" appended  is used automatically as a backup when working with ICM Microapps. So, worthwhile to have it, just in case. With Studio, you have to manually manage switching to the backup (I think!) - so in the Studio application, you could have a Session Variable called NuanceServer And assign the value to either asr-en-us or asr-en-us-backup  as necessary. -- Janine Graves

Subject: RE: Re: New Message from subrahmanyam juluru in Customer Voice Portal (CVP)
Replied by: subrahmanyam juluru on 19-03-2013 09:38:56 AM
 
Dear Janine,
I read one topic in Cisco VoiceXML Programmer’s guide (Cisco IOS Release 15.0 (1) M) External Server Failure.
What I feel that this concept might be helpful for me redundancy/load balancing of Nuance Speech Server.
Can you please verify this approach will useful to me?
If it will work out for my environment can you please help me out how to develop server side application and how to catch the VoiceXML Error Event in Java Servlet.
Exactly what my production environment problem is if primary Nuance Speech  server will down then call will process through secondary Nuance Speech  server  without any interrupt to the customer.
For your reference I copied same content from VoiceXML Programmer’s guide.
External Server Failure
In a Cisco VoiceXML solution, the Cisco voice gateway interacts with external media servers for automatic speech recognition, text-to-speech, and streamed recording. If an external media server fails to work, a backup server is desirable to take over the function of the failed media server. A typical approach is to use a content switch that is transparent to the VoiceXML application developer. However, this approach may not be very desirable because of the cost increase.
Cisco VoiceXML provides an alternate solution to external server failure where the application developer can handle server failure directly through the script. A backup external media server must be provided by the third party server vendor, and it must be initially configured on the voice gateway. In the event of a server failure, the VoiceXML interpreter throws an error event which is caught by the VoiceXML application, and the information is passed to a server side application.
The server side application is a web application written as a Java servlet or a Hypertext Preprocessor (PHP) script. For example, an error.noresource event is thrown if the external ASR server fails to operate. The VoiceXML script passes this error event information to a server side web application using the <submit> element. The server side application assigns a new backup media server using the <property> element in all subsequent VoiceXML pages that are generated dynamically.
The original VoiceXML document is regenerated and returned to the VoiceXML interpreter for execution. The regenerated VoiceXML document is similar to the original document with the exception of pointing to the new backup media server instead of the failed server.
Note In Cisco IOS Release 12.4(11) T and later releases, the error.noresource event is thrown if an external ASR or TTS server fails to operate. The old event com.cisco.media.resource.unavailable is supported for backward compatibility.
 
Regards
Juluri.
 
 

Subject: RE: Re: New Message from subrahmanyam juluru in Customer Voice Portal (CVP)
Replied by: Janine Graves on 19-03-2013 10:37:06 AM
You can manage this all in Studio. But this is all the help I can provide on this.

1. Create a session variable named NuanceServer and assign 'asr-en-us'
2. In each voice element that collects caller input, do the following:

a) create Session variable named LastElement, assign it the name of the element you're inside of, create Before, press Add
b) in the Settings tab, set the VXML Property name: com.cisco.asr-server  value:{Data.Session.NuanceServer}
c) create a PageEntry element called Goto_<name of the voice element>  (eg, Goto_MainMenu)
d) connect the PageEntry to the voice element.

3. Create a HotEvent and catch to event: error.noresource

4. Connect to a decision element named checkServer.
a) This element checks if the value of Session variable NuanceServer equals as string asr-en-us then exit state SetBackup. Otherwise exit state:SecondError
b) Connect the SecondError exit state to tell the caller there's an error and return the call to ICM (or transfer to an agent).
c) Connect the SetBackup exit state to an App Modifier named setBackupServer. In its Data tab, create a session variable named NuanceServer and assign 'asr-en-us-backup'

5. Connect the setBackupServer element to a decision element (CheckLastElement) that has one exit state for each possible voice element you need to go back to.  For example, if Session Data LastElement equals as String Constant String MainMenu, the return exit state Main Menu.
 
 
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