<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://gotspeech.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>I’m listening…</title><link>http://gotspeech.net/blogs/jonpoploskie/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>OCS Speech Server 2007 MessageQueue processing bug</title><link>http://gotspeech.net/blogs/jonpoploskie/archive/2008/12/02/messagequeue-processing-bug.aspx</link><pubDate>Tue, 02 Dec 2008 19:46:00 GMT</pubDate><guid isPermaLink="false">ee4a8bf5-2c3f-4c6b-ae96-6f68de28010e:7650</guid><dc:creator>jonpoploskie</dc:creator><slash:comments>0</slash:comments><comments>http://gotspeech.net/blogs/jonpoploskie/comments/7650.aspx</comments><wfw:commentRss>http://gotspeech.net/blogs/jonpoploskie/commentrss.aspx?PostID=7650</wfw:commentRss><description>&lt;P&gt;If you have worked with outbound calls in MSS 2004, you may know that you can set the priority on the Messages you submit to the queue and TAS will pull them off the queue in priority order. So if you have a queue with 1000 'Normal' priority messages in it, you can submit a 'Highest' priority message which would be the next message that TAS picks up when an interpreter is available. Just fyi, you can use the following priorities on your messages (&lt;A href="http://msdn.microsoft.com/en-us/library/system.messaging.messagepriority(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/system.messaging.messagepriority(VS.80).aspx&lt;/A&gt;): 
&lt;DIV style="MARGIN-LEFT:3pt;"&gt;
&lt;TABLE class="" style="BORDER-COLLAPSE:collapse;"&gt;





&lt;TR style="BACKGROUND:#cccccc;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#cccccc 0.25pt solid;PADDING-RIGHT:5px;BORDER-TOP:#cccccc 0.25pt solid;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.25pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#c8cdde 0.75pt solid;" colSpan=2&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#cccccc 0.25pt solid;PADDING-RIGHT:5px;BORDER-TOP:#cccccc 0.25pt solid;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#c8cdde 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:#000066;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;Member name&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#cccccc 0.25pt solid;PADDING-RIGHT:5px;BORDER-TOP:#cccccc 0.25pt solid;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#c8cdde 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:#000066;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;AboveNormal&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;Between &lt;STRONG&gt;High&lt;/STRONG&gt; and &lt;STRONG&gt;Normal&lt;/STRONG&gt; message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;High&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;High message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;Highest&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;Highest message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;Low&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;Low message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;Lowest&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;Lowest message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;Normal&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;Normal message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;VeryHigh&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;Between &lt;STRONG&gt;Highest&lt;/STRONG&gt; and &lt;STRONG&gt;High&lt;/STRONG&gt; message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="BACKGROUND:white;"&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:#cccccc 0.75pt solid;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;" colSpan=2&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;&lt;STRONG&gt;VeryLow&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT:#d5d5d3 0.75pt solid;PADDING-RIGHT:5px;BORDER-TOP:medium none;PADDING-LEFT:5px;PADDING-BOTTOM:5px;BORDER-LEFT:medium none;PADDING-TOP:5px;BORDER-BOTTOM:#cccccc 0.75pt solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:8pt;COLOR:black;FONT-FAMILY:Verdana;"&gt;Between &lt;STRONG&gt;Low&lt;/STRONG&gt; and &lt;STRONG&gt;Lowest&lt;/STRONG&gt; message priority.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;P&gt;In OCS Speech Server, however, this priority mechanism was broken. We were unable to determine any specific pattern that Speech Server used to pull messages off the queue. Happily however, we have worked through this with Microsoft and a hotfix is being released. If you are experiencing any queue priority issues, contact Microsoft support and you should be able to get the hotfix when it's available. I will try to post an update here when it is realeased.&lt;/P&gt;&lt;img src="http://gotspeech.net/aggbug.aspx?PostID=7650" width="1" height="1"&gt;</description></item><item><title>Fun with outbound, v2...</title><link>http://gotspeech.net/blogs/jonpoploskie/archive/2008/10/09/fun-with-outbound-v2.aspx</link><pubDate>Thu, 09 Oct 2008 15:43:26 GMT</pubDate><guid isPermaLink="false">ee4a8bf5-2c3f-4c6b-ae96-6f68de28010e:7237</guid><dc:creator>jonpoploskie</dc:creator><slash:comments>0</slash:comments><comments>http://gotspeech.net/blogs/jonpoploskie/comments/7237.aspx</comments><wfw:commentRss>http://gotspeech.net/blogs/jonpoploskie/commentrss.aspx?PostID=7237</wfw:commentRss><description>&lt;p&gt;Wow, 2 years since my last post!  I'll see if I can be a bit more regular.
&lt;/p&gt;&lt;p&gt;A lot of what bridgeSpeak (my company) does is outbound.  Ever since the &lt;a href="http://www.microsoft.com/presspass/press/2003/oct03/10-01STJDPPR.mspx"&gt;original Speech Server JDP&lt;/a&gt;, it seems we're one of the few (very few I'm told) partners doing outbound via analog.  It has been a rough road at times...  Anyone who remembers the original SQL Server Notification Services triggering mechanism and/or v1 TIMs knows what I'm talking about.
&lt;/p&gt;&lt;p&gt;Anyway, now we've been moving along with OCS Speech Server and I can't quite decide if I miss the "good old days" of outbound on 2004 R2, or if we're moving forward.  It's difficult to tell in an analog world!  So I thought I'd outline some of the challenges we've seen, some of the solutions we've found, and provide a jumping off point for anyone else in a similar situation.
&lt;/p&gt;&lt;p&gt;One of the main challenges we face is that the gateways that provide the interface to the PBX/PSTN were not really built for this purpose (outbound IVR in particular).  I'm not a telephony guy, so anyone can feel free to tell me I'm wrong.  But just a simple comparison from the previous technology seems to make that case.  With a Dialogic D41JCTLS card, you got some call progress analysis, answering machine detection, etc.  You do not really get this in the gateway.  Our initial thought was just to continue using the (more expensive) cards along with the TIMC.  BUT the TIMC requires a TIM, and the TIM vendors are no longer licensing/supporting their TIMs.  So the only scenario that the TIMC is good for that I'm aware of is to migrate an existing licensed 2004 deployment to 2007.
&lt;/p&gt;&lt;p&gt;We have bounced back and forth between the AudioCodes (MP114FXO) and Dialogic.  It seems that both manufacturers are working towards making their gateways more comparable to some of the telephony cards.  They are introducing more call progress, tone detection, etc.  We are happy to see this evolution, but it can still be a bit tricky.  One hurdle we've had to jump is in regard to early media.  Both gateways have some sort of 'instant' or 'voice detection' mode.  When the setting is instant (early media), as soon as the call is initiated or set up the gateway sends the 200 OK back and starts streaming the call back to OCS.  As far as OCS knows, the call is connected.  Voice detection mode only starts streaming the data to OCS once it determines that something has answered the call, or some preconnect analysis (busy for example) prevents the call from being connected.
&lt;/p&gt;&lt;p&gt;Here's the trouble.  Since the gateways don't currently support answering machine detection, the application must do it.  If you are using the DetectAnsweringMachineActivity and use the voice detection mode on the gateway, a 'hello' is generally going to be 'eaten' by the gateway's voice detection and will not be streamed to the app.  So an end-user is generally going to have to say 'hello' twice in order for the application to determine that a human answered.  This isn't as much of an issue if an answering machine answers because it is generally still talking when the DetectAnsweringMachine activity's turn starts.  We have attempted to solve this by wrapping the DetectAnsweringMachine activity in a do-while loop.  We set a configurable max number of times for it to loop, and continue looping while the activity's DetectionResult is none:
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt;
			&lt;span style="color:blue;"&gt;void&lt;/span&gt; whileNoneLoop_CodeCondition(&lt;span style="color:blue;"&gt;object&lt;/span&gt; sender, ConditionalEventArgs e)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;
			&lt;span style="color:blue;"&gt;if&lt;/span&gt; (detectAnsweringMachineActivity1.DetectionResult == DetectionResult.None &amp;amp;&amp;amp; loopCount &amp;lt; loopQuantity)
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;    {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;        loopCount++;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;        e.Result = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;
			&lt;span style="color:blue;"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;    }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;
			&lt;span style="color:blue;"&gt;else
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;    {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;        e.Result = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;
			&lt;span style="color:blue;"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;    }
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The key here is that the gateway must be set to the 'Instant' mode so that it starts streaming data back to the application immediately.  That way all utterances are availble to the application for analysis.  This can present some issues with preconnect call analysis (busy, SIT, etc), and we are still working through some of those with the gateway vendors.  If we get to the max loop count and the DetectionResult is still None, we just make an assumption about what it is and go from there.
&lt;/p&gt;&lt;p&gt;We have also experimented with a very promising product from Paraxip, their &lt;a href="http://www.paraxip.com/Products/files/NetBorder_Call_Analyzer.pdf"&gt;NetBorder Call Analyzer&lt;/a&gt;.  This is a software solution that can basically interject itself between the gateway and OCS (or any SIP UA I suppose) and provides Call Progress information.  The trouble we have had here seems to be related to our analog lines.  When we analyze the recorded SIT tones we get back, for example, the frequencies do not match up with the standard defintions and so the Call Analyzer is not recognizing them.  Does anyone else use analog lines and have trouble detecting tones, etc?  In any case, the Paraxip product looks very promising and their support has been very good.
&lt;/p&gt;&lt;p&gt;We have also experienced some issues with the outbound message queue locking up (the queue itself works fine, but OCS stops pulling messages) and message priorities being ignored.  Those have both been acknowledged as bugs from Microsoft and we are waiting on a fix to test those.
&lt;/p&gt;&lt;p&gt;Anyway, I think this is long enough for now.  I'd love to hear other people's feedback about using OCS for outbound calls!&lt;/p&gt;&lt;img src="http://gotspeech.net/aggbug.aspx?PostID=7237" width="1" height="1"&gt;</description><category domain="http://gotspeech.net/blogs/jonpoploskie/archive/tags/outbound/default.aspx">outbound</category><category domain="http://gotspeech.net/blogs/jonpoploskie/archive/tags/OCS/default.aspx">OCS</category></item><item><title>Why the bad rap?</title><link>http://gotspeech.net/blogs/jonpoploskie/archive/2006/06/21/973.aspx</link><pubDate>Wed, 21 Jun 2006 12:59:00 GMT</pubDate><guid isPermaLink="false">ee4a8bf5-2c3f-4c6b-ae96-6f68de28010e:973</guid><dc:creator>jonpoploskie</dc:creator><slash:comments>6</slash:comments><comments>http://gotspeech.net/blogs/jonpoploskie/comments/973.aspx</comments><wfw:commentRss>http://gotspeech.net/blogs/jonpoploskie/commentrss.aspx?PostID=973</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;In our market, we're often confronted by resistance to automation.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The common sentiment: &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;"I have to call XYZ Co. all the time and I hate their automated systems!&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;I can never do what I need, and I can never talk to a person.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;I'd never put something like that in my store!"&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Well, having experienced many of the same systems myself, I can't blame them.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;I don't believe that they're complaining about automation per se; they're complaining about their experiences with poorly designed systems. &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Unfortunately for many of us in this industry, the customer makes no distinction between the two.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;They have simply made the decision that automation = poor customer service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Now here's what I find really interesting about this.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;The primary alternative to automation is, of course, people.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;But are people always a better alternative?&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Surely customers experience some of the same frustrations with people as they do automation.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;I know that I have personally had excruciatingly painful customer service experiences with human reps.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;So why does automation get such a bad rap?&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Certainly a lot of the reason is because there are systems out there that it would seem were designed to infuriate people.&amp;nbsp; There can be no other explanation for the way these systems work (or fail to).&amp;nbsp; Unfortunately these systems are often widely deployed by national companies and tend to color many people's perception of automation in general.&amp;nbsp; But that's been well discussed numerous places already.&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;I believe&amp;nbsp;another&amp;nbsp;reason is because customers can complain to people.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;For example, people can complain about the horrible experience they just had with the company's IVR (or the company's product, or the weather, or whatever strikes their fancy), and they can even demand the system be replaced with humans.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;But can you really complain about a bad experience with a human rep to a computer?&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;You typically don't get much sympathy!&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Have you ever been talking to a rep and said "I demand to talk with your IVR!"&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Does part of the appeal of human reps have nothing to do with their actual service, but the ability to complain to someone?&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Even if they lack the customer service skills to empathize with you, at least you typically get something better than, "I'm sorry, I didn't understand you.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Let's start over..."&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Verdana size=2&gt;So what does this mean for speech companies?&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;I think that will be my next topic.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;I'd like to hear other people's opinions on it in the meantime, though...&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://gotspeech.net/aggbug.aspx?PostID=973" width="1" height="1"&gt;</description></item><item><title>Off Topic: The reason I missed the beta meeting...</title><link>http://gotspeech.net/blogs/jonpoploskie/archive/2006/06/06/837.aspx</link><pubDate>Tue, 06 Jun 2006 15:42:00 GMT</pubDate><guid isPermaLink="false">ee4a8bf5-2c3f-4c6b-ae96-6f68de28010e:837</guid><dc:creator>jonpoploskie</dc:creator><slash:comments>1</slash:comments><comments>http://gotspeech.net/blogs/jonpoploskie/comments/837.aspx</comments><wfw:commentRss>http://gotspeech.net/blogs/jonpoploskie/commentrss.aspx?PostID=837</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana&gt;On Friday, my wife Kristen gave birth to our new daughter, Morgan!&amp;nbsp; I was supposed to attend the beta meetings for MSS 2007 a few weeks back, but somebody was giving us some signs that she was going to arrive early.&amp;nbsp; She fooled us and didn't show up until last Friday...&amp;nbsp; Should have known then that she was a girl... :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;Sorry for the off-topic post, but hey, can you blame a new (second-time) dad??&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://gotspeech.net/aggbug.aspx?PostID=837" width="1" height="1"&gt;</description></item><item><title>Introduction</title><link>http://gotspeech.net/blogs/jonpoploskie/archive/2006/05/31/768.aspx</link><pubDate>Wed, 31 May 2006 12:08:00 GMT</pubDate><guid isPermaLink="false">ee4a8bf5-2c3f-4c6b-ae96-6f68de28010e:768</guid><dc:creator>jonpoploskie</dc:creator><slash:comments>1</slash:comments><comments>http://gotspeech.net/blogs/jonpoploskie/comments/768.aspx</comments><wfw:commentRss>http://gotspeech.net/blogs/jonpoploskie/commentrss.aspx?PostID=768</wfw:commentRss><description>&lt;P&gt;&lt;SPAN&gt;Greetings!&amp;nbsp; Thank you to Marshall for the invite to do this blog.&amp;nbsp; Blogging is entirely new to me, so please bear with me.&amp;nbsp; I'm not quite sure what to do or how to do it, but I'm open to suggestions!&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;A little background.&amp;nbsp; I am one of the co-founders of bridgeSpeak, a speech ISV.&amp;nbsp; We build packaged speech applications for specific vertical industries.&amp;nbsp; Our first app is for &lt;A href="http://www.bridgespeak.com/industry.html"&gt;car dealers&lt;/A&gt;.&amp;nbsp; Anyway, we have been involved with MSS since the original TAP (or JDP as they were called back then).&amp;nbsp; I think it's a terrific platform to work with and it has opened up a whole new market to speech: small- and mid-sized businesses.&amp;nbsp; And we're very excited at the things we're seeing with the 2007 TAP/beta.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;One of the exciting things about MSS is that it opened up speech to non-speech people.&amp;nbsp; Like me.&amp;nbsp; :)&amp;nbsp; I have a Systems Analysis degree from Miami University (OH!), and an MBA from Xavier University.&amp;nbsp; I don't (maybe "didn't" is a better word) know a thing about signal processing, speech, telephony, etc.&amp;nbsp; Warehousing (boxes, not data) I knew something about, but not speech.&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Looking back, I consider this a real advantage.&amp;nbsp; I think it allowed me to look at what the platform and applications could do for businesses without getting hung up on all the "speech stuff".&amp;nbsp; I read some of the industry publications and the inward focus of the industry ("does your TTS engine cry?&amp;nbsp; If not, how will users know what it's feeling??" &amp;lt;== slight exaggeration, but not far off)&amp;nbsp; can be a real distraction to focusing on the basics of serving our customers.&amp;nbsp; Is TTS "emotion" (for example) the problem, or is it that so many applications are so poorly designed at a basic level that a national bank has run ad campaigns based on that fact??&amp;nbsp; Methinks the latter...&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Those are some of the things I'd like to talk about in this blog.&amp;nbsp; I will probably put some technical comments in here (I also do some development), but I would like to try to&amp;nbsp;focus a bit on&amp;nbsp;the business of speech (and maybe ranting about the business of speech... :) )&amp;nbsp; Hopefully some of my thoughts add some value to what you're doing.&amp;nbsp; Or at least provide some entertainment.&amp;nbsp; Or at least eat up a few minutes of time you're looking to kill.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Anyway, thanks for reading!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Jon&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://gotspeech.net/aggbug.aspx?PostID=768" width="1" height="1"&gt;</description></item></channel></rss>