<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">You Talkin&amp;#39; to Me</title><subtitle type="html">The Official Microsoft Speech Server Blog</subtitle><id>http://blogs.msdn.com/b/mssblog/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/mssblog/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2006-07-05T13:27:00Z</updated><entry><title>How to Manage Frequently Changed Prompts</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/10/26/how-to-manage-frequently-changed-prompts.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/10/26/how-to-manage-frequently-changed-prompts.aspx</id><published>2006-10-27T04:41:18Z</published><updated>2006-10-27T04:41:18Z</updated><content type="html">&lt;p&gt;&lt;font face="Tahoma" size="1"&gt;POSTED BY: JOHN CLARKSON, MSS Programmer Writer&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;In cases where prompts need to be changed frequently, it is not necessary to recompile and redeploy a &lt;strong&gt;.prompts&lt;/strong&gt; file following every change. Since a .NET speech application can use more than one &lt;strong&gt;.prompts &lt;/strong&gt;file simultaneously, it is possible to put the prompts that change frequently in separate, smaller databases. When a prompt changes, recompile and redeploy just the one file containing that prompt. Use the &lt;strong&gt;Manage Prompt Databases...&lt;/strong&gt; link in the &lt;strong&gt;Properties&lt;/strong&gt; window, or the &lt;strong&gt;Manage this application's prompt databases&lt;/strong&gt; link on the &lt;strong&gt;Voice Output&lt;/strong&gt; pane in the property builder to add additional prompt databases. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;Alternatively, use the SALT content tag to set a frequently changed prompt to reference a single wave file, which can be updated as necessary. To do this, enter&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;lt;salt:content href='/MyWav.wav' \&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;as the text of the inline prompt, where MyWav.wav references the audio file.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=877794" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Stay On The Line...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/10/10/stay-on-the-line_2E00__2E00__2E00_.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/10/10/stay-on-the-line_2E00__2E00__2E00_.aspx</id><published>2006-10-10T20:36:37Z</published><updated>2006-10-10T20:36:37Z</updated><content type="html">&lt;p&gt;&lt;font face="Tahoma" size="1"&gt;POSTED BY: RENAUD LECOEUCHE, MSS Software Dev Engineer&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;Some voice applications consider the user being silent as a valid answer. For example, an application could say: “Please choose one of the following products or stay on the line to speak to a sales representative” followed by a list of products that are available for phone order. If the user stays silent for a second or so, the call continues and a transfer is made.&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;As you probably know, the way to ask a question and get an answer in MSS 2007 Beta is to use a QuestionAnswerActivity. However the QuestionAnswerActivity will keep repeating until it gets a valid recognition. The question then is: How to model this kind of dialog with MSS?&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;The answer is easy. Here is how to proceed:&lt;/font&gt; &lt;ol&gt; &lt;li&gt;&lt;font face="Tahoma"&gt;Create a &lt;strong&gt;QuestionAnswerActivity&lt;/strong&gt; that recognizes the product names.&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Tahoma"&gt;Create a &lt;strong&gt;SpeechSequenceActivity&lt;/strong&gt;.&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Tahoma"&gt;Add the &lt;strong&gt;QuestionAnswerActivity&lt;/strong&gt; to the SpeechSequenceActivity.&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Tahoma"&gt;Go to the &lt;strong&gt;SpeechEvents view&lt;/strong&gt; of the SpeechSequenceActivity.&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Tahoma"&gt;Add a &lt;strong&gt;ConsecutiveSilencesSpeechEventActivity&lt;/strong&gt; and set its MaximumSilences property to 1.&lt;/font&gt;&lt;/li&gt; &lt;li&gt;&lt;font face="Tahoma"&gt;Add a &lt;strong&gt;GotoActivity&lt;/strong&gt; to the ConsecutiveSilencesSpeechEventActivity that redirects to the part of the dialog you want to run when the user remains silent.&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;You are done! Adding a ConsecutiveSilencesSpeechEventActivity allows you to take arbitrary actions when the user stays silent. Because SpeechEvents are associated with SpeechSequenceActivity activities, you can localize their actions to a single QuestionAnswerActivity or a group of related activities.&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;&lt;strong&gt;&lt;font color="#000080" size="2"&gt;How speech events work&lt;/font&gt;&lt;/strong&gt;&lt;br&gt;Speech events provide a powerful way of controlling your application flow. Let me clarify how they work. Speech events are scoped to a SpeechSequenceActivity activity. When the speech sequence is executing, its associated speech events track the changes in the workflow’s History property. This is how they know what is happening in the dialog and when they can execute.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;For example, a ConsecutiveSilencesSpeechEventActivity activity increments its count when a SilenceHistoryItem is assign to the History property. SpeechEvents count the number of events globally. The ConsecutiveSilencesSpeechEventActivity activity increments its count when a SilenceHistoryItem from &lt;i&gt;any&lt;/i&gt; activity is assigned to the History property. It does not matter whether the first silence and second silence come from the same or different activities. Similarly, it resets its count when a recognition from any activity is detected. The same is true for other speech events.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;&lt;strong&gt;&lt;font color="#000080"&gt;Activating speech events&lt;/font&gt;&lt;/strong&gt;&lt;br&gt;Now that we know how a speech event tracks what happens in the dialog, we can look at how the speech events are activated. The workflow decides whether to run a speech event when a QuestionAnswerActivity activity completes a turn. This is the only point where a speech event can be started. If the speech event is active because its count matches the maximum allowed number of events, the workflow suspends the QuestionAnswerActivity activity and runs the speech event. Once the speech event completes, the QuestionAnswerActivity activity restarts, unless it was cancelled. I’d like to emphasize the point: &lt;strong&gt;you cannot force a speech event to execute only by changing the History property of the workflow&lt;/strong&gt;. Changing the History property will change the speech events counts, but it won’t force activation. Activation is decided by the workflow.&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;&lt;font color="#ff8040"&gt;&lt;strong&gt;&lt;font color="#000080"&gt;Bail-out logic&lt;/font&gt;&lt;/strong&gt;&lt;br&gt;&lt;/font&gt;Let’s go back to the solution presented above. There is a caveat worth mentioning. SpeechEvents are often used to trigger a bail-out: if the user stays silent three times in a row, the dialog is transferred or terminated.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;In our example above, the silence that is used to move to another part of the dialog will count towards any bail-out limit you may have. If you have a SpeechEvent that triggers after three silences, the user can only stay silent twice now. This is due to the global nature of the speech event count: recall that it does not matter where silence comes from. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;In this case, one comes from the initial question answer activity and the next ones come from the following question answer activity. In order to reset the count, you need to assign a RecognitionHistoryItem to the History property of the workflow. This makes sense: the first silence that was detected is not really a silence but a valid way for the user to interact with the system. By setting the history, you let the speech events know that. Setting the History is easy:&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;Workflow.History = new RecognitionHistoryItem(QAThatTriggeredTheSilence, false /*no bargein*/);&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;does the job. Changing the History property in this way will ensure that your bail-out logic works as expected.&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=813522" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>MenuActivity in MSS</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/10/05/menuactivity-in-mss.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/10/05/menuactivity-in-mss.aspx</id><published>2006-10-05T20:03:11Z</published><updated>2006-10-05T20:03:11Z</updated><content type="html">&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Tahoma" size="1"&gt;POSTED BY: AHMED STEWART, MSS Software Dev Engineer&lt;/font&gt; &lt;p&gt;&lt;font face="tahoma"&gt;Today, I’m going to talk about the MenuActivity of MSS 2007 Beta.&lt;/font&gt; &lt;p&gt;&lt;font face="tahoma"&gt;The Menu, like the name implies, allows easy selection of an item from a menu. Under the covers the activity creates a grammar consisting of the items supplied to it.&lt;/font&gt; &lt;p&gt;&lt;font face="tahoma"&gt;Menu, like the other high level activities, supports confirmation, but since I’ve already talked about in the post about the GetAndConfirm Activity, I won’t go over it again here.&lt;/font&gt; &lt;p&gt;&lt;font face="tahoma"&gt;Now, let’s get into using the MenuActivity:&lt;/font&gt; &lt;p&gt;&lt;font face="tahoma"&gt;The code below creates a string array that contains the options that the user can choose from. The Executing handler then assigns the array to the DataSource of the MenuActivity and Binds the data to the activity. The binding process just creates the required grammars from the options.&lt;/font&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;private string&lt;/font&gt;[] _choicesList = &lt;font color="#0000ff"&gt;new string&lt;/font&gt;[] { &lt;font color="#800000"&gt;"one"&lt;/font&gt;, &lt;font color="#800000"&gt;"two"&lt;/font&gt;, &lt;font color="#800000"&gt;"three"&lt;/font&gt;, &lt;font color="#800000"&gt;"four"&lt;/font&gt;, &lt;font color="#800000"&gt;"five"&lt;/font&gt; };&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void&lt;/font&gt; menuActivity1_Executing(object sender, &lt;font color="#008040"&gt;&lt;font color="#008080"&gt;ActivityExecutionStatusChangedEventArgs&lt;/font&gt; &lt;/font&gt;e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;menuActivity1.DataSource = _choicesList;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; menuActivity1.DataBind();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;}&lt;/font&gt; &lt;p&gt;&lt;font face="tahoma" size="2"&gt;Below is the TurnStarting handler which is pretty self explanatory.&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;private void&lt;/font&gt; menuActivity1_TurnStarting(&lt;font color="#0000ff"&gt;object&lt;/font&gt; sender, &lt;font color="#008080"&gt;TurnStartingEventArgs&lt;/font&gt; e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;&lt;font color="#808080"&gt;//The actual text of the prompt&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt; optionText = &lt;font color="#800000"&gt;"This is option {0}. "&lt;/font&gt;;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;&lt;font color="#808080"&gt;//Clear the prompt&lt;/font&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;menuActivity1.MainPrompt.ClearContent();&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#808080"&gt;//For each option, add a bookmark and a prompt for it.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size="2"&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt; (&lt;font color="#0000ff"&gt;string&lt;/font&gt; option &lt;font color="#0000ff"&gt;in&lt;/font&gt; _choicesList)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;{&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;menuActivity1.MainPrompt.AppendBookmark(option);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;menuActivity1.MainPrompt.AppendText(&lt;font color="#008080"&gt;String&lt;/font&gt;.Format(optionText, option));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;}&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="tahoma"&gt;The code above that constructs the prompt text inserts a bookmark before text that is associated with an option. When the default grammar recognizes “that one”, the last encountered bookmark is set as the selected option. For the curious, the constructed SSML looks like this:&lt;/font&gt; &lt;p&gt;&lt;font color="#008000"&gt;&amp;lt;speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"&amp;gt;&amp;lt;mark name="one" /&amp;gt;This is option one. &amp;lt;mark name="two" /&amp;gt;This is option two. &amp;lt;mark name="three" /&amp;gt;This is option three. &amp;lt;mark name="four" /&amp;gt;This is option four. &amp;lt;mark name="five" /&amp;gt;This is option five. &amp;lt;/speak&amp;gt;&lt;/font&gt; &lt;p&gt;&lt;font face="tahoma"&gt;Custom grammars can also be used for the “that one” recognition by adding them to the Grammars collection of the activity. If you decide to go this route, you’re going to have to set the selected option yourself. The function below is a sample grammar recognized handle that calls the appropriate method:&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;void&lt;/font&gt; customTimedRecoGrammar_Recognized(&lt;font color="#0000ff"&gt;object&lt;/font&gt; sender, &lt;font color="#008080"&gt;RecognizedEventArgs&lt;/font&gt; e)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;menuActivity1.SetSelectedOptionToMostRecentBookmark(sender, e);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font face="Courier New" size="2"&gt;}&lt;/font&gt; &lt;p&gt;&lt;font face="Tahoma"&gt;After the activity completes execution, the selection is available via the SelectedOption property.&lt;/font&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=794205" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Did you say blue? No, red.</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/09/18/761359.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/09/18/761359.aspx</id><published>2006-09-19T03:10:00Z</published><updated>2006-09-19T03:10:00Z</updated><content type="html">&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=1&gt;POSTED BY: AHMED STEWART, MSS Software Dev Engineer&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Today I’d like to talk about one of the new activities that we’ve created in MSS 2007 Beta to handle common tasks, the Get and Confirm activity. Like the name suggests, this activity simple gets an utterance from the user and based on the confidence of the recognition, confirms it with the user or not. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The GetAndConfirmActivity, G&amp;amp;C for short, allows the developer to specify a grammar and based on the confidence of the recognition confirm the recognition. If the confirmation is successful, the activity exits, otherwise the get turn is started again to get a new recognition.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The control has default confirmation grammars that can recognize, yes and no as well as accept an updated reply. E.g.:&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#008000&gt;App: Did you say blue?&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#0000a0&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#008080&gt;Caller: No, Red.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT color=#800000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#008000&gt;App: Did you say red?&lt;/FONT&gt; 
&lt;P&gt;The example below will walk through a very simple usage of the Activity and shows how to add and use a custom Dtmf grammar during the confirmation phase of the recognition. I prefer to give examples and describe what they do so hopefully everything is nice and easy to understand. 
&lt;P&gt;I like to use the Executing handler to do things that are not going to change for the duration of the control’s execution so in the handler below I assign the grammar and prompt for the “get” turn to the control. The next section of code generates and assignes the Dtmf grammar for the confirmation phase as well as specifying a handler for the Grammar’s recognized event where the determination is made as to accept or deny the recognition if Dtmf is entered. By default, the confirmation threshold is set to one so the recognition is always confirmed, to alter it simply change the value. The confirmation threshold is the starting point where confirmation will not occur. 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#0000ff&gt;private void&lt;/FONT&gt; getAndConfirmActivity1_Executing(&lt;FONT color=#0000ff&gt;object&lt;/FONT&gt; sender, &lt;FONT color=#008080&gt;ActivityExecutionStatusChangedEventArgs&lt;/FONT&gt; e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;string&lt;/FONT&gt;[] grammarChoices = &lt;FONT color=#0000ff&gt;new string&lt;/FONT&gt;[] { &lt;FONT color=#800000&gt;"one"&lt;/FONT&gt;, &lt;FONT color=#800000&gt;"two"&lt;/FONT&gt;, &lt;FONT color=#800000&gt;"three"&lt;/FONT&gt;, &lt;FONT color=#800000&gt;"four"&lt;/FONT&gt;, &lt;FONT color=#800000&gt;"five"&lt;/FONT&gt; };&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.Grammars.Add(GenerateGrammar(&lt;FONT color=#008080&gt;SrgsGrammarMode&lt;/FONT&gt;.Voice,grammarChoices));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.MainPrompt.ClearContent();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.MainPrompt.AppendText(&lt;FONT color=#800000&gt;"Say a number between one and five now."&lt;/FONT&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;string&lt;/FONT&gt;[] grammarOptions = &lt;FONT color=#0000ff&gt;new string&lt;/FONT&gt;[] { &lt;FONT color=#800000&gt;"1"&lt;/FONT&gt;, &lt;FONT color=#800000&gt;"2"&lt;/FONT&gt; };&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#008080&gt;Grammar&lt;/FONT&gt; confirmationDtmfGrammar = GenerateGrammar(&lt;FONT color=#008080&gt;SrgsGrammarMode&lt;/FONT&gt;.Dtmf, grammarOptions);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;confirmationDtmfGrammar.Recognized += &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;EventHandler&lt;/FONT&gt;&amp;lt;&lt;FONT color=#008080&gt;RecognizedEventArgs&lt;/FONT&gt;&amp;gt;(confirmationDtmfGrammar_Recognized);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.ConfirmationDtmfGrammars.Add(confirmationDtmfGrammar);&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt; 
&lt;P&gt;The Confirmation Turn starting handler is pretty basic, it just specifies the prompt that will be played during the confirmation turn. 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;private void&lt;/FONT&gt; getAndConfirmActivity1_ConfirmationTurnStarting(&lt;FONT color=#0000ff&gt;object&lt;/FONT&gt; sender, &lt;FONT color=#008080&gt;TurnStartingEventArgs&lt;/FONT&gt; e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;{&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.ConfirmationMainPrompt.ClearContent();&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.ConfirmationMainPrompt.AppendText(&lt;FONT color=#800000&gt;"The last recognition result was, "&lt;/FONT&gt; + getAndConfirmActivity1.RecognitionResult.Text +&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#800000&gt;", if this is correct say yes or press 1. If not say no or press 2."&lt;/FONT&gt;);&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt; 
&lt;P&gt;The last piece of the puzzle is the handler for the &lt;FONT face="Courier New" size=2&gt;confirmationDtmfGrammar_Recognized&lt;/FONT&gt;. It simply checks the value of the recognized Dtmf digits and either accepts the recognition or denies it. 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt; confirmationDtmfGrammar_Recognized(&lt;FONT color=#0000ff&gt;object&lt;/FONT&gt; sender, &lt;FONT color=#008080&gt;RecognizedEventArgs&lt;/FONT&gt; e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt; (1 == &lt;FONT color=#0000ff&gt;int&lt;/FONT&gt;.Parse(e.Result.Text))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.Accept(sender, e);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#0000ff&gt;else&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;getAndConfirmActivity1.Deny(sender, e);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;/FONT&gt; 
&lt;P&gt;In this example the default grammars provided with the control are still active. To disable them, just set the value of getAndConfirmActivity1.UseDefaultGrammars to false. 
&lt;P&gt;Since I know some of you are curious about what it contains here’s the GenerateGrammar function. 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#800000&gt;/// &amp;lt;summary&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#800000&gt;///&lt;/FONT&gt; &lt;FONT color=#808080&gt;This function generates a grammar with the members of the provided string array as choices.&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#800000&gt;/// &amp;lt;/summary&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#800000&gt;/// &amp;lt;param name&lt;/FONT&gt;=&lt;FONT color=#808080&gt;"grammarMode"&amp;gt;The mode of the grammar, either Dtmf or voice.&lt;/FONT&gt;&lt;FONT color=#800000&gt;&amp;lt;/param&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#800000&gt;/// &amp;lt;param name&lt;/FONT&gt;&lt;FONT color=#808080&gt;="grammarChoices"&amp;gt;The string array containing the choices in the grammar.&lt;/FONT&gt;&lt;FONT color=#800000&gt;&amp;lt;/param&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#800000&gt;/// &amp;lt;returns&amp;gt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;The constructed grammar object.&lt;/FONT&gt;&lt;FONT color=#800000&gt;&amp;lt;/returns&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;public static&lt;/FONT&gt; &lt;FONT color=#008080&gt;Grammar&lt;/FONT&gt; GenerateGrammar(&lt;FONT color=#008080&gt;SrgsGrammarMode&lt;/FONT&gt; grammarMode, &lt;FONT color=#0000ff&gt;string&lt;/FONT&gt;[] grammarChoices)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt; (0 &amp;gt;= grammarChoices.Length)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#0000ff&gt;throw new&lt;/FONT&gt; &lt;FONT color=#008080&gt;ArgumentNullException&lt;/FONT&gt;(grammarChoices.ToString());&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008080&gt;SrgsDocument&lt;/FONT&gt; grammarDoc = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;SrgsDocument&lt;/FONT&gt;();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;grammarDoc.Mode = grammarMode;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#808080&gt;//The name of the rule that will be created&lt;/FONT&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#008080&gt;SrgsRule&lt;/FONT&gt; rule = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;SrgsRule&lt;/FONT&gt;(&lt;FONT color=#800000&gt;"GrammarOptions"&lt;/FONT&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;rule.Scope = &lt;FONT color=#008080&gt;SrgsRuleScope&lt;/FONT&gt;.Public;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#008080&gt;SrgsItem&lt;/FONT&gt; item = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;SrgsItem&lt;/FONT&gt;();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#008080&gt;SrgsOneOf&lt;/FONT&gt; choice = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;SrgsOneOf&lt;/FONT&gt;(grammarChoices);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;item.Add(choice);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;rule.Add(item);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;grammarDoc.Rules.Add(rule);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;grammarDoc.Root = rule;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT color=#0000ff&gt;return new&lt;/FONT&gt; &lt;FONT color=#008080&gt;Grammar&lt;/FONT&gt;(grammarDoc);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=761359" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Local Accounts and MSS 2007 Beta</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/09/08/746592.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/09/08/746592.aspx</id><published>2006-09-08T20:30:00Z</published><updated>2006-09-08T20:30:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma color=#000080 size=1&gt;POSTED BY: MARK PARKER, MSS Programmer Writer&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;If you are developing a Microsoft Speech Server 2007 Beta&amp;nbsp;voice response application that writes data to a disk file, you will need to grant write access to the file (or the directory that contains the file) to either the ASPNET local account or the NETWORK SERVICE local account. MSS 2007&amp;nbsp;Beta&amp;nbsp;uses one of these accounts whenever it creates or writes to a file. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;If you are running MSS 2007 Beta on Microsoft Windows XP, grant write access to the ASPNET local account. If you are running MSS 2007 Beta on Microsoft Windows Server 2003, grant write acces to the NETWORK SERVICE local account.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;To grant write access to the ASPNET local account in Windows XP:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;In &lt;STRONG&gt;Windows Explorer&lt;/STRONG&gt;, navigate to the directory that contains the file(s) you want to write to. &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;On the right-click menu, select &lt;STRONG&gt;Sharing and Security&lt;/STRONG&gt;. &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;On the property page for the directory, select the &lt;STRONG&gt;Security&lt;/STRONG&gt; tab. &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;Click &lt;STRONG&gt;Add…&lt;/STRONG&gt; &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;On the &lt;STRONG&gt;Select Users, Computers, or Groups&lt;/STRONG&gt; page, enter MachineName\ASPNET in the textbox, and then click &lt;STRONG&gt;OK&lt;/STRONG&gt;. (For MachineName, use the name of the machine as found in the My Computer properties.) On the property page for the directory, an entry for ASP.NET Machine Account (MachineName\ASPNET) now appears in the Group or user names: pane. &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;In the &lt;STRONG&gt;Allow&lt;/STRONG&gt; column in the lower half of the property page, check the &lt;STRONG&gt;Write&lt;/STRONG&gt; box, then click &lt;STRONG&gt;Apply&lt;/STRONG&gt;, and then click &lt;STRONG&gt;OK&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;To grant write access to the NETWORK SERVICE local account in Windows Server 2003:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;Perform steps 1 through 4 in the previous procedure. &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;For step 5, enter&lt;STRONG&gt; NETWORK SERVICE&lt;/STRONG&gt; in the textbox. You do not need to prefix this with the machine name. &lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Tahoma color=#000080 size=2&gt;Perform step 6 in the previous procedure.&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=746592" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>It's all good</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/08/17/705048.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/08/17/705048.aspx</id><published>2006-08-18T03:52:00Z</published><updated>2006-08-18T03:52:00Z</updated><content type="html">&lt;IMG src="http://blogs.msdn.com/photos/mssblog/images/705030/thumb.aspx" border=0&gt; 
&lt;P style="FONT-SIZE: 7.5pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;POSTED BY: KEN CIRCEO, MSS Lead Tech Writer&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;Now that I'm over the initial jolt of learning that&amp;nbsp;Speech Server will be&amp;nbsp;integrated with Office&amp;nbsp;Communications Server (nee LCS), I thought I'd take a minute to write down my reaction and how I expect the integration to impact my work. (I'm just talkin' here. It's therapeutic. Bear with me.)&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;I don't mind change. If I did, I wouldn't last long in this industry. Making software isn't like making aluminum. Things don't just stay the same year after year, decade after decade. So when someone above me decides to integrate my product with another product, I accept it. In fact, at my pedestrian level,&amp;nbsp;accepting the change is critical; understanding the reason behind it is far less important.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;After last week's announcement, one of our partners said that&amp;nbsp;adding MSS to OCS will give his company "a more extensive set of capabilities on which to build compelling unified communications solutions for our customers." Wow. It's hard to read that without marvelling at&amp;nbsp;the jargon.&amp;nbsp;I wonder if that was off the top of his head.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;One of&amp;nbsp;our VPs&amp;nbsp;(I&amp;nbsp;forget which one) calls it tipping over the siloes. I don't&amp;nbsp;doubt that, but I&amp;nbsp;also don't get it.&amp;nbsp;I'm going to need Tillman to&amp;nbsp;explain to me exactly what "tipping over the siloes" means. Maybe it has something to do with merging the API sets, or at least letting them hook into each other. Whatever it is, Tillman will straighten it out. He has a good bird's eye view on the software industry. I bet he can instantly see how integrating MSS with OCS will affect our customers, their companies, and the MSFT stock price. Also,&amp;nbsp;he's more left-brained than I am, which&amp;nbsp;is why he's got a far better shot at becoming a&amp;nbsp;VP than I do. But, trust me,&amp;nbsp;I can live with that. Both Tillman and I know that I'm not the brightest guy in the world (see picture).&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;So as far as the whole integration goes. Hey, if it's ok with Microsoft, it's ok with me. I'm still running the video project, doing the whole Community Lead thing, and cranking out Help docs and whitepapers. And&amp;nbsp;I'm sure in the weeks ahead, even the technical details will start making more sense to me.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;Really. It's all good.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=705048" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Introducing Office Communication Server with Speech Platform Services</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/08/08/692219.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/08/08/692219.aspx</id><published>2006-08-08T18:12:00Z</published><updated>2006-08-08T18:12:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Tahoma color=#006400 size=1&gt;POSTED BY: KEN CIRCEO, MSS Lead Tech Writer&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#006400 size=2&gt;Today from the SpeechTEK 2006 conference in New York, Microsoft Corp. &lt;/FONT&gt;&lt;FONT face=Tahoma size=2&gt;&lt;FONT color=#006400&gt;announced that the full capabilities of Microsoft&lt;FONT size=1&gt;(R)&lt;/FONT&gt; Speech Server 2007 will be integrated into Microsoft Office Communications Server 2007, extending the company's commitment to unified communications and breaking down today's silos of instant messaging, Internet Protocol telephony, voice response, audioconferencing and videoconferencing. &lt;A href="http://news.moneycentral.msn.com/ticker/article.asp?Feed=PR&amp;amp;Date=20060808&amp;amp;ID=5929621&amp;amp;Symbol=US:MSFT"&gt;More...&lt;/A&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;&lt;A href="http://gotspeech.net/blogs/marshallharrison/archive/2006/08/08/1451.aspx"&gt;Read the GotSpeech guy's response&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=692219" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>SpeechTEK 2006: Grab me a T-shirt while you're there</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/08/03/688051.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/08/03/688051.aspx</id><published>2006-08-04T02:58:00Z</published><updated>2006-08-04T02:58:00Z</updated><content type="html">&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080 size=1&gt;POSTED BY: KEN CIRCEO, MSS Lead Tech Writer&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;The year's biggest speech conference, &lt;A href="http://www.speechtek.com"&gt;SpeechTEK 2006&lt;/A&gt;, will be held next week at the Marriott Marquis in NYC. I wanted to go, but Microsoft turned me down. Probably with good cause. I just wanted the free T-shirts. It doesn't matter. I'm already over it. (Really.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;SpeechTEK is now in its twelfth year. It started in Boston in 1995, then moved to the Big Apple the next year and it's been there ever since. If you're one of the lucky ones who gets to go this year, look for Microsoft in Booth 502. You can hardly miss it. It's one of the large booths that hits you just as you walk into the Expo Hall.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Also, here's a list of MSS sessions and speakers. If you haven't heard these speakers before, I know most of them pretty well. They're all good speakers. (If they weren't, I'd tell you.) Rich Bray is giving the keynote on Tuesday at 8:30AM. Have a great time. And don't worry about me. I'm fine. (But if you get an extra T-shirt, you can send it to me at One Microsoft Way, Redmond, WA 98052. No obligation or anything.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: blue; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;Mon, Aug 7&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;VOX 2006-Service Provider Edition: Expanding Your Reach in Real-Time: SOA or SOL: Leveraging Web Infrastructure &lt;SPAN style="COLOR: black"&gt;Panel Discussion&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;ALBERT KOOIMAN, Senior Business Development Manager&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;1:30PM–2:15PM in the Astor Ballroom&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: blue; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;Tue, Aug 8&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;FONT color=#ff0000&gt;KEYNOTE:&lt;/FONT&gt; Unified Communications - The Next Wave of Speech Technology Applications&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;RICHARD BRAY, General Manager in Unified Communications &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;8:30AM–9:45AM in the Broadway Ballroom&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Advanced Speech Technology Symposium (AVIOS): Advanced Speech and NL Technology &lt;/FONT&gt;&lt;FONT color=#000000&gt;Panel Discussion&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;ALEX ACERO, Research Area Manager&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;11:00AM–12:30PM in the Plymouth/Royale Room&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;VUI Track (Authoring &amp;amp; Tuning): Tuning the VUI, Not Tuning The Parameters &lt;/FONT&gt;&lt;FONT color=#000000&gt;Panel Discussion&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;STEPHEN POTTER, Program Manager &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;4:00PM–5:00PM in the Gramercy/Olmstead Room&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Consumer Electronics &amp;amp; MM Track: Devices &lt;/FONT&gt;&lt;FONT color=#000000&gt;Panel Discussion&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;ALEX ACERO, Research Area Manager&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;4:00PM–5:00PM in the Uris/Shubert Room&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#a52a2a&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: blue; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#0000ff&gt;Wed, Aug 9&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Developing and Tuning Applications with MSS 2007&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;DAVID OLLASON, Lead Program Manager&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;STEPHEN POTTER, Program Manager &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;10:00AM–12:30PM in the Wintergarden/Palace Room&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Improving Customer Loyalty: Building An Effective Self-Service Strategy &lt;SPAN style="COLOR: black"&gt;Panel Discussion&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;ABHIJIT SARKAR, Senior Business Development Manager&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;11:00AM–12:00PM in the Music Box/Majestic Room&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Consumer Electronics &amp;amp; MM Track: Overcoming Barriers to Multimodal Application Development &lt;SPAN style="COLOR: black"&gt;Panel Discussion&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;ALBERT KOOIMAN, Senior Business Development Manager&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;2:00PM–3:30PM in the Uris/Shubert Room&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Strategic &amp;amp; Management Insights Track: Mobilizing Your Workforce &lt;SPAN style="COLOR: black"&gt;Panel Discussion&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;CLINT PATTERSON, Director of Product Management&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;2:00PM–3:30PM in the Soho/Herald Room&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;Are These Technologies Ready for Primetime Track: You Decide – Unifying Your Communications &lt;SPAN style="COLOR: black"&gt;Panel Discussion&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;CLINT PATTERSON, Director of Product Management&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; COLOR: black; FONT-FAMILY: Tahoma; mso-outline-level: 1"&gt;&lt;FONT color=#000080&gt;3:45PM–5:00PM in the Chelsea/Gotham Room&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=688051" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>SALT in Skagit (Part 3)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/07/12/663657.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/07/12/663657.aspx</id><published>2006-07-12T22:31:00Z</published><updated>2006-07-12T22:31:00Z</updated><content type="html">&lt;SPAN style="FONT-SIZE: 11pt"&gt;&lt;FONT size=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400 size=1&gt;POSTED BY: GUNNAR KUDRJAVETS, MSS Software Design Engineer&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400 size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ALAN TURNQUIST, MSS Software Design Engineer&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400 size=1&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Here are some recent FAQs about SALT:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=2&gt;&lt;FONT color=#a52a2a&gt;&lt;STRONG&gt;Q:&lt;/STRONG&gt; How do I debug a SALT application running inside a Windows Workflow Foundation (WWF) application?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;A:&lt;/STRONG&gt; You can use the debugger statement (&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/c6d2e193-c1f7-4fb3-8a4e-cc9823174ae4.asp"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/c6d2e193-c1f7-4fb3-8a4e-cc9823174ae4.asp&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt;) in the JScript portion of your application to break into the debugger. After you press F10 in Visual Studio the debugger attaches itself to the relevant W3WP.EXE process. If a debugger statement is executed, your application will encounter a breakpoint and you would be able to step through the JScript inside your SALT application and do all the usual debugging.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT size=2&gt;&lt;FONT color=#a52a2a&gt;&lt;STRONG&gt;Q:&lt;/STRONG&gt; What’s the window.applicationData property introduced in MSS 2007 and how can I benefit from it?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;A:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman" size=3&gt; &lt;/FONT&gt;&lt;FONT size=2&gt;The window.applicationData property will persist across the lifetime of the SALT application. This means that for example you can do the following things:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT color=#006400&gt;&lt;FONT size=2&gt;
&lt;LI&gt;In your workflow application code in C# you can add data to the dictionary.&lt;BR&gt;&lt;BR&gt;this.saltInterpreterActivity1.ApplicationData["foo"] = "bar";&lt;BR&gt;this.saltInterpreterActivity1.ApplicationData["AnswerToEverything"] = 42;&lt;BR&gt;this.saltInterpreterActivity1.ApplicationData["SomeObjectIWishToUseInSalt"] = new MyObject();&lt;BR&gt;&lt;BR&gt;In SALT you can later use window.applicationData to access all this information from any individual SALT page. &lt;BR&gt;&lt;br&gt;
&lt;LI&gt;In one SALT page you can add some information and it’ll be available to all the other pages in your application. For example you might set something in your start page and later the error page will be able to access this data. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;After the SALT application terminates, your workflow application will be able to access the data stored by the SALT application. For example if you want to log something in the error page, you can add it to the dictionary and then use C# code to write the error into NT Event Log, log file, etc. &lt;/P&gt;
&lt;OL&gt;&lt;/OL&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#a52a2a&gt;&lt;STRONG&gt;Q:&lt;/STRONG&gt; How do I close a SALT application which is running part of WWF application without terminating the telephony session?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A:&lt;/STRONG&gt; If a SALT application is running from within a workflow,&amp;nbsp;there are two choices to exit the SALT application:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The SALT application sends the ClearConnection CSTA message which will cause us to call TelephonySession.Close() which will terminate the call.&lt;BR&gt;&lt;br&gt;
&lt;LI&gt;The SALT application calls window.close(). In this case, we’ll close the application and do all the required cleanup, but won’t close the telephony session. After that you can continue with your application from the workflow.&lt;/LI&gt;&lt;/UL&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Tahoma color=#006400 size=2&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=663657" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>MSS partners win Most Innovative Solutions Awards!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mssblog/archive/2006/07/05/657216.aspx" /><id>http://blogs.msdn.com/b/mssblog/archive/2006/07/05/657216.aspx</id><published>2006-07-05T23:27:00Z</published><updated>2006-07-05T23:27:00Z</updated><content type="html">&lt;P style="FONT-SIZE: 7.5pt; MARGIN: 0in; COLOR: navy; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;POSTED BY: CLINT PATTERSON, Director of Product Marketing, Microsoft Speech Server&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: navy; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: 0in; COLOR: navy; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&lt;FONT size=3&gt;CONGRATULATIONS!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: navy"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: tahoma; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: navy"&gt;Landstar&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt; and &lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: navy"&gt;ParkingCarma&lt;/SPAN&gt;&lt;SPAN style="COLOR: navy"&gt;, two Microsoft Speech Server partners, have been named &lt;/SPAN&gt;&lt;A href="http://www.speechtechmag.com/ME2/Audiences/dirmod.asp?sid=6F7CC462F9804BA7B86FEE59A43BCA04&amp;amp;nm=ARCHIVES&amp;amp;type=Publishing&amp;amp;mod=Publications::Article&amp;amp;mid=8F3A7027421841978F18BE895F87F791&amp;amp;AudID=C7BACAE873424C4AA3347BD794887D05&amp;amp;tier=4&amp;amp;id=EEF9F2F19B06489392D0F36F9AADE137"&gt;&lt;SPAN style="COLOR: blue"&gt;2006 Most Innovative Solutions&lt;/A&gt; &lt;FONT color=#000080&gt;winners &lt;/FONT&gt;&lt;FONT color=#000080&gt;in this year's &lt;EM&gt;Speech Technology Magazine&lt;/EM&gt; competition.&lt;/FONT&gt;&lt;/P&gt;
&lt;p&gt;&lt;/p&gt;&lt;TABLE=75% border="0" cellspacing="0" cellpadding="0"&gt;&lt;TR&gt;&lt;TD&gt;&lt;IMG src="http://blogs.msdn.com/photos/mssblog/images/657219/thumb.aspx" border=0&gt;&lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.landstar.com/"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: tahoma"&gt;Landstar System, Inc.&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: navy; FONT-FAMILY: tahoma"&gt;, a transportation service company, created a Speech Server solution that enables truck drivers to receive voice notification of suitable loads over their cell phones.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;p&gt;&lt;/p&gt;
&lt;TR&gt;&lt;TD&gt;&lt;IMG src="http://blogs.msdn.com/photos/mssblog/images/657221/thumb.aspx" border=0&gt;&lt;/TD&gt;&lt;TD&gt;&lt;A href="http://www.parkingcarma.com/"&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: tahoma"&gt;ParkingCarma&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="COLOR: navy; FONT-FAMILY: tahoma"&gt; is the creator of SmartParking technology, a Speech Server solution that lets drivers determine the availability of parking spaces from their cars, homes, or offices.&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt; 
&lt;p&gt;&lt;/p&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"&gt;&lt;SPAN style="COLOR: navy; FONT-FAMILY: tahoma"&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;BUT WAIT...THERE'S MORE!&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"&gt;&lt;SPAN style="COLOR: navy; FONT-FAMILY: tahoma"&gt;&lt;STRONG&gt;&lt;FONT color=#000080&gt;VOTE NOW for Microsoft Speech Server 2007!&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"&gt;&lt;SPAN style="COLOR: navy; FONT-FAMILY: tahoma"&gt;&lt;FONT color=#000080&gt;Speech Server 2007 is a candidate for Best New Product in 2007. You can vote by visiting &lt;/FONT&gt;&lt;A title="http://209.196.51.46/Console/Common/EmailBroadcast/Activity.asp?ReportName=FBA556BEA586403E8CBF19BB80EAE2A6---2006-07-05-8-33-59-AM.xml&amp;amp;EmailURL=http://www.speechtechmag.com/SSAVote&amp;#10;http://209.196.51.46/Console/Common/EmailBroadcast/Activity.asp?ReportNam" href="http://209.196.51.46/Console/Common/EmailBroadcast/Activity.asp?ReportName=FBA556BEA586403E8CBF19BB80EAE2A6---2006-07-05-8-33-59-AM.xml&amp;amp;EmailURL=http://www.speechtechmag.com/SSAVote"&gt;&lt;FONT title=http://209.196.51.46/Console/Common/EmailBroadcast/Activity.asp?ReportName=FBA556BEA586403E8CBF19BB80EAE2A6---2006-07-05-8-33-59-AM.xml&amp;amp;EmailURL=http://www.speechtechmag.com/SSAVote face=Arial color=#0000ff&gt;&lt;SPAN title=http://209.196.51.46/Console/Common/EmailBroadcast/Activity.asp?ReportName=FBA556BEA586403E8CBF19BB80EAE2A6---2006-07-05-8-33-59-AM.xml&amp;amp;EmailURL=http://www.speechtechmag.com/SSAVote style="FONT-FAMILY: Arial"&gt;http://www.speechtechmag.com/SSAVote&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000080&gt; &lt;STRONG&gt;before July 10&lt;/STRONG&gt;. Speech Server partners Persay and Cantata are also up for awards in the categories of Best Speaker Verification and Best Tool respectively.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1"&gt;&lt;SPAN style="COLOR: navy; FONT-FAMILY: tahoma"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=657216" width="1" height="1"&gt;</content><author><name>mssblog</name><uri>http://blogs.msdn.com/mssblog/ProfileUrlRedirect.ashx</uri></author></entry></feed>