基于开源软件的IMS通信网络的设计与实现*
2015-03-25刘泽忠
张 睿,刘泽忠
(中国电子科技集团公司第三十研究所,四川 成都 610041)
基于开源软件的IMS通信网络的设计与实现*
张 睿,刘泽忠
(中国电子科技集团公司第三十研究所,四川 成都 610041)
随着IP多媒体子系统技术的应用和发展,如何有效建立IMS通信网络环境是进行IMS网络架构与功能研究的前提与重点,为此,针对目前IMS小规模网络构建的需求,研究提出了一种基于开源软件的IMS通信网络构建方案,以解决标准IMS网络构建成本高、难度大等问题。此方案基于Open IMS Core开源项目,从虚拟机构建、通信协议配置以及通信业务配置等多方面阐述了网络构建的初步设想,为IMS相关的科学研究提供了新的学习、试验以及测试平台。
开源软件;Open IMS Core;IMS通信网络
0 引 言
IP多媒体系统[1](IP Multimedia Subsystem,IMS),是一种全新的多媒体业务形式,能够满足现在终端客户更新颖、更多样的化多媒体业务需求。目前,IMS被认为是下一代网络(Next Generation NetWork,NGN)通信网络的核心技术,也是解决移动通信网络与固定电话网络融合,引入语音、数据、视频三重融合等差异化业务的重要方式。IMS最初是由3GPP(第三代合作伙伴计划)组织制定的一项3G网络核心技术标准。现在这项标准已为ITU-T(国际电联标准化部门)和ETSI(欧洲电信标准化委员会)认可,被纳入NGN的核心框架之中。它被认为是实现固定网和移动网融合(FMC)的重要技术基础。随着4G LTE网络的大规模部署和应用,IMS已经进入实用化部署阶段。可以说当前的IMS的应用主要是跟移动应用相关的,因此,本文对IMS的描述主要以移动应用为主。
1 IMS通信网络架构
3GPP在UMTS R5版本的核心网中最早引入了IMS,IMS叠加在UMTS分组域之上,通过UMTS接入网,主要与分组域的GGSN通过Go接口连接(见下图),分组核心网与移动用户交换SIP控制信令。IMS本身只负责控制信令的处理,由IMS引发的应用数据传输是直接从GGSN连接到外部应用服务器和数据网。
图1 UMTS R5核心网架构[2]
IMS功能实体可分为六大类[3]:会话管理和路由类(CSCF)、数据库(HSS、SLF)、网间协调(BGCF、MGCF、IM-MGW、SGW)、服务提供(应用服务器、MRFC、MRFP)、策略与支撑(THIG、SEG、PDF)和计费。在上述功能实体中CSCF和HSS是IMS的核心。
1.1 呼叫会话控制功能(CSCF)
呼叫会话控制功能[4](Call Session Control Function,CSCF)是通信服务器,是IMS的核心功能实体。CSCF除了提供SIP协议处理功能和用户对话状态管理外,还提供移动管理,包括用户等级,鉴权和用户profile管理[5];QoS管理;与外部IP数据网和应用服务器互连等功能。
根据CSCF在网络中的位置及所完成的功能不同,分为:
(1)代理呼叫会话控制功能(Proxy-CSCF,P-CSCF)
P-CSCF是IMS拜访域控制平面同一的初步入口点,即UE接入IMS的第一个接触点,P-CSCF将来自拜访地接入网络的SIP消息,包括登记、多媒体会话、IM/Presence等,代理转接到其归属地的S-CSCF或I-CSCF,即所有SIP信息流无论来自UE或者发给UE,都必须通过P-CSCF。P-CSCF完成的功能包括SIP Proxy、SIP用户代理、SIP消息压缩/解压缩、计费、加/解密等。
(2)问询呼叫会话控制功能(Interrogating-CSCF,I-CSCF)
I-CSCF是运营商归属IMS网络的同一的初步入口点,即拜访网络与归属网络之间交互的第一个接触点。在一个运营商网络中,I-CSCF为所有连接到这个运营商的某一用户连接提供联系点,所有从IMS外来到IMS的信息都要先访问I-CSCF,相当于为IMS提供一个关口功能。I-CSCF完成的功能包括为用户指派S-CSCF、查询被叫用户S-CSCF路由信息、SIP转发等。
(3)服务呼叫会话控制功能(Serving-CSCF,S-CSCF)
S-CSCF在这个IMS核心网的会话控制中处于核心地位,它是IMS核心中的核心。它位于归属网络,为UE进行会话控制和注册服务。也就是说,S-CSCF接收来自访问网络IMS用户警告P-CSCF转发的注册请求,与HSS配合对IMS终端用户进行鉴权,并从HSS下载用户IMS签约信息;当UE处于会话状态时,S-CSCF维持会话状态,执行针对主叫端及被叫端IMS用户的基本会话路由功能,评估IMS签约触发规则和网络运营商对服务支持的需要,与服务平台和计费功能进行交互。
1.2 归属用户服务器(HSS)
无论是第一代移动通信网络还是第二代移动通信网络,乃至第三代移动通信网络,HLR一直是用来储存、管理移动用户签约数据,签约数据产生和提供移动用户位置管理功能的网络实体。发展到第三代移动通信R5版本,HLR升级为归属用户管理服务器HSS(Home Subcriber Server)。HSS不单服务于CS和PS域,提供原HLR/AuC功能,还为R5网络的IMS提供IP多媒体业务数据的管理能力,即为IMS控制平面提供呼叫、会话管理功能及IMS用户签约信息的管理。HSS是归属网络中保存用户的签约信息,包括:用户标识(IMS公共和私有标识);用户安全数据:控制用户接入网络的鉴权数据、漫游限制信息、数据完整性保护和加密等;用户位置信息:支持包括CS、PS和IMS的用户位置信息的注册和管理;用户服务签约信息:包括在往外AS的增值业务签约信息;用户接入参数:用于会话建立,他包括诸如用户认证、漫游授权和分配S-CSCF的名字等。
1.3 接口及协议
下图为CSCF、HSS以及UE之间的接口[6]。各接口运行的协议主要有两种:SIP和Diameter。其中运行SIP的接口包括Gm和Mw,运行Diameter协议的接口包括Cx。
图2 IMS网络接口
2 Open IMS Core项目
开源IMS核心项目[7](Open IMS Core)是德国Fraunhofer FOKUS研究所开发并管理的IMS开源项目,旨在填补IMS开源软件的空白,为IMS业务系统开发以及IMS概念学习提供测试床和平台。Open IMS Core具备高度的可配置性和可扩展性,在一些国家和国际开发项目中,已经得到应用。因此,Open IMS Core是进行IMS系统开发、测试、学习的理想工具。
Open IMS Core由呼叫会话控制功能(CSCFs)、IMS信令路由单元和用于管理用户配置文件[8]及路由规则的归属用户服务器[9](HSS)组成(见下图)。Open IMS Core的核心组件是CSCFs(代理、问询和服务),它们基于FOUKS的SER开发,并成功与商用的IMS系统进行了对接测试。由于基本的信令路由功能需要在IMS HSS中进行查找,没有HSS的IMS网络无法正常运行,因此一个简单的FOKUS归属用户服务器(HSS)-FHoSS也是开源IMS核心项目的一部分。
图3 Open IMS Core组成
3 通信试验网络设计方案
针对开源的Open IMS Core,网络上有很多介绍安装的版本,不过都存在一些问题。同时也由于Open IMS Core的资料缺乏导致实际调通时花费一些时间[10]。下面是安装在Ubuntu 14.04 Desktop版本上的过程,Ubuntu的其他版本也应该可以这样安装。
3.1 软硬件平台准备
首先,要为Open IMS Core准备编译、运行的软硬件平台。为了尽量节省资源和使试验更容易开展,采用运行于单机的多个虚拟机作为Open IMS Core 编译、运行的平台。需建立的虚拟机平台包括P-CSCF虚拟机、I-CSCF虚拟机、 S-CSCF[11]虚拟机、HSS虚拟机和用户虚拟机。其中,HSS虚拟机还负责运行DNS服务器,提供IMS域名解析功能。关于虚拟机支撑软硬件平台及虚拟机必备软件见下表。
表1 试验环境软硬件平台列表
以MySQL为例,说明一下Ubuntu[13]系统安装软件的过程[14]。首先保证计算机(包括虚拟机)能够访问互联网,然后进入命令行模式,以超级用户身份运行“apt-get install mysql-server mysql-client”命令,具体见下图。
(1)第一步:运行“apt-get install mysql-server mysql-client”命令;
图4 启动MySql数据库的安装过程
(2)第二步:输入“Y”,选择安装;
图5 解压并安装MySql数据库
(3)第三步:输入MySql数据库root用户的密码;
图6 输入MySql数据库的管理员用户口令
3.2 安装Open IMS Core
支撑软硬件平台部署完成后,接下来就是要下载、编译、安装Open IMS Core项目了。首先,第一步使下载源码。
(1)获取源码
因为源码编译路径已经在配置文件中固化,因此,源码的本地存储也要遵循一定的规则。在HSS虚拟机的“/opt”目录下建立 “OpenIMSCore”文件夹,并在“/OpenIMSCore”建立“ser_ims”和“FHoSS”两个子文件夹。在“/opt/OpenIMSCore/ser_ims/”路径下运行:
svn checkouthttps://svn.code.sf.net/p/openimscore/code/ser_ims/trunkser_ims
在“/opt/OpenIMSCore/FHoSS /”路径下运行:
svn checkout https://svn.code.sf.net/p/openimscore/code/FHoSS/trunk FHoSS
通过上述两条命令的执行,Open IMS Core的源码就分别下载到本地的相应目录下了。
(2)编译
在“……/ser_ims”目录下运行:
make install-libs all
在“……/FHoSS”目录下运行:
ant compile
ant deploy
通过上述命令的执行,CSCFs和HSS程序编译完成。
(3)配置
1)配置各虚拟机的局域网IP地址,确保各虚拟机之间局域网可达。
2)将HSS虚拟机中的OpenIMSCOre文件夹整体拷贝至P/I/S-CSCF虚拟机的“/opt”目录,运行:
cp ser_ims/cfg/*.cfg .
cp ser_ims/cfg/*.xml .
cp ser_ims/cfg/*.sh .
上述命令主要是用于将运行程序及相关的配置文件拷贝至OpenIMSCore文件夹根目录下。
3)在全部虚拟机的“/ser_ims”目录下运行“./configurator.sh”命令,然后“Domain Name:”属性配置为“open-ims.test”,“IP Adress”属性配置为虚拟机本地IP地址。该步骤主要完成CSCFs的域名和IP地址配置。
4)利用文本编辑工具(gedit)打开并编辑P/I/S-CSCF虚拟机的resolv.conf文件(在/etc目录下),更改“nameserver”的IP地址为HSS(DNS服务器)的IP地址。
5)配置DNS服务器。将“/ser_ims/cfg/”目录下的“open-ims.dnszone”文件拷贝至“/etc/bind/”目录下,并利用文本编辑工具打开,更改相关CSCF的IP地址。在同目录下的“name.conf.local”文件中增加以下语句:
zone "open-ims.test" IN {
type master;
file "pri/open-ims.dnszone";}
完成上述DNS配置后,重启bind9服务。
(4)运行
在HSS虚拟机“……/FHoSS/deploy/”目录下运行“./startup.sh”;
在P-CSCF虚拟机的“……/ser-ims/”目录下运行“./pscscf.sh”;
在I-CSCF虚拟机的“……/ser-ims /”目录下运行“./icscf.sh”;
在S-CSCF虚拟机的“……/ser-ims /”目录下运行“./scscf.sh”。
4 IMS业务测试情况
在以上IMS核心网络的基础上,加入UCT IMS Client软件模拟的IMS用户,通过检验用户间的通话质量,测试IMS试验环境的VoIP基本业务功能;并通过改变用户的QoS等级等签约信息的方式,测试QoS参数中的带宽对用户通话质量的影响,测试网络如下图所示。
图7 业务测试网络结构图
4.1 试验环境的VoIP业务质量测试
在系统默认带宽(68kbps)情况下,客户端A、B能够正常建立呼叫,通话过程中,声音清晰,对话内容能清晰辨认,且基本无延迟和回声现象。
在用户通话过程中,在运行P-CSCF的主机上使用命令行查看流经P-CSCF的数据流量,数据信息如下所示。可以发现,客户端A、B之间的带宽为68kbps,与授权的带宽一致,试验环境可很好地对VoIP业务提供支持。
图8 客户端通话时的流量监测情况
4.2 修改带宽参数后的通话质量测试
修改客户端A、B的签约带宽,均修改为50 kbps。根据用户订阅情况,P-CSCF经过判断,将为客户端重新分配50 kbps的带宽。测试过程中,由于分配带宽比默认带宽小,通话时,发现声音断续,通话质量无法保证,在运行P-CSCF的主机上使用命令行查看流经P-CSCF的数据流量,数据信息如下所示。该测试证明,试验环境可根据用户签约参数的变化情况,对QoS规则进行动态调整,符合真实网络的特征。
图9 改变QoS参数后客户端通话时的流量监测情况
5 结束语
采用本文方案完成包含CSCFs和HSS关键网元节点的IMS试验环境构建后,就可以依托试验环境开展各项试验了。在进行网络分析时,可以通过例如Wireshark等以太网协议分析软件,进行信令数据的跟踪分析,当需要在试验环境中运行IMS业务时,则可以构建IMS用户虚拟机,并添加到试验环境中来。通过后续的业务测试,模拟用户能够正常使用VoIP业务,话音清晰,无延迟和回声;并可根据用户签约参数的变化情况,对QoS规则进行动态调整,表明该试验环境可很好地支持基本IMS业务,性能良好。
[1] 杨放春,孙其博.软交换与IMS技术[M].北京:北京邮电大学出社,2007:307. YANG Fang-chun, SUN Qi-bo. Softswitch and IMS Technology[M].Beijing: Beijing University of Posts and Telecommunications Press,2007:307.
[2] 樊灿,汪小燕.3G中IP多媒体子系统体系结构[J].通信术,2002,10:67-69. FAN Chan, WANG Xiao-yan.System Architecture of IP Multimedia Subsystem in 3G[J].Communications Technology, 2002,10:67-69.
[3] 3GPP.TS 23.002,Network Architecture[S].American:3GPP:223[2015.7.23]. http://www.3gpp.org/ftp/Specs/2015-06/Rel-5/23_series/23002-5c0.zip.
[4] 3GPP.TS 23.218,IP Multimedia(IM)Session Handling;IM Call Model[S]. American:3GPP:108-110[2015.7.23]. http://www.3gpp.org/ftp/Specs/2015-06/Rel-5/23_series/23218-590.zip.
[5] 李晓涛.基于开放源码实现紧凑式IMS系统[D]. 北京,北京邮电大学,2011. LI Xiao-tao. Compact IMS System based on Open Source [D]. Beijing: Beijing University of Posts and Telecommunications,2011.
[6] 赵鹏,周生,望玉梅.IMS:移动领域的IP多媒体概念和服务[M].北京,机械工业出版社,2005:234. ZHAO Peng, ZHOU Sheng, WANG Yu-mei.IMS: Mobile Field of IP Multimedia Concepts and Services[M]. Beijing: China Machine Press,2005:234.
[7] 3GPP.TS 22.140,Service Requirements for 3GPP Generic User Profile[S]. American:3GPP:58-60[2015.7.23]. http://www.3gpp.org/ftp/Specs/2015-06/Rel-5/22_series/22140-540.zip.
[8] 3GPP.TS 22.228,Service Requirements for the Internet Protocol(IP) Multimedia Core Network Subsystem[S]. American:3GPP:22[2015.7.23]. http://www.3gpp.org/ftp/Specs/2015-06/Rel-5/22_series/22228-570.zip.
[9] Core Network Dynamics GmbH.The Open IMS Core is an Open Source implementation[EB/OL],2015-7-15/2015-7-25. http://www.openimscore.org/documentation/installation-guide/.
[10] 李同康.基于IMS架构的流媒体服务器的研究和应用[D].南京:南京邮电大学,2010. LI Tong-kang.Research and Application of IMS-based Streaming Media Server[D].NanJing: Nanjing University Of Posts And Telecommunications,2010.
[11] 陈思远.基于IMS架构的LBS系统的设计与实现[D].广州:华南理工大学,2010. CHEN Si-yuan. Design and Implementation of LBS System based on IMS Architecture [D].Guangzhou: South China University of Technology,2010.
[12] Ulf Lamping. Wireshark Developer′s Guide[EB/OL],2014-11-9/2015-7-25. https://www.wireshark.org/docs/wsug_html_chunked/.
[13] Canonical Ltd.Ubuntu Server-for scale out computing[EB/OL],2014-9-1/2015-7-26. http://developer.ubuntu.com/zh-cn/start/ubuntu-for-devices/installing-ubuntu-for-devices/.
[14] Oracle Corporation.MySQL 5.1 Reference Manual[EB/OL],2015-8-30/2015-8-31. http://dev.mysql.com/doc/refman/5.1/en/.
Design and Implementation of IMS Communication Network based on Open-Source Software
ZHANG Rui,LIU Ze-zhong
(No.30 Institute of CETC, Chengdu Sichuan 610041, China)
With the application and development of IP multimedia subsystem, how to effectively establish the IMS communication network environment becomes the premise and key of IMS network architecture and function research. For this reason and aiming at the demands of small-scale IMS network construction, a novel construction scheme of IMS communication network based on open source software is proposed,thus to solve the problems of high cost, great difficulty and so on. Based on open-source project of Open IMS Core, preliminary idea of network construction is described from the prospective of virtual machine construction, communication protocol configuration and communication service configuration,thus providing a new platform for the study, experiment and test of IMS-related scientific research.
open-source software; Open IMS Core; IMS communication network
10.3969/j.issn.1002-0802.2015.10.013
2015-05-01;
2015-08-27 Received date:2015-05-01;Revised date:2015-08-27
TN915.02
A
1002-0802(2015)10-1162-06
张 睿(1980—),男,硕士,工程师,主要研究方向为信令网安全防护;
刘泽忠(1979—),男,硕士,高级工程师,主要研究方向为伪移动通信安全防护。