unispeech / unimrcp

Open source cross-platform implementation of MRCP protocol
http://www.unimrcp.org
Apache License 2.0
374 stars 165 forks source link

Shraing RTSP session among resources #46

Closed achaloyan closed 9 years ago

achaloyan commented 9 years ago

Originally reported on Google Code with ID 46

Hi Arsen,

while testing UniMRCP server with IBM VoiceEnabler, we found a bug that
causes VE to crash. The scenario looks as follows:

SETUP rtsp://10.6.6.2/media/speechrecognizer RTSP/1.0
cseq: 0
user-agent: WebSphere-VoiceEnabler 5.1.3
transport: ...
...

RTSP/1.0 200 OK
CSeq: 0
Session: 32d66bf00c15ea4a
...

then some recognizer requests:
DEFINE-GRAMMAR
DEFINE-GRAMMAR
DEFINE-GRAMMAR

And now the key point (notice the session header):
SETUP rtsp://10.6.6.2/media/speechsynthesizer RTSP/1.0
cseq: 5
user-agent: WebSphere-VoiceEnabler 5.1.3
session: 32d66bf00c15ea4a
transport: ...
...

RTSP/1.0 200 OK
CSeq: 5
Session: 32d66bf00c15ea4a
...

then
ANNOUNCE recognizer with DEFINE-GRAMMAR
ANNOUNCE synthesizer with SPEAK (Cseq: 7)

and bug:
ANNOUNCE rtsp://10.6.6.2/media/speechrecognizer RTSP/1.0
CSeq: 7
Session: 32d66bf00c15ea4a
Content-Type: application/mrcp
Content-Length: 77

SPEAK-COMPLETE 2147483647 COMPLETE MRCP/1.0
Completion-Cause: 000 normal

Notice that speechrecognizer instead of speechsynthesizer is annouced.

I attached full log file. It is rather large. From the beginning there is
successful communication with GVP and at the end there is that with VE.

Cheers
- Vali

Reported by tomas.valenta@speechtech.cz on 2009-10-08 12:24:19


achaloyan commented 9 years ago
Hi Vali,

Client stack does support multiple resources in the scope of the same session for
both MRCPv1 and MRCPv2. I assumed, that server stack either. However, it's turned
out, this scenario couldn't work before in case of v1, but still works for v2.

Thanks for the issue report. Must be fixed.

Reported by achaloyan on 2009-10-09 07:41:08

achaloyan commented 9 years ago
Hi Vali,

This issue should be fixed in r1180.
Please re-test with GVP.

Reported by achaloyan on 2009-10-13 18:41:41

achaloyan commented 9 years ago
Hi Arsen,

thanks for the patch. It works with umc so it should work with GVP as well. I will
let you know how it works with VE. But please be patient because setting up a VE
testing session takes us some time because we do not have VE client ourselves, it is
located on a different place. I will let you know asap.

- Vali

Reported by tomas.valenta@speechtech.cz on 2009-10-14 13:02:13

achaloyan commented 9 years ago
Hi Vali,
Thanks for the update.

Actually, it should work with all of them. Hopefully I've not introduced new bugs as
I had very limited time to test all the scenarios involved, but so far everything
works as intended.
Take your time and test whenever possible. Thanks again for your assistance.

BTW, do you know whether IBM VoiceEnabler is included in IBM WebSphere package?

Reported by achaloyan on 2009-10-14 13:33:33

achaloyan commented 9 years ago
Hi Arsen,
fixed successfully, works fine.
Vali

Reported by tomas.valenta@speechtech.cz on 2009-10-16 10:59:22

achaloyan commented 9 years ago

Reported by achaloyan on 2010-01-09 18:43:40