-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MRCPRecogPrompt needs to handle full range of RECOG_COMPLETION_CAUSE values #224
Comments
Only those three are documented. Are you sure the others can actually make it into the channel variable? Could I see an example trace log of this happening? |
No problem; grabbing that trace log for you @benlangfeld Forgot to cc @runningferret @sfgeorge |
Here is an example from yesterday. You can see that, when within the expected parameters of the ASR engine, the result is one of the documented 3 completion causes. At the end of the gist and linked above is an unexpected completion cause of You're completely correct in that this is undocumented behavior. It appears, however, that it's consistent with the MRCPv2 protocol. Lumenvox very recently began implementing more completion cause events. |
The codes themselves were not easy to find. They're in RFC4463 (MRCPv1) and RFC6787 (MRCPv2). |
I understand that it would more closely match MRCPv2 if UniMRCP were to emit this extended set of completion causes, I was just not aware it was capable of doing so and believed it to normalise to the set of three we currently have. The Rayo specification allows for the three we have ( For the time being we should normalise all MRCP codes to what's available in the Rayo spec today. @Jared-Prime would you be willing/able to submit a PR for that? |
That would basically mean interpreting the 015 code (and any other non 000,
|
Not quite that simple; for example |
That's a good suggestion, however, I'd be reluctant to map those completion codes into generic completion reasons. It'd be more beneficial to us to have the more detailed data when doing more idiosyncratic ASR engine tuning. How about we hold off on merging in the larger set of completion codes until Rayo includes them in its spec. I do not know if Rayo needs those codes right now, so I'll defer on that decision. I'd be more than happy to submit the patch as a PR if and when the broader Punchblock community needs it. Thank you very much for your help! |
Leaving this open because it is not resolved - you've stated that the component is not appropriately completed if one of these causes is encountered, and that's a legitimate bug. I disagree that there is not value in handling these codes in an abstracted manor - this is precisely what VoiceXML does. The argument over whether Rayo belongs at the same abstraction as VoiceXML or MRCP is one to be had in a ticket against the spec, and I encourage you to start that discussion if you feel the status-quo is insufficient. In the meantime, we should properly comply with the Rayo spec as it stands today, since the current state of Punchblock is buggy. If and when Rayo changes in the future, we will have further changes to make to fully comply. |
Presently only three
RECOG_COMPLETION_CAUSE
values are recognized by Punchblock. UniMRCP sends up to 18 values for the channel variable. This causes Adhearsion-ASR to crash.The text was updated successfully, but these errors were encountered: