Guide ------> (Association, Dependency) ^ | (Generalization) | Abstract This document contains basic overview of components in OpenMRCP project. Component is an library or final application. 1. MRCP Core MRCP core is an MRCPv1 (RFC4463) and MRCPv2 (draft-ietf-speechsc-mrcpv2-12) compliant implementation with abstract signaling (SIP or RTSP), connection (MRCPv2 TCP/TLS), media (RTP/RTCP) interfaces. ----------- --------------------------- | MRCP Core | --------> | Signaling Agent Interface | ----------- --------------------------- ----------- --------------------------- | MRCP Core | --------> | Connection Agent Interface | ----------- ---------------------------- ----------- ----------------------- | MRCP Core | --------> | Media Agent Interface | ----------- ----------------------- 2. Modules Module is an implementation of abstract interface declared in MRCP Core --------------------------- | Signaling Agent Interface | --------------------------- ^ | --------------------------------------- | | -------------------- -------------------- | Sofia-SIP (MRCPv2) | | LiveRTSP (MRCPv1) | -------------------- -------------------- 3. Plugins Plugin is an extension to MRCP server, which provides implementation of MRCP resource (synthesizer, recognizer,...). Plugin is dynamic shared library with run-time linking. -------------------------------- | MRCP Resource Plugin Interface | -------------------------------- ^ | ------------------------------------------ | | | ------------- ----------------- -------------- | Demo Plugin | | Cepstral Plugin | | Other Plugin | ------------- ----------------- -------------- 4. OpenMRCP Server OpenMRCP server supports MRCPv2 and MRCPv1 (under the way). OpenMRCP server is a final implementation which just combines underlying bricks (libraries, modules and plugins) in a stand alone application. ---------- ----------- | OpenMRCP | | MRCP Core | | Server | |-----------| | | ------> | Modules | | | |-----------| | | | Plugins | ---------- ----------- 5. OpenMRCP Client OpenMRCP client supports MRCPv2 and MRCPv1 (under the way). OpenMRCP client is a final implementation which just combines underlying bricks (libraries, modules). ---------- ----------- | OpenMRCP | | MRCP Core | | Client | ------> |-----------| | | | Modules | ---------- -----------