高层体系结构
图1是本文所述之在线录音系统的高层结构图解。下面我们将就其主要的两个组件及其使用方法进行详细的探讨。
SER
SER承担着SIP代理的功能并负责控制录音组件的操作流程。从网络SIP终端(用户代理或UA)的角度看,SER是个相当标准的SIP代理。终端向外发出的所有呼出均被导入该代理,然后该代理再通过数据库查询操作确定所有呼叫的最终目的地。该路由器会向目的地终端提供SIP讯息,但在此之前,它需对SIP讯息的会话描述符协议(SDP)部分的RTP连接信息进行修改。这样RTP数据流就不是直接在两个终端之间移动,而是要被重新路由,以便它们经过在线录音系统。发起呼叫时(INVITE期间)可不需要上述操作,但是当呼叫已经开始(通过re-INVITE讯息),就应该进行上述操作。使用re-INVITE的优势在于,在没有进行录音操作的时候,将不会占用系统的端口。
RTP代理会话管理器
录音开始后,即需发挥第二个组件的功用。SER与RTP代理会话管理器是接通的,当会话管理器得知有新的呼叫到达时,它会打开一个呼叫会话,并为SER提供一个唯一的端口号。SER再将呼叫终端的原有地址/端口更换为录音系统的端口号和IP地址。
如今您已可以在录音系统和两个SIP终端之间建立起两个RTP数据流,以替代直接连接两个终端的单个数据流。该应用使用DialogicR4
IPML API来建立数据流。数据流出现在虚拟SCbus上,并将同时被路由,以形成一个交叉连接。然后您就可以使用R4
Media API完整的特性集,完成数据流向磁盘的录制操作。R4 Media API中可用于在线录音的媒体特性包括:
对话录音功能,可同时录制两个半双工RTP数据流,并具备数字信号处理器(DSP)的一般功能,能在单个数据流写盘之前有效地混合各种数据流。这样就无需事后再对两个独立的数据流文件进行组合,以合成为一个同步的录音文件。
设置录音参数的能力,能够设置每次录音的参数,如文件格式、数据编码、取样率和每样本位数等
流传输数据能力,能够轻松地流传输录制数据至数据库的二进制大对象(BLOB),或者通过套接字传输至一个集中的录音服务器
停止单个API呼叫录音的能力
轻松限制录音文件大小和录音时间的能力
SER与RTP代理会话管理器连接有一个Unix域套接字(先进先出[FIFO]流程间讯息队列)。这些组件之间的通信经过了一个非常简单、由应用定义的讯息集,该讯息集是RTP代理的一部分。
讯息流程
图2是"代理RTP"在线录音系统典型呼叫录音的讯息流程图解。图中数字对应于下文的段落编号。
图2. 典型呼叫录音的讯息流程
(责任编辑:admin) |