找回密码
 立即注册
搜索
查看: 214|回复: 17

语音软交换系统的设计与实现!

[复制链接]

10

主题

90

回帖

130

积分

海星

积分
130
发表于 2004-12-18 13:55:57 | 显示全部楼层 |阅读模式
 在过去的5年,VoIP语音通信技术迅速发展,其业务量日益增长。但目前VoIP的通信模式主要是两种:第一,直接路由模式,源终端在获得目的终端的IP地址的情况下,直接向目的终端发起呼叫的通信方式;第二,经过网守转发的间接路由模式,通信双方所有的通信信令通过网守转发,而目的IP由网守通过地址解析来完成的通信方式。从本质上来讲,这两种方式都只是一种点对点的机制。这种点对点的机制仅适用于语音业务量较小的场合。

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 13:56:58 | 显示全部楼层
随着VoIP语音业务量的剧增,以上述两种方式进行通信将会变得越来越复杂,越来越需要在IP网络上构建一个语音软交换中心,来实现VoIP语音通信的路由选择和不同运营商IP网间语音交换的任务,从而实现网络语音软交换、呼叫控制和路由管理以及满足不同用户对通信质量的要求。同时为了满足与其它厂商设备之间的互通以及后续开发的需要,此系统的开发将遵照H.323协议。
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 13:59:58 | 显示全部楼层
2.系统功能简介
  语音软交换系统主要用于解决IP网上两个IP终端之间媒体流(这里指语音流)的交换。这里的IP终端可能是网关、PC机或其它能够进行语音通信的终端。本系统应具有如下基本功能:
  ①系统具有基本的呼叫控制功能。
  系统可与IP终端之间实现基本的呼叫的建立、维持和释放,实现的标准将完全按照H.323进行;
  ②系统可对终端提供多种认证功能。
  ③系统具有灵活的路由管理功能。
  ④系统对通话进行计时计费的功能。
  3.系统总体结构
  语音软交换系统按其功能可分为两个子系统:交换子系统和认证计费子系统,总体结构如图1所示。
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 14:01:06 | 显示全部楼层
交换子系统由4个模块组成:(1)呼叫处理和控制模块:当有呼叫产生时,对被叫电话号码进行地址解析获取被叫终端的信令IP地址;对呼叫进行接入认证和鉴权;进行接收媒体流的IP地址以及逻辑通道号的映射,完成媒体流的交换;(2)认证计费代理模块:接收呼叫处理和控制模块的认证、计费请求;将相关信息送到认证计费子系统进行认证和计费;将认证、计费结果返回给呼叫处理和控制模块;(3)地址解析模块:对呼叫的被叫号进行地址解析,确定路由;(4)H.323协议栈:完成网络层的协议通信,为应用层提供接口。
  认证计费子系统由3个模块组成:(1)实时认证和计费模块;(2)数据库;(3)系统维护管理模块。
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 14:07:16 | 显示全部楼层
 4.系统的软件实现
  系统的软件可分为软交换软件和认证计费软件,本文重点介绍软交换软件的实现。软交换软件的层次结构可分为三个层次,分别为操作系统、H.323协议栈和Radius协议、软交换应用软件。由于H.323协议栈向上层提供协议信令的收发、媒体流的打包\解包等应用函数接口,因此软交换软件的开发主要归结为软交换应用软件的开发。
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 14:18:18 | 显示全部楼层
4.1模块的划分及各模块的功能
  软交换应用软件模块被分为五个部分,分别是呼叫处理与控制、地址解析、数据库代理、公共定时服务器、软交换系统人机界面。其结构如图2所示,各模块的主要功能如下:
  呼叫处理与控制模块:与认证计费子系统一起完成呼叫接入认证;与路由数据模块一起,完成呼叫的地址解析;根据呼叫源端和目的端接收媒体流的IP地址和逻辑通道号,建立媒体流交换的逻辑通道的映射关系;根据呼叫媒体流逻辑通道的映射关系,进行媒体流的交换。
  地址解析模块:根据呼叫处理与控制模块送来的被叫电话号码完成地址解析工作,返回该呼叫下车的目的终端IP地址;
共定时服务器模块:公共定时器的任务是为需要定时的多个任务统一提供定时。公共定时服务器采用客户/服务器方式,需要定时的任务向公共定时服务器发出定时请求,公共定时服务器在定时结束时向所请求的定时任务发送定时结束消息。
  数据库代理:传送和接收接入认证请求与应答消息,以便数据库能根据在用户数据库存放的信息对接入的用户进行认证;传送和接收计费请求和应答消息,以便数据库能将通话的呼叫的详细记录写入计费数据库。
  交换系统的人机界面:完成系统工作状态和话音通道信息的显示;路由数据的编辑、修改及加载;告警和故障信息的接收与显示。
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 14:19:13 | 显示全部楼层
 4.2实现方案
  4.2.1呼叫控制的实现
  系统的呼叫处理的过程是一个典型的在有限状态之间进行状态变迁的过程。呼叫处理可根据输入的呼叫信令消息和当前状态,完成相应的呼叫信令处理,确定变迁到达的新状态。因此,对于一个具体的呼叫,可以采用有限状态机(FiniteStateMachine,FSM)的方法来进行过程的描述和处理。
  另一方面,在系统中会同时存在多个呼叫。呼叫处理必须考虑对并发呼叫的实时处理。鉴于传统的多进程处理并发事件的方式所存在的问题(呼叫越多,进程切换的开销越大,内存资源占用越多),在本系统中采用单呼叫进程实现多呼叫的并发处理。
  在呼叫控制的实现中采用单呼叫进程设计方法:当一个呼叫产生时,进程生成一个记录该呼叫的呼叫FSM控制块,称为CCB(CallControlBlock)。呼叫FSM控制块记录了该呼叫的主叫号码、被叫号码和当前的状态等信息。因此,对于多个呼叫就产生与之对应的多个呼叫FSM控制块,进而组成一个呼叫FSM控制表。
  当一个呼叫的信令到达时,呼叫处理进程基于主叫号码和被叫号码查找该呼叫对应的呼叫FSM控制块,然后可根据输入的呼叫信令和当前状态,完成相应的呼叫信令处理,确定变迁到达的新状态,并用迁移的新状态更新呼叫FSM控制块。
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 14:20:09 | 显示全部楼层
  4.2.2解析和路由的实现
  为了对不同的运营商的路由实施管理和控制,不同的运营商按不同的地址解析表解析。为此将呼叫的CallingID作为寻找对应解析表的索引,基本方法如下:首先设置三张数据表:①呼叫ID到解析表号映射表:用于查询用于该呼叫地址解析的解析表号;② 地址解析表: 用于将被叫号码转换为特定路由的映射表;③ 路由编号到IP地址的映射表: 用于根据路由编号查询该路由IP终端的IP地址
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 14:20:50 | 显示全部楼层
 当系统收到源端发起的呼叫时,根据CallingID查询呼叫ID到解析表号映射表,获取对该呼叫进行地址解析的解析表的表号;然后,在对应的解析表中对被叫号码进行地址解析,获取该被叫号码对应的路由号;最后,根据该路由号码,查询路由编号到IP地址的映射表,获取呼叫下车IP终端的IP地址,从而完成了由被叫号码到IP地址的地址解析。
回复

使用道具 举报

10

主题

90

回帖

130

积分

海星

积分
130
 楼主| 发表于 2004-12-18 14:21:26 | 显示全部楼层
 路由控制的基本思想是:对于来自不同运营商的呼叫,通过按呼叫的标识CallingID索引到相应的解析表,从而实现对不同运营商路由的管理和控制。对每一个有呼叫接入的运营商需配置一个解析表,因此系统会有若干张解析表,但只有一张路由表,这样便于对路由表进行统一的管理、维护。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-19 07:33 , Processed in 0.118827 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表