APP下载

IMS平台模拟仿真及业务实现*

2018-10-15罗国明李金衿

通信技术 2018年10期
关键词:客户端架构服务器

马 宁,罗国明,李金衿

(1.陆军工程大学 通信工程学院,江苏 南京 210001;2.中国人民解放军78136部队,云南 昆明 650299)

0 引 言

当今世界,国内外通信与网络技术的迅猛发展,原有固定通信网络已经不能满足现代通信实时、多元、智能化及个性化等需求,使原有网络承载能力不足以满足用户、集体的需求。多网融合、

多域融合成为新一代网络的主要标准,IMS网络平台已成为当前现有网络平台建设的主要研究方向。IMS具有开放性、系统性、全面性等优点,可以根据不同需求进行修改调整,满足不同集体或单位的使用要求。

1 IMS简介及历史演进

1.1 IP多媒体子系统

IP多媒体子系统(IP Multimedia Subsystem)是由所有能提供多媒体服务的功能实体组成,包括与信令和承载相关的功能实体的集合[1]。IP多媒体业务是基于IETF定义的会话控制能力,利用分组交换域和多媒体承载来实现的。IP多媒体子系统使运营商能为他们的用户提供基于因特网的应用、服务和协议。

1.2 IMS平台历史演进

IMS为下一代网络在IP多媒体服务上提供了一种理想架构,是UMTS核心网络中提供多媒体呼叫控制和端到端业务的控制平台,采用以SIP为核心的网络协议。在3GPP的R5版本提出后,IMS首次出现在网络架构视野中,其广泛的实用性和优秀的承载能力,获得了包括OMA、ITU-T、3GPP2、TISPAN等众多标准化组织的认可。在R6版本中,IMS被定义为可以支持任何一种移动或固定的网络。R8版本中,IMS升级为common IMS,提出了增加初始过滤准则iFC(Initial Filter Criteria)处理方案和业务代理SB(Service Broker)机制,其所有标准都已经得到统一,成为当前各大网络营业商、网络技术开发公司等使用最广泛的通用基础业务平台[2]。目前,R10版本正在进行研究发展,目标为将移动宽带网络向IMS演进。

2 IMS业务平台架构及功能

2.1 IMS业务平台架构

3GPP R8版本中定义的Common IMS总体网络架构是当前应用范围最广泛的IMS架构,从下至上分为媒体终端层、会话控制层和应用层。它的核心为Core IMS,包括 CSCF、SLF、MRFC、MGCF、BGCF等功能实体。这些模块组成了IMS的基本网络和基本业务能力架构,实现了基本的会话控制、媒体资源控制和互联互通等基本功能[3]。它的结构如图1所示。

图1 R8版本IMS架构

2.2 IMS业务平台功能

本文仿真模拟系统不涉及IMS架构中所有的网元,现仅将重要核心组成部分进行介绍。

归属用户服务器HSS(Home Subscriber Server)。HSS是存储用户信息的中心数据库。HSS除了存储用户签约信息与位置信息外,还保存与用户相关的、用于处理多媒体会话的定制数据,包括本地信息、保密信息、注册信息、业务触发信息、用户个人信息和分配给用户的S-CSCF等。如果网络配置多个HSS,则需要配置SLF实体(Subscriber Location Function)。

呼叫会话控制功能CSCF(Call Session Control Function)。CSCF是IMS的控制核心,主要负责处理多媒体呼叫会话过程中的SIP信令。它的功能包括多媒体会话控制、地址转换以及对业务协商进行服务转换等。CSCF可进一步划分为以下三个部分:代理CSCF(P-CSCF)是连接IMS终端UE和IMS网络的入口节点,所有IMS终端发起和终止于IMS终端的会话消息都将通过P-CSCF;查询CSCF(I-CSCF)是为位于访问网络的IMS终端呼叫进入归属IMS网络的入口节点,I-CSCF路由外地终端的SIP请求和响应到本地S-CSCF;服务CSCF(S-CSCF)是SIP信令控制的核心节点,作用类似于软交换系统中的软交换机,为IMS终端执行会话控制服务,并保持会话状态。

应用服务器AS(Application Server)。应用服务器AS是一个SlP实体,可以执行特定的业务逻辑,提供多媒体业务。根据实际业务,AS可以工作在SIP代理服务器模式、SIP用户代理模式或者SIP背靠背用户代理模式(B2BUA)。AS通过SIP协议与S-CSCF和I-CSCF接口,通过Diameter协议与HSS接口。此外,AS可以为IMS终端提供接口,从而实现配置目的。

2.3 IMS会话呼叫流程

IMS会话建立过程主要涉及的实体有UE、CSCF和HSS等。主叫用户通过INVITE消息发起一个会话,信号依次经过UE1、P-CSCF、I-CSCF、S-CSCF、HSS和UE2。会话建立过程包括资源预留、PDP(Packet Data Protocol)协商、用户认证、信号返回振铃等过程[4]。简要业务流程如图2所示。

图2 IMS业务流程

3 模拟IMS业务平台搭建

3.1 模拟业务平台架构设计

模拟IMS业务平台的实现需要4个核心架构的搭建,即呼叫会话控制核心CSCF、应用服务器AS、用户服务器HSS及用户客户端[5]。本文中,控制核心CSCF组件、用户服务器HSS采用德国的弗劳恩霍夫应用协会开发的开放源代码IMS软件项目。该项目经过德国3G Beyond实验床多年测试,并与多家设备提供商和合作伙伴共同改进研发,现成为目前国际上较成熟的开源IMS系统架构。该项目名为OSIMS(Open IMS Core),可以作为本文中模拟控制核心的基本组成部分。

IMS网络架构间通信使用SIP协议,模拟架构中的应用服务器AS是SIP服务器。IMS架构中,核心控制层与业务层之间采用ISC接口进行连接,并使用SIP协议进行业务调用。本文中使用的SIP服务器为开源项目Sailfin服务器。SailFin项目由爱立信公司开发,基于具有健壮性和可扩展性的SIP Servlets技术,实现了JSR 116标准,并能够兼容JSR 289标准,可以与现有的GlassFish服务器进行集成。

IMS平台搭建需要用户客户端的配合。该客户端需要满足IMS的相关规则规范,保证客户端可以接入IMS架构并提供服务。本文采用的客户端是开普敦大学开发的UCT IMS Client开源项目。该项目十分切合IMS核心网络架构,可以与Open IMS Core配合使用。该项目可以进行即时通信和IPTV业务,满足平台模拟的实现[6]。整个模拟IMS业务平台框架如图3所示。

图3 模拟IMS业务平台组成

3.2 Open IMS Core搭建

Open IMS Core安装需要Linux环境,所以本文使用了VMware虚拟机安装了版本为12.04的Ubuntu操作系统。操作系统搭建在2 GB内存、双核CPU和千兆以太网卡的虚拟机上。由于整个IMS系统核心及客户端都处于同一个网域,所以采用了公网IP地址[7]。安装的主要步骤如图4所示。

图4 Open IMS Core搭建步骤

3.2.1 下载Open IMS Core源代码

搭建Open IMS Core环境需要在其官方网站:http://www.openimscore.org,通过命令下载最新源代码并进行安装。

3.2.2 安装依赖软件和相关包

软件的编译及使用需要大量特定的开发环境和开发工具,同时Open IMS Core对第三方包和库有很大的依赖关系,在源代码编译前需要安装这些软件和包。这些软件基本都可以使用命令下载安装,具体需要如下几种:bison、flex、libxml2、libxml2-dev、bind9、mysql-server、libmysql、libmysqlclient15-dev、sun-java5-jdk、ant、cachingnameserve和 libcurl4-gnutls-dev。

3.2.3 编译并配置DNS

编译及配置DNS是整个系统最关键且最复杂的一步。上文中安装的bind服务器其实是一个DNS解析软件,相当于DNS服务器。安装bind是为了能够使Open IMS Core能够自动解析域名。域名配置为“open-ims.test”是默认域名,也可以根据自身需要进行修改。

为了方便,本文将IP设置了为127.0.0.1,即默认地址。如果想在多个电脑上实现该系统之间的通信,可以将地址设置为自身地址。至此,DNS设置完毕,需要清除缓存并重启DNS服务器,最后ping域名进行测试。

3.2.4 Open IMS Core配置及测试

首先,针对mysql数据库进行配置,导入相关数据表项,针对Open IMS Core的执行文件做好连接,获得权限可以直接访问。其次,在虚拟机中开启4个命令对话框,分别获得root权限后运行icscf.sh、scscf.sh、pcscf.sh和fhoss.sh。对话框上显示服务器运行状态全部显示为绿色即配置成功。最后,打开网页输入http://localhost:8080,能够打开即为安装成功,至此Open IMS Core的安装完毕。CSCF及FHoSS运行状态,如图5~图8所示。

图5 P-CSCF运行情况

图6 I-CSCF运行情况

图8 FHOSS运行情况

3.3 SIP服务器及UCT client客户端搭建

本文采用Sailfin服务器版本为V2-B31G。该版本为sailfin的早期稳定版本,能够支持与Open IMS Core的连接[8]。安装前需要安装JAVA运行环境和相关工具即JDK。本文中安装的版本为jdk-6u7-nb-6_1-linux-ml.sh。以上软件包都可以使用命令对话框和网络镜像进行自动安装。安装完成后,添加可执行属性就可以直接运行。

UCT Client的安装较为繁琐,在安装前需要安装许多相关依赖软件和包。本文安装的软件包 如 下:libavcodec52、libosip2-dev、libexosip2-dev、libgtk2.0-dev、libxml2-dev、libcurl4-dev、libvlc-dev、vlc、libgstreamer0.10-dev、libgstreamerplugins-base0.10-dev、libavcodec-unstripped-52、libx264-59、libcurl、libcurl3。以上软件包安装完毕后,需要在安装源根目录下进行编译。如果不能成功,则需要更换软件版本。

最后,安装UCT客户端,通过命令(sudo dpkgiuctimsclient1.0.14.deb)进行安装。安装成功后,通过 命 令(cd /opt/OpenIMSCore/uctclient/~uctclient.sh)或者直接进入安装文件夹找到程序运行。

4 模拟IMS平台业务生成及运行

4.1 平台业务生成及配置

模拟IMS平台的运行需要对相关业务信息进行配置。首先,应以管理员用户登录FHoSS的web管理页面(http://127.0.0.1:8080)。配置目的是将业务触发条件iFC以用户配置信息的形式储存于HSS,已备用户注册时自动触发,并在呼叫时作为业务触发评估准则使用。FHoSS所提供的管理用户名为hssAdmin,密码为hss[9]。

在运行整个系统前,需要建立几项数据,分别是应用服务器、业务出发点和初始过滤准则。其中,应用服务器里Sever Name是AS的SIP URI,格式应采用主机IP加上端口号;业务出发点和初试过滤准则使用系统默认的配置。具体配置图如图9、图10所示。

图9 FHOSS用户配置

图10 业务触发点配置

最后,对客户端用户信息进行配置。由于在FHOSS系统中默认了两个用户账号,分别是bob@open-ims.test和alice@open-ims.test,本文为方便模拟系统功能实现,没有建立新用户,使用这两个账号作为实验账号。分别打开两个客户端,登录bob和alice,用户配置需要手动添加。具体数据如下:用户私有标识为分别是bob@open-ims.test和alice@open-ims.test,密钥分别为bob、alice,域统一为open-ims.test,出局代理服务器统一为sip:pcscf.open-ims.test:4060[10]。具体配置图如图11所示。

图11 UCT用户配置

至此,整个模拟IMS业务平台的搭建及配置完毕。

4.2 运行系统及分析

将打开的两个UCT客户端分别注册,等待呼叫控制中心CSCF响应后,就可以进行呼叫了。实验证明,两个客户端能够实现对通,达到了IP实时语音通话的目的。该客户端除了能够实现语音通信,还能够实现IPTV功能。该功能使用IMS系统中的媒体控制模块MCF和媒体传递模块MDF来达到媒体监控、媒体处理及用户交互[11]。UCT客户端运行图如图12所示。

图12 UCT客户端运行状态

5 结 语

本文结合当前应用最成熟的3GPP R8版本中的IMS架构,搭建了Linux虚拟环境,建立了以Open IMS Core为核心的开源平台。使用Sailfin服务器及UCT Client客户端做为配合软件,模拟仿真了IMS架构的核心功能,实现了IMS网络中用户之间的通信交互。该模拟仿真系统的实现具有重大意义,能够为大型用户群提供IP业务,能够作为下一步IMS平台建设的基础环境架构。因为本仿真采用的Open IMS Core平台、Sailfin服务器、UCT客户端均为开源项目,所以今后开发中可以针对不同用户群体或科研需求,在该平台上增加各种特殊功能,如号码隐藏、IP路由掩护及加密通信等。此外,未来该平台还可以搭载到手机平台,实现IMS平台在移动客户端的应用。

猜你喜欢

客户端架构服务器
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
服务器组功能的使用
通信控制服务器(CCS)维护终端的设计与实现
基于云服务的图书馆IT架构
如何看待传统媒体新闻客户端的“断舍离”?
PowerTCP Server Tool
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路