3.关守检查用户的授权情况,确定该用户是否有权使用此种业务。授权认证可以通过计帐系统的认证组件来进行,也可以由关守内部的功能完成。
4.结果返回允许/拒绝接通的应答。
5.关守向计帐系统发送消息,请求用户的计帐信息,也包含呼叫的消息。 6.计帐系统返回该用户的计帐信息。
7.关守向网关A发送可供连接的目的网关的地址信息。
8.网关A和网关B连接,初始化通话过程,网关B向用户B的电话发送呼叫应答消息,通话进程开始。
9.当网关A和网关B检测到通话进程真正开始以后,网关A向关守发送一个呼叫开始信息,并附带上唯一的计帐标识ID。
10.关守向计帐系统发出呼叫开始信息。 11.计帐系统返回确认消息作为应答。 12.应答消息传送给网关A。
13.网关A或网关B检测到呼叫的结束。
14.网关A和网关B向关守发送呼叫结束消息,并发送关于该呼叫的相关消息。 15.关守向计帐系统发送呼叫结束消息。 16.计帐系统返回确认消息。 17.确认消息送到网关A和网关B。 3.6.3 PC TO PHONE
图3.8 PC TO PHONE流程图
10
PC TO PHONE的工作流程见图3.8,各个步骤的解释为:
1.用户从计算机使用Internet客户软件呼叫常规的PSTN电话。用户输入被叫电话号码,客户端软件向关守发送业务请求以及用户信息、业务类型和业务信息(被叫电话号码)。
2.关守检查用户的授权情况,确定该用户是否有权使用该业务。授权认证可以通过记账系统的认证组件来进行,也可以由关守内部的功能完成。 3.记账系统返回接受/拒绝接通的应答。 4.关守返回可供使用的目的网关的地址信息。 5.客户端软件与网关初始化一个语音进程。
6.网管向关守发送业务请求和用户的信息、业务类型和业务信息。
7.关守检查用户的授权情况,确定该用户是否有权使用此种业务。授权认证可以通 过记账系统的认证组件来进行,也可以由关守内部的功能完成。
8.返回允许/拒绝接通的应答。
9.关守向记账系统请求用户相关的记账信息和呼叫信息。 11.一个确认信息被返回给网关。
12.作为回应,网关呼叫远端的电话,进程开始。
13.当网关检测到进程开始的信号时,就向关守发送一个呼叫开始信息。 14.关守向记账系统发送呼叫开始信息。 15.记账系统返回确认消息。 16.确认信息被回送到网关。 17.网关检测到呼叫的结束消息。
18.网关和客户端向关守发送呼叫结束消息。 19.关守向记账系统发送呼叫结束消息。 20.记账系统返回确认消息。
21.确认消息被发送到网关和客户端软件
3.7 基于局域网的PC TO PC的可视IP电话的开发
可视IP电话软件的系统分析主要包括软件说明与功能需求、性能要求、软件的运行环境、数据流图的分析以及开发工具与协议实现的说明等。 3.7.1可视IP电话软件的总体设计
可视IP电话软件的总体设计的主要任务就是根据系统数据流程图确定软件的系统
11
结构,即整个系统由哪些模块组成以及模块之间的关系。因为在通话双方通话之前,需要首先确定双方同时在线,并且双方都同意进行通话,所以在双方进行通话之前需建立双方的连接,由呼叫处理模块来实现。整个系统还有两个部分组成:音频处理部分和视频处理部分。音频处理主要包括音频的录制与播放、音频编解码、音频压缩与解压、音频数据的打包(RTP)与解析、音频数据包的发送与接收等模块组成;视频处理主要包括视频采集与回放、视频编解码、视频压缩与解压、视频数据打包(RTP)与解析以及视频数据包的发送与接收等模块组成。可视IP电话软件的系统结构图如图3.9所示。
图3.9 可视IP电话系统结构图
3.7.2 可视IP电话软件的详细设计
可视IP电话软件的详细设计的主要任务是确定系统各个组成模块的功能,以及各个模块的实现方法。这里只对各个模块功能进行简要的介绍,关于其具体的实现方法,将在后面章节中进行详细介绍。
1.呼叫处理模块
呼叫处理模块包括两部分,分别为呼入处理和呼出处理,其作用是确定通话双方同时在线,且协商是否可以进行通话。这部分的关键技术是Socket编程,呼叫处理使用TCP进行连接。
2.音频录制、播放模块
音频录制模块的主要功能是实现音频的采集。音频采集的流程为首先打开录音设备,然后指定录音格式,接着分配内存区域来存储录音数据并把此内存区域绑定到音频输入设备,这样就可以开始录音了。音频的播放模块的主要功能是实现音频的播放,其工作流程与音频录制过程相似,首先打开放音设备,指定播放格式,分配内存区来存储 放音的音频数据,并将此内存区域绑定到音频输出设备
3视频采集、回放模块
视频的采集模块的功能就是通过视频卡采集视频数据。视频回放模块的功能是回放
12
对方传送过来的会话人的图像。在该软件实现中,视频采集通过VFw开发工具中的AVICap窗口类来实现,视频的回放通过DrawDib类来实现。视频采集与回放的流程为首先建立视频采集窗口,并与视频采集、回放设备连接,设置相关参数,然后分配内存缓冲区,进行视频采集或回放操作。
4.音频、视频数据处理模块
音频、视频数据处理负责对音频源、视频源获取的音频、视频信号进行编码、压缩以便于传输,同时对接收到的数据进行解码、解压,将其还原成音频、视频信号以便播放和回放,这一部分是可视IP电话的重点,因为在Internet中带宽不是很理想,所以对现有的网络而言,语音压缩技术是实施IP电话的关键。在本设计中的可视IP电话软件中,语音压缩/解压缩采用了PCM、G.723.1等算法,根据当时的网络流量来动态选用。PCM的码率为64kbps,而G.723.1是ITU一T推荐使用的中低速率编码标准,它可以实现6.3kbps和5.3kbps的语音编码,而且保证比较好的语音质量。G.723.1编码器是为人的语音优化设计的,对音乐和其它声音信号不能进行忠实描述,特别适合于IP电话。
5.音频、视频数据包封装与解析模块
音频、视频数据包封装与解析模块的主要功能就是把音频包、视频包和控制包封装为RTP包,或者由RTP包解析为音频包、视频包和控制包。RTP协议的实现是可视IP电话的重要组成部分。RTP保证了传送的实时性,RTCP负责控制和监视RTP及其QoS。
6.音频、视频数据包的发送与接收模块
音频、视频数据包的发送与接收模块的功能包括音频包、视频包的发送和接收、控制包的发送和接收。主要也是Socket编程。 3.7.3 可视lP电话软件的程序流程图
图3.10给出了可视IP电话软件运行时的单向的程序流程图,即单工运行的程序流程图。由于该软件工作方式为全双工,因此将服务器端程序与客户端程序融为一体,由相应事件进行触发运行。因此,每一个终端既运行服务器程序,也运行客户程序。
13
相关推荐: