[Live-devel] Implementing MRCP

David Guthrie guthrie at bmh.com
Thu May 6 18:19:11 PDT 2004


Hello,
	I'm looking into implementing MRCP using this code base, but certain 
parts of the protocol seem difficult work out.  I'm also just trying to 
learn the code.  As a little background, MRCP only uses the SETUP, 
TEARDOWN, DESCRIBE, and ANNOUNCE commands.  A typical conversation to 
do recognition would go.

DESCRIBE - to get the server SDP on the main url
SETUP with unicast and a  client port on the recognizer url -> the 
response has the server ports and the config.
--setup outgoing RTP to stream audio data TO the server
ANNOUNCE - for commands like define grammar, or begin recognizing

Then the server sends ANNOUNCE events to the client asynchronously to 
state when things finish.

 From what I can tell, the software assumes that MediaSubsessions that 
are created as a result of SETUP command are for receiving data, which 
is not the case in this instance.  Also, the MRCP servers don't seem to 
return a control URL, and there is no way to override the control url 
on a subsession.  The third thing is that the event loop does not 
appear to have support for receiving asynchronous events from the RTSP 
server.

One final thing is that it is suggested that I stop streaming data when 
a recognition completes.  I don't see how to do this.

I can see ways to solve all of these problems, but they all involve 
breaking the encapsulation of the classes involved and non-trivially 
changing the library code.

Thanks in advance,
David



More information about the live-devel mailing list