Showing results for 
Search instead for 
Did you mean: 

Rising star

Releasing Nuance ASR Port - Hack - We need a VVB enhancement

If and when your CVP Call Studio app requires a ASR - the VVB Server  sets up a SIP session to the Nuance ASR server.

This SIP session includes SDP for MRCP and RTP to communicate the Voice Grammars (MRCP) and the actually speech (RTP).


The problem  currently is that Cisco CVP currently offer no way to close this session SIP+MRCP session to the ASR server.

Hence after your ASR has occured and if your application then routes and queues to an agent, the Nuance ASR port is still held by VVB until the VVB session is closed.


i.e. VVB only releases the ASR port (by sending a SIP BYE to the Nuance ASR server) when VVB session closes, e.g. when the call attempts to route the call to an agent. So the ASR port is held while your are queing call for an agent or using a application which might no longer need ASR.


Ideally the ASR port would be relased as soon as your "ASR Call Studio application" has been completed.


This could easily be achieved with a simple VVB enhancement, whereby a developer could configure a Call Studio element with a custom cisco vxml property - to inform VVB to close the ASR session (and VVB would send a SIP Bye to the ASR server).


What occurs today, is that Nuance will terminate the sessions about 60 seconds by default after recieving its last MRCP or SIP packet for this SIP session.


It actually takes another 10-20 seconds after the Nuance timer (server.mrcp2.sip.sessionTimeout) has actually expired before Nuance actually send this BYE (due to how its Watchdog processes work).


This config on Nuance is to clean up any sessions that have not closed properly.

Its not ideal to have to wait for this to occur or rely on this method to clear sessions.


i.e. A much cleaner and better approch (and removes the license issue) is to close the session after you no longer need ASR (as per my VVB enhancement request above).


In the meantime - the following is a hack you can use to tear this ASR session down when you need to (after your Call Studio application has completed).


1) Configure in CVP a label of 7771111404 to route to your VVB servers (this number could be changed - but its simple and easy to recognize)

This label will NOT be recognised by VVB (which is what you want!), as it will only recognise label 919191*, 929292* and 7777777777*

Hence if a call routes to your VVB server with this number - VVB will send back an immediate 404


2) In your ICM script configure a label with requery checked and AFTER your ASR application and BEFORE queuing node use a dyanmic label to route to the 'number configured above' as per below screenshot.

The key is that CVP will now attempt to route a call to your VVB server. It will send back a 404 immediately (so will exit the failure node of the below label node), but this also CLEAR the VVB session and ASR session (which is what you want) and then you can route the call on as normal to a queue node / play music etc. the customer will not be impacted or hear any issue.

But this is clearly a hack.



Example SIP trace - so you can see VVB sending a BYE when above is configued:




Content for Community-Ad