MRCPv2的系统包含需要生成和接收媒体流的客户端和具有媒体资源处理引擎的媒体资源服务端,服务端可以将这些流作为输入处理或生成这些流作为输出。客户端使用SIP和SDP与服务端建立MRCPv2控制通道来使用媒体处理资源,MRCPv2服务端使用SIP URI进行寻址。
SIP使用SDP和RFC 3264 [RFC3264]]中描述的提供/应答模型来设置MRCPv2控制信道并描述它们的特性。需要单独的MRCPv2会话来控制与客户端和服务端之间的SIP对话关联的每个媒体处理资源。在SIP对话内,可以通过SIP re-INVITE事务中携带的SDP提供/应答来添加或移除用于不同资源的各个资源控制信道。
服务端通过SDP服务为客户端提供唯一的通道标识符和TCP端口号(参见第4.2节)。然后,客户端可以在此端口号上与服务端打开新的TCP连接。多个MRCPv2通道可以共享TCP连接,在客户端和服务端之间交换的所有MRCPv2消息都携带指定的信道标识符,服务端必须确保该标识符在该服务端上活动的所有MRCPv2控制信道中是唯一的。客户端使用该信道标识符来关联该信道相关的媒体处理资源,有关消息框架的信息,请参阅第5节。
SIP还使用SDP’m=’行在MRCPv2客户端和MRCPv2服务端之间建立媒体会话。一个或多个媒体处理资源可以在SIP会话下共享媒体会话也可有其自己的媒体会话。
下图显示了使用MRCPv2的系统的一般体系结构,为简化图仅显示部分资源
3.1 MRCPv2媒体资源类型
MRCPv2服务端可以向其客户端提供以下媒体处理资源中的一个或多个。
基本合成器
语音合成器资源,其功能非常有限,可以从连接的声音文件剪辑生成其媒体流,使用语音合成标记语言(SSML)的有限子集来描述语音数据元素[W3C.REC-speech-synthesis-20040907]。基本合成器必须支持SSML中标签<speak>、<audio>、<say-as>和<mark>。
语音合成器
一种全功能的语音合成资源,可以从文本中转化合成语音,这样的合成器必须具有完整的SSML[W3C.REC-speech-synthesis-20040907]支持。
录音器
能够录音并提供录音调听URL的资源,录音器必须提供端点检测功能,以抑制录音开始和结束时的静音,并且还可以抑制录音中间的静音.如果使用了此类抑制,则录音器必须保持时间元数据以指示所记录介质的实际时间戳。
DTMF识别器
一种识别器资源,能够提取和识别媒体流中的双音多频(DTMF)[Q.23]数字,并将它们与提供的数字语法进行匹配,它还可以基于语法中的语义标签进行语义解释。
语音识别器
一种完整的语音识别资源,能够接收包含语音的媒体流并将其解释为识别结果。它还具有自然语言语义解析器,可以根据语法中的语义数据对识别的数据进行后处理,并提供语义结果以及识别的输入,识别器还可以支持已注册的语法,客户端可以在提前注册和创建新的个人语法,以便在将来的识别操作中使用。
说话者身份验证
一种能够将包含语音输入的媒体流与预先存在的声纹匹配来验证说话者的身份的真实性的资源。还可能涉及将说话者的语音与多个声纹匹配,也称为说话者身份识别。
3.2 服务和资源寻址方式
MRCPv2服务端是通用SIP服务端,因此通过(RFC 3261 [RFC3261])进行寻址。
例如:
sip:[email protected] 或 sips:[email protected]