NavigationUser login |
blogsFinicky Grammar File Interpreter Requires Empty LineI've noticed, once again, a rather pesky error that can show up in SRGS grammar files on Prophecy. In an SRGS file, the top line in in the file is the xml declaration, and the next line in the file is the grammar element. If the very next line is a comment, the grammar file will experience problems. For example, I was debugging today and accidentally put a comment right after the grammar element. As a result, the grammar file would not return any interpretations. That is, if I set <tag>$.answer = "foo"</tag>in an item, the interpretation "answer" would not be returned. To avoid this problem, put one blank line between the grammar element and the first comment. I vaguely recall having other problems with comments in SRGS grammar files; if there are other elements or XML-related declerations at the top, the comments come afterwards. E.g., if there's a DOCTYPE declaration, you may have trouble if you place a comment between it and the grammar element. I recommend that you put comments after all top-of-file elements and declarations, just to be safe. Error.Semantic When Variable Name is Not SuppliedI ran across an odd error in my log yesterday, and I could not make heads or tails of it: After writing Voxeo for help, I found the error simultaneously with their response. In my code, I found: Longer DTMF Works on P8As of this morning, sending outbound DTMF isn't working well on Prophecy 8 and BusinesVoIP. If you run into this problem, try lengthening the DTMF signal duration; I've used 150ms successfully.
Business VoIP up and Running on Version 8Business VoIP outbound dialing is up and running on version 8; and with the able assistance of Voxeo's CTO, it even does toll-free numbers correctly and consistently. Now if I could just figure out why my previously-functioning ASR is not working... something has changed, have I missed a transition?... stay tuned for tomorrow's exciting episode.
Outbound BusinessVoIP on Prophecy 8 Not Yet EnabledThe title says it all, but skips lightly over the hours of work spent trying to find out why BusinessVoIP wasn't making outbound calls...
BusinessVoIP Integration in Prophecy 8If you have an Evolution account — you do, right? — here's something fantastic. Bring up your list of hosted applications, and click on one of them. Notice that the window now has tabs? Click on call routing. If you have installed Prophecy 8, you will find your personal servers listed here. You can now choose to route all calls into your servers; you can route all calls into Voxeo's hosted platform; or you can overflow/ailover from your servers onto Voxeo's platform. That's a really fantastic capability.
Prophecy 8: Send tag sends incorrect dataI've just switched from Prophecy 7 to Prophecy 8, which went into general release as of the middle of SpeechTek in August. One rather sticky problem: the "send" element. This element sends data from CCXML to any HTTP address — but none of my scripts that were supposed to be receiving this information were receiving the information. I eventually tracked this problem down: the CCXML interpreter was sending the information in base64 encoded form, while of course my system was expected the typical unencoded format. Voxeo tech support suggested that I add the following to my config.xml file; I did so as the final entry in the cofig file: <category name="IO">This turns off Voxeo's new IO library (see Voxeo's comments in the config-reference.xml), which uses the wrong MIME type to send the data, and fixes the problem. So now if I can figure out why BusinessVoIP isn't working, I'll be back in business.
GSL: Differences between Voicecenter 5.5 and ProphecyProphecy's semantic interpretation remains somewhat problematical at times. However, there's an issue with GSL semantic intepretation, one that can lead to hours of debugging, that I thought I might document. Although I was testing on Prophecy, my client wanted to run the software on Voxeo's Voicecenter 5.5 system. I'd written the grammmars in XML format, and I'd used the usual W3C-style SIRS. Prophecy doesn't follow the W3 Semantic Interpretation for Speech Recogntion (SISR) specification, in that it doesn't use the "out" variable, doesn't support latest(), and some similar issues, but at least it supports standard ECMAScript. When I converted to my W3 SISR semantic interpretation (SI) grammar to Nuance's GSL semantic interpretation, I ran into problems. I don't find GSL very intuitive, but it does work; the problem came when I tried to run my data. I'd included <item>Sunday<tag><![CDATA[ <dayName "Sunday"> ]]></tag></item>Later in the code I collect each dayName into an array, and I pass that array back to VoiceXML. The goal is for a caller to say "I can work on Sunday, Tuesday, and Thursday" while ASR reports "Sunday Tuesday Thursday" as the interpretation. But the darn thing simply would not work. After hours of fooling around, I finally noticed, when using the DTMF version of the grammar, that the GSL intepreter complained that Sunday wasn't a legal variable. I went into the code and swapped When I ported this grammar for testing on Voicecenter 5.5, it failed. The extra apostrophes must be absent when using Voicecenter 5.5, and they must be present when using Prophecy. I expect that I should also mention that I noticed other problems working with P2006's GSL. Maybe it's me, but when I tried to include a tag element at the end of the top-level rule, nothing happened. In fact I couldn't get any tag elements to work in the top-level rules; I happen to have used them successfully in non-Prophecy systems, and I suspect that something isn't quite right. In summary: If you're wondering why GSL grammars that work on one system don't seem to work on the other, or if your old GSL skills don't seem to produce working code on P2006, the reason may be incompatibility between the old systems and P2006. On the other hand, frankly, there's no good reason I can think of to write new grammars using GSL SI. I use W3C SISR whenever I can, and I think it's well worth the trouble of migrating between versions when Prophecy begins to support the full W3C SISR SI.
Outbound callsI've managed to get Freeswitch to make outbound calls to BusinessVoip. (See How-to book chapter.) Next comes a chapter on how to route calls from Freeswitch to Propphecy, and how to route calls from Prophecy to Freeswitch to BusinessVoip to the PSTN.
Site Update CompletedThe site update is completed, which ought to mean slightly better loading times. The site's theme may change in the near future. I've added a section on how to use Freeswitch in the "Interfaces" section of the how-to book; more coming soon. Finally, there shouldn't be much in the way of spam on these pages, but if you find some, use the links to report the spam. So far the filters are keeping the spam out, and the primitive captcha helps cut down on the imposters who register.
|
Basic InformationSearchRecent blog posts
New forum topicsActive forum topics |