Problems to access Voxeo Prophecy 9 TTS

362 views
Skip to first unread message

Ken

unread,
Jun 27, 2011, 8:00:43 AM6/27/11
to UniMRCP
Hello,

I am trying to access Voxeo MRCP server via FreeSwitch with the
mod_unimrcp.
The initial try is to simply call Voxeo MRCP TTS using the sample
dialplan:

<extension name="unimrcp">
<condition field="destination_number" expression="^5$">
<action application="answer"/>
<action application="set" data="tts_engine=unimrcp:voxeo-
prophecy8.0-mrcp1"/>
<action application="set" data="tts_voice=awb"/>
<action application="speak" data="This is our English text-to-
speech system"/>
<action application="sleep" data="500"/>
</condition>
</extension>

But I got errors:

[WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server
x.x.x.x:4900

[ERR] mod_unimrcp.c:1860 (TTS-0) SYNTHESIZER channel error!

I am wondering if anybody has successfully tried Voxeo Prophecy 9 MRCP
server?
Any special config to be done at Prophecy 9 or just use its default
config?

Any suggestions please?

Thanks!
Ken



Christopher Rienzo

unread,
Jun 28, 2011, 8:02:29 AM6/28/11
to uni...@googlegroups.com
The connection failed.  Verify that you are using the correct server IP address and port.  Some servers listen on 554 or 1554 instead of 4900. 





--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To post to this group, send email to uni...@googlegroups.com.
To unsubscribe from this group, send email to unimrcp+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.


Ken

unread,
Jun 29, 2011, 5:19:36 AM6/29/11
to UniMRCP
Hi Christopher, thanks for your point!

You are right. The voxeo prophecy 8 and 9 default config are not using
port
554 or 4900 as it was said to use. My XP installations use 9974 for
TTS,
I am not quite sure which port for the ASR.

I asked Voxeo Support, they didn't reply my question yet.
So I guessed there must be some people in this community have some
experiences with UniMRCP talking to Voxeo Prophecy MRCP ASR/TTS.

Thanks!

Ken


On Jun 28, 1:02 pm, Christopher Rienzo <cmrie...@gmail.com> wrote:
> The connection failed.  Verify that you are using the correct server IP
> address and port.  Some servers listen on 554 or 1554 instead of 4900.
>

roko

unread,
Jun 29, 2011, 1:28:51 PM6/29/11
to uni...@googlegroups.com
You can try this:

1- Stop Prophecy services
2- Take a "picture" of your actual ports using netstat. Ej: netstat -an
Not really a "picture" but copy/paste the result in a TXT file
3- Start Prophecy services
4.- Take a new "picture" of ports and copy them to a new TXT file.
5- Compare both TXTs and figure out ports and protocols used by Prophecy

I hope this helps !


Ken

unread,
Jun 30, 2011, 7:51:49 AM6/30/11
to UniMRCP
This is a good idea, thanks, roko!

I tried it. Without Prophecy services running, I got 32 lists. With
Prophecy service running I got 200 lists!
It is still a bit difficult to know which is for the ASR/TTS. Anyway,
from Section <category name="MRCPSRV"> of the Prophecy config.xml
file I see a port is set to 9974. And I tried it, it works for the
TTS.

Tried Voxeo ASR once via the pizza demo with port 9974, It looks like
it could reach the Prophecy since the Prophecy complained the grammar
compiling failed which is understandable.

A bit confusion about the Prophecy config which says
<category name="ASR">
<item name="Servers"> rtsp://127.0.0.1:4900/media/speechrecognizer/ </
item>

But the port 4900 is not listening according to the netstat.

Asked this question to Voxeo support, but not get a reply.

I can live with it for the moment now.

Thanks!

Ken

roko

unread,
Jul 1, 2011, 11:40:21 AM7/1/11
to uni...@googlegroups.com
Hi Ken,

You can focus on ports that has the state "LISTEN".

I have 66 open ports, including Prophecy 10, Loquendo Speech Server, and other applications.

It is very strange that Prophecy support is attending you slowly. They reply in less than 24 hours (for demo accounts) and they concern (in my experience) with all the tickets.

Good luck and keep on !

Ken

unread,
Jul 5, 2011, 1:06:47 PM7/5/11
to UniMRCP
Hi Roko,

OK, Thanks!

Yeah, from my previous experiences the Prophecy support replied
promptly and very helpful.
This time they did acknowledge the request ticket quickly but didn't
really give suggestions
and didn't look at the logs they required. It is a bit stange.
At the end they confirmed the port defined in "MRCPSRV" category is
the actual location their server is listening on.

At the moment I am trying the unimcrpserver, not on prophecy. I will
try the Prophecy later on.

Cheers,
Ken

Ken

unread,
Jul 6, 2011, 11:46:13 AM7/6/11
to UniMRCP
Now I am back to test against Prophecy.
When I called the pizzz demo, I got errors at the Prophecy Log Viewer:

Compiling grammar #JSGF ..... has failed
ASRPortImpl::StartReco(): failed to add a grammar;
Failed to start speech recognition. Port failure

The grammar is the orignial simple pizza order grammar, and Voxeo
Prophecy supports JSGF grammars.

Any idea about what's wrong here?

Thanks!
Ken

roko

unread,
Jul 7, 2011, 9:29:00 AM7/7/11
to uni...@googlegroups.com
Hi Ken,

Are you using Windows, Linux ?

If you are using Linux, maybe it would help posting vcs log for the transaction, usually located at /opt/voxeo/prophecy/logs/vcs

The log file should have the year, month, day values of the day as a name.

If this is the case, I always monitor it using:
tail -f /opt/voxeo/prophecy/logs/vcs/xxx-my-log-file-xxx

then, before the call, put a lot of " * " as a separator and when the call finished, I just copy the part of the log from the " * " separator to the last line when the call finished.

Or, maybe Log Viewer has more useful information.

Also post the grammar file you are using.



Ken

unread,
Jul 8, 2011, 6:45:01 AM7/8/11
to UniMRCP
Hi Roko,

Thanks!

I am running Prophecy 10 (tried Prophecy 9 before) on Windows XP, and
running FreeSwitch on Linux CentOS.
I tried some very small grammars of both JSGF and GrXML by calling the
Pizza demo. The GrXML grammar works on Nuance MRCP server.

But on Prophecy I notice some errors:
ERROR/UnknownModule/ToneDetectorOutputStream::CreateToneDetector -
Backbone.GetParam failed for Format Requested
ERROR/SRE::PR/ASRPortImpl::StartReco(): failed to add a grammar.
ERROR/MRCPServerAPP/Failed to start speech recognition. Port
failure.

I couldn't find how to attach files on this UniMRCP Google groups, so
I copy the JSGF grammar and the Prophecy LogViewer logs below.

Any suggestion would be appreciated!

Ken


=========== JSGF grammar ================

#JSGF V1.0;

/**
* JSGF Grammar for pizza_order
*/

grammar pizza_order;

public <delivery> = [ takeout | pickup | delivery ];

============ End of JSGF grammar ==============


========== Prophecy LogViewer ================
MRS/
iLab-1/2011.07.08.10.59.16.687/0:00000000000000000000000000000000:FFFFFFFF:
1/DEBUG/PortableMessageQueue/Allocated additional message queue object
(MRCPSessionMQ=0)

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCPServerAPP/Session 5478343-907da70-00000dac-00000004 has been
associated with the queue 3824

VCS/
iLab-1/2011.07.08.10.59.16.687/0:00000000000000000000000000000000:FFFFFFFF:
1/DEBUG/Threading/Starting thread MRCPSessionMQ with ID 3824(27)

MRS/
iLab-1/2011.07.08.10.59.16.687/0:00000000000000000000000000000000:FFFFFFFF:
1/USER/MRCPServerAPP/MRCP session is created, count=1

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
DEBUG/MRCP::TCP/TCPSession: Accept() successful
(client=137.195.27.95:56941).

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP Message(i):\nSETUP rtsp:\s
\s137.195.27.134:9974\smedia\sspeechrecognizer RTSP\s1.0\nContent-
Length: 187\nContent-Type: application\ssdp\nCSeq: 1\nTransport: RTP
\sAVP;unicast;client_port=4000-4001\nv=0\no=FreeSWITCH 0 0 IN IP4
137.195.27.95\ns=-\nc=IN IP4 137.195.27.95\nt=0 0\nm=audio 4000 RTP
\sAVP 0 8 96\na=rtpmap:0 PCMU\s8000\na=rtpmap:8 PCMA\s8000\na=rtpmap:
96 L16\s8000\na=sendonly

VCS/
iLab-1/2011.07.08.10.59.16.687/0:00000000000000000000000000000000:FFFFFFFF:
1/USER/RTP5/Starting RTP timer for set 2c54f78

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
ERROR/UnknownModule/ToneDetectorOutputStream::CreateToneDetector -
Backbone.GetParam failed for Format Requested

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
ERROR/UnknownModule/ToneDetectorOutputStream::CreateToneDetector -
Backbone.GetParam failed for Format Requested

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/RTP5/RTP session (10000) on thread 3520 was modified successfully.
\nRTPSTAT:Duration=0000178;TX=000000|000;RX=000005|000|000005|
0000;BR=000000|000000|000000|0000;TM=00000|0000|000;CONF=0000000|
0000000|0000000|0000000;ERR=000|000|000|000|000|000|000|
000;137.195.27.95:4002;\nJB:000000|000000|000005|000000|000000;000001|
000001|000005|000000|000000;drops=0000|0000|0000|00|00.00;disc=00000|
000|000|000;other=000|000|021;

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCPServerAPP/MRCP endpoints: local=137.195.27.134:10000;
remote=137.195.27.95:4000

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP message(o):\nRTSP\s1.0 200 OK\nSession:
5478343-907da70-00000dac-00000004\nTransport: RTP
\sAVP;unicast;client_port=4000-4001;server_port=10000-10001\nCSeq:
1\nContent-Type: application\ssdp\nContent-Length: 149\nv=0\no=- 0 0
IN IP4 137.195.27.134\ns=voxeo.10.1.50342.0\nc=IN IP4
137.195.27.134\nt=0 0\nm=audio 10000 RTP\sAVP 0\na=rtpmap:0 PCMU
\s8000\na=ptime:20

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP Message(i):\nANNOUNCE rtsp:\s
\s137.195.27.134:9974\smedia\sspeechrecognizer RTSP\s1.0\nContent-
Length: 239\nContent-Type: application\smrcp\nCSeq: 2\nSession:
5478343-907da70-00000dac-00000004\nDEFINE-GRAMMAR 1 MRCP\s1.0\nContent-
Type: application\sx-jsgf\nContent-Id: undefined\nContent-Length:
132\n#JSGF V1.0;\n\s**\n * JSGF Grammar for pizza_order\n *\s
\ngrammar pizza_order;\npublic <delivery> = [ takeout | pickup |
delivery ];

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP message(o):\nRTSP\s1.0 200 OK\nSession:
5478343-907da70-00000dac-00000004\nCSeq: 2\nContent-Type: application
\smrcp\nContent-Length: 27\nMRCP\s1.0 1 200 COMPLETE

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP Message(i):\nANNOUNCE rtsp:\s
\s137.195.27.134:9974\smedia\sspeechrecognizer RTSP\s1.0\nContent-
Length: 90\nContent-Type: application\smrcp\nCSeq: 3\nSession:
5478343-907da70-00000dac-00000004\nRECOGNIZE 2 MRCP\s1.0\nContent-
Type: text\suri-list\nContent-Length: 17\nsession:undefined

MRS/
iLab-1/2011.07.08.10.59.16.687/0:5478343-907da70-00000dac-00000004:00000000:1/
DEBUG/SRE::PR/ASRPortImpl::StartReco()

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
ERROR/SRE::PR/Compiling grammar #JSGF V1.0;\n\s**\n * JSGF Grammar
for pizza_order\n *\s\ngrammar pizza_order;\npublic <delivery> =
[ takeout | pickup | delivery ];\n has failed.

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
ERROR/SRE::PR/ASRPortImpl::StartReco(): failed to add a grammar.

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
ERROR/MRCPServerAPP/Failed to start speech recognition. Port failure.

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
DEBUG/SRE::PR/Restoring default endpointer parameters.

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP message(o):\nRTSP\s1.0 200 OK\nSession:
5478343-907da70-00000dac-00000004\nCSeq: 3\nContent-Type: application
\smrcp\nContent-Length: 27\nMRCP\s1.0 2 407 COMPLETE

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP Message(i):\nTEARDOWN rtsp:\s
\s137.195.27.134:9974\smedia\sspeechrecognizer RTSP\s1.0\nCSeq:
4\nSession: 5478343-907da70-00000dac-00000004

VCS/
iLab-1/2011.07.08.10.59.16.703/0:00000000000000000000000000000000:FFFFFFFF:
1/USER/RTP5/Stopping RTP for set 2c54f78

VCS/
iLab-1/2011.07.08.10.59.16.703/0:00000000000000000000000000000000:FFFFFFFF:
1/USER/RTPMessageQueue/RTPSTAT: RTP1: CPU=00000k|
00000u;Messages=00002t|00002h|00002m|00001q;Avg times=000|001;Max
times=0000t|0001m|00000q;Delays=0000|0000avg|0000max(0000)

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/RTP5/RTP session (10000) on thread 3520 was stopped.
\nRTPSTAT:Duration=0000009;TX=000000|000;RX=000000|000|000000|
0000;BR=000000|000000|000000|0000;TM=00000|0000|000;CONF=0000000|
0000000|0000000|0000000;ERR=000|000|000|000|000|000|000|
000;137.195.27.95:4000;\nJB:000000|000000|000000|000000|000000;000000|
000000|000000|000000|000000;drops=0000|0000|0000|00|00.00;disc=00000|
000|000|000;other=000|000|000;

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
USER/MRCP::RTSP/RTSP message(o):\nRTSP\s1.0 200 OK\nSession:
5478343-907da70-00000dac-00000004\nCSeq: 4

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
DEBUG/MRCP::TCP/Dropping connection (client=137.195.27.95:56941).

MRS/
iLab-1/2011.07.08.10.59.16.703/0:00000000000000000000000000000000:FFFFFFFF:
1/DEBUG/MRCP::TCP/TCPSession: connection (client=137.195.27.95:56941)
is already dropped.

MRS/
iLab-1/2011.07.08.10.59.16.703/0:00000000000000000000000000000000:FFFFFFFF:
1/DEBUG/MRCP::TCP/TCPSession: connection (client=137.195.27.95:56941)
is already dropped.

MRS/
iLab-1/2011.07.08.10.59.16.703/0:00000000000000000000000000000000:FFFFFFFF:
1/USER/MRCPServerAPP/MRCP session is released, count=0

MRS/
iLab-1/2011.07.08.10.59.19.703/0:00000000000000000000000000000000:FFFFFFFF:
1/DEBUG/MRCP::TCP/TCPSession: connection (client=137.195.27.95:56941)
is already dropped.

VCS/
iLab-1/2011.07.08.10.59.19.703/0:00000000000000000000000000000000:FFFFFFFF:
1/DEBUG/Threading/Finished thread MRCPSessionMQ with ID 3824, exec
time is 3016ms (26)

VPhoneLib/iLab-1/2011.07.08.10.59.28.015/0:00000000:FFFFFFFF:1/USER/
RTPMessageQueue/RTPSTAT: RTP2: CPU=00000k|00000u;Messages=10561t|
00000h|00000m|00000q;Avg times=000|000;Max times=0000t|0000m|
00000q;Delays=2881|0002avg|0004max(0025)

VPhoneLib/iLab-1/2011.07.08.10.59.28.015/0:00000000:FFFFFFFF:1/USER/
RTPMessageQueue/RTPSTAT: RTP1: CPU=00000k|00000u;Messages=10561t|
00000h|00000m|00000q;Avg times=000|000;Max times=0000t|0000m|
00000q;Delays=2881|0002avg|0004max(0025)

========== End of LogViewer ==================

roko

unread,
Jul 9, 2011, 12:05:49 PM7/9/11
to uni...@googlegroups.com
Hi, I had the same error (but in another scenario) that your log is printing out (in bold red):


MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
ERROR/SRE::PR/Compiling grammar #JSGF V1.0;\n\s**\n  * JSGF Grammar
for pizza_order\n  *\s\ngrammar pizza_order;\npublic <delivery> =
[ takeout | pickup | delivery ];\n has failed.

MRS/
iLab-1/2011.07.08.10.59.16.703/0:5478343-907da70-00000dac-00000004:00000000:1/
ERROR/SRE::PR/ASRPortImpl::StartReco(): failed to add a grammar.


In my case was related with a typo in my grammar.

Try the grammar with this little change (bold blue) in your JSGF  and tell us how things go:

#JSGF V1.0;

/**
  * JSGF Grammar for pizza_order
  */

grammar pizza_order;

public <pizza_order> = [ takeout | pickup | delivery ];


See that the grammar definition "pizza_order" matchs with your public declaration.

Check the rules definitions here:
http://www.w3.org/TR/jsgf/#20071


Good luck !

Xingkun Liu

unread,
Jul 13, 2011, 9:33:15 AM7/13/11
to uni...@googlegroups.com
Hi Roko,

Thanks!

I also tried a GrXML grammar which worked with Nuance MRCP server but not with Voxeo Prophecy MRCP server.

I am on holiday this week. I will try this JSGF grammar again next week after I am back in office.

Best regards,

Ken


--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To view this discussion on the web visit https://groups.google.com/d/msg/unimrcp/-/WrmynT-bPoEJ.

roko

unread,
Jul 14, 2011, 11:50:09 AM7/14/11
to uni...@googlegroups.com
Hi,

You're welcome.

I'm not sure, but as far I know, Prophecy "developer" license give access only to use CallXML. CallXML uses JSGF.

In order to use GrXML or SRGS you need a license that enables VXML.

Regards.


Ken

unread,
Jul 19, 2011, 9:52:59 AM7/19/11
to UniMRCP
Hi Roko,

The JSGF grammar is the grammar I copied from the original pizza demo,
and in principle the grammar definition "grammar pizza_demo;" with
different public variable declaration "public <delivery>=..." should
be ok.

Anyway, I changed it to "public <pizza_demo>=..." and still got the
same errors. And I also checked with Voxeo support but not yet get the
solution.
I will report back here when I get any progress on it.

I am sure the SRGS (with GrXML format) will work with Voxeo Prophecy
developer license for VXML as I used VXML with SRGS grammar on
Prophecy before.

There must be something wrong with my setup either on FreeSwitch with
Unimrcp side or on Voxeo Prophecy side since it is said that the
mod_unimrcp has been test with Voxeo Prophecy 8.0 before. I think it
should work with Prophecy 9 or 10. I tried Prophecy 8.0 before and
seemed to have got the same problem.
(I may want to try Prophecy 8.0 again)

Cheers,

Ken

roko

unread,
Jul 19, 2011, 8:17:01 PM7/19/11
to uni...@googlegroups.com
Hi,

Here is the list of ports used by prophecy 10:
http://docs.voxeo.com/prophecy/10.0/port.htm

By the way, Prophecy uses MRCPv1 not v2.

Did you add the ASR/TTS resource in your "server" at ConcolseManagement and then make them available thorugh the Virtual Platform ?

Regards.

Ken

unread,
Jul 20, 2011, 8:28:23 AM7/20/11
to UniMRCP
Hi Roko,

Oh, I didn't check that there is a list of ports used by Prophecy 10,
thanks for the link!

Yeah, it is MRCP V1

I used "Default" Virtual Platform group in the Virtual Platform List.
The Resource en-US for the TTS (Prophecy TTS 10.0 English Female) and
the ASR (Prophecy ASR 10.0 US English)
are already there.

Cheers,
Ken

Ken

unread,
Jul 21, 2011, 6:25:26 AM7/21/11
to UniMRCP
The problem is solved!

Guess what? The reason is that the /* */ style comments in JSGF is not
supported by the Prophecy ASR.

Finally the Voxeo engineer suggested me to remove the comments after
one engineer initially checked the grammar and confirmed nothing wrong
with it.
After the comments are removed, it works as expected.

I also tried the // style comments, it doesn't work either. I asked
Voxeo support that what type of comments the Prophecy ASR supports.
After I have the answer I will report to here as well.

Hi Roko, you are right, the Prophecy ASR natively only supports JSGF.
The reason for SRGS works with VXML application is that the Prophecy
VXML browser translates the SRGS grammars to JSGF on the fly.

And thank you so much for your ideas/suggestions, Roko!

Cheers,
Ken

roko

unread,
Jul 22, 2011, 6:37:25 PM7/22/11
to uni...@googlegroups.com

Great! thanks for sharing... !

Ken

unread,
Aug 3, 2011, 9:47:39 AM8/3/11
to UniMRCP
Just to add something about the JSGF comments of the Voxeo ASR:

A Voxeo support has made a feature request for JSGF comments supported
by their ASR.

For the moment all type of comments in JSGF grammars need to be
removed in order to use Voxeo ASR via MRCP.

Ken

roko

unread,
Aug 4, 2011, 1:16:26 PM8/4/11
to uni...@googlegroups.com
Thanks again for sharing !

Ken

unread,
Aug 4, 2011, 1:30:17 PM8/4/11
to UniMRCP
My Pleasure! And also thanks for the helps from you guys!

Cheers,
Ken
Reply all
Reply to author
Forward
0 new messages