GotSpeech.NET

The online community for Microsoft Speech Server developers
Welcome to GotSpeech.NET Sign in | Join | Help
in Search
Computer-Talk

VoiceXML Interpreter from Core API

Last post 07-11-2008, 9:11 AM by ml_. 7 replies.
Sort Posts: Previous Next
  •  06-30-2008, 11:07 AM 6105

    VoiceXML Interpreter from Core API

    Does anyone know if the VoiceXML Interpreter is available from the core API?


    Marc LaFleur

    View Marc LaFleur's profile on LinkedIn


    Blog: Speaking from the Edge
  •  07-01-2008, 11:21 AM 6118 in reply to 6105

    Re: VoiceXML Interpreter from Core API

    No, it's not.
    This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm
  •  07-01-2008, 4:51 PM 6120 in reply to 6105

    Re: VoiceXML Interpreter from Core API

    I figured.

    I did end up with a viable workaround. I created a workflow that contains the VXML activity. By starting that workflow with some input parameters I was able to replicate the functionality I needed.  I'm now able to drop out to VXML when I need but otherwise work directly with the API.


    Marc LaFleur

    View Marc LaFleur's profile on LinkedIn


    Blog: Speaking from the Edge
  •  07-10-2008, 12:15 PM 6213 in reply to 6120

    Re: VoiceXML Interpreter from Core API

    Can you explain what you did here? I sounds useful. I have this fear about running part of my application as a workflow and other parts just using hte core API. The fear centers around not really knowing evertying the workflow is doing behind hte scenes and my Core API code not playing well with it. Does this apply to your situation, and if so, have you seen any issues?

    Thanks,

    Mike

  •  07-10-2008, 6:30 PM 6229 in reply to 6213

    Re: VoiceXML Interpreter from Core API

    Good question.

    When you kick off a workflow from the API is takes over your application until it completes. Think of it as modal. I've run a good number of calls in our test lab (40,000 or so) and we've see no issues so far.

    I've got an example of how to kick off a workflow on my bog - Executing a Speech Server Workflow via the API. I used the same method with the VoiceXML interpreter by passing in the starting page as an input parameter.

    Hope this helps.


    Marc LaFleur

    View Marc LaFleur's profile on LinkedIn


    Blog: Speaking from the Edge
  •  07-10-2008, 9:06 PM 6234 in reply to 6229

    Re: VoiceXML Interpreter from Core API

    Thanks marc,

    It's good to hear that you have done this and haven't seen any weirdness. I have seen teh value in jumping into some workflow code at points in my core API based app, but was fearful of the unexpected.

    Mike

  •  07-11-2008, 4:31 AM 6235 in reply to 6229

    Re: VoiceXML Interpreter from Core API

    That's a good way to think about it.  Here's a couple of things to watch out that come to mind:

    1. Make sure you've unsubscribed from SpeakCompleted before invoking the workflow, otherwise your handler will be invoked if the workflow contains a Statement.  The same goes for other event handlers to which you might have subscribed.
    2. Following on from (1), the safest thing to do is to ensure that your core app doesn't try to interact with the CoreAPI whilst the workflow is running.  This applies particularly to SpeechRecognizer et al; e.g. you'll confuse QuestionAnswerActivity if you start a recognition in parallel.  However this doesn't stop you doing things in parallel to the workflow that are unrelated to the workflow activities, e.g. a database lookup, and using IApplicationHost.QueueEvent is safe.
    3. Watch out for property changes when the workflow completes.  E.g. if QuestionAnswerActivity changes ISynthesizer.InitialSilenceTimeout, I think the new value persists for the rest of that call.

    This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm
  •  07-11-2008, 9:11 AM 6240 in reply to 6235

    Re: VoiceXML Interpreter from Core API

    Those are all great points.

    Your third point is really important to remember. You should never assume that the default value of a given property is the current value of that property. I expressly assign the values of every property relevant to the event I’m kicking off just for this reason.


    Marc LaFleur

    View Marc LaFleur's profile on LinkedIn


    Blog: Speaking from the Edge
View as RSS news feed in XML