[asterisk-speech-rec] When is a License used, why is SpeechDestroy() slow

Joshua Colp jcolp at digium.com
Tue Nov 21 12:35:59 MST 2006


rristroph at airlink.net wrote:
> Hi Folks,
> 
>     I have a couple of questions:
> 
>     1) When does the LumenVox check the license server to make sure there is a license available ?  Is it at SpeechCreate() or SpeechBackground() or the SpeechActivateGrammar() step ?  The reason why I ask, is that I have a system for which only a portion of each call will use Lumenvox, and I would like to figure out when the license has to be available, in order to estimate how many channel licenses I need for a certain call load.

SpeechCreate requests a port from the Lumenvox server. It then checks to 
see whether a port is available, and if so life continues. If not it 
errors out.


>     2) I started to solve the above problem by simply doing SpeechDestroy() in my dial plan when the speech recoginition part was done, in order to make sure it wasn't using the Lumenvox resouces thereafter -- but the SpeechDestroy() step seems to take a while to run, introducing a pause of a few seconds into the flow of the call -- why does it take so long ?  If I could fix this, I might not need the answer to the first question.

SpeechDestroy gives up the audio port, and thus returns the license. To 
why it would be taking so long you would have to ask Lumenvox. Hopefully 
someone from there will chime in.

>     Also, if I knew that the Lumenvox license was only used when you were actually recognizing things, then the answer to the second question might not matter.

You only need a license when you are recognizing things as you 
mentioned, that's why SpeechDestroy exists so you can get rid of the 
audio port early and use it for another call.

>    Any help that can be offered is appreciated !
> 
> --Rob
> 

-- 
Joshua Colp
Software Developer
Digium, Inc.


More information about the asterisk-speech-rec mailing list