HI,欢迎来到学术之家股权代码  102064
0
首页 精品范文 sip协议

sip协议

时间:2023-02-13 14:16:05

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇sip协议,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

sip协议

第1篇

关键词:会话初始化协议sip;TCPN;建模;模型

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)25-0035-02

1 引言

第三代合作伙伴3GPP选择SIP协议作为第三代移动通信系统的IP多媒体子系统(IMS)心灵协议,是因其具有灵活、无缝和可扩展性,它将逐渐成为下一代网络NGN中关键控制协议之一。它可以满足多媒体通信与网络电话的要求,所以很多的通讯公司均先后研发出了支持SIP的服务产品与终端产品。为充分适应这些技术的发展,SIP协议需要进行进一步的完善与扩充,但是如果协议在设计环节出现任何问题都会给系统带来难以预料的影响,所以为保证协议的稳定性和安全性,应在早期开发时尽可能挖掘其隐蔽的问题并找出解决方案。

目前研究SIP协议主要涉及以下几方面:基于SIP的应用于服务[3];SIP测试工具和方法;其他协议与SIP协同工作。因时间着色Petri网TCPN[2]在描述带有较复杂的交互动作和时间约束的系统过程中具有明显的优势,故本文以TCPN为模型分析工具进行SIP协议分层TCPN模型的构造,并在不同状态下实现分层建模。

2 SIP协议事务处理

SIP协议通过事务进行会话控制,其主要事务有INVITE、non_INVITE事务。INVITE事务完成会话的创建,non_INVITE事务则完成会话的保持与关闭。SIP端系统(User Agent,UA)是连接服务器从而发送服务请求的一种应用程序。因UA向服务器发送服务请求并接收来自服务器的响应,故一个UA有UAS(用户服务器)和UAC(用户客户端)两部分,这两部分就是SIP协议中的两个最关键的参与者,UAC创建呼叫请求,UAS接受呼叫给出响应。

在SIP的请求消息中,最常用的有INVITE、REGISTER、CANCEL和BYE。其响应消息有1xx、2xx、3xx、4xx、5xx、6xx6种。SIP的呼叫方式有3种:从UAC到UAS的直接呼叫、从UAC发出的重定向呼叫、服务器发起呼叫。本文主要针对应用最广的直接呼叫进行分层建模。

3 SIP协议TCPN分层建模

本文应用CPN Tools[4]进行INVITE事务的分层建模,并在不同的抽象层次上描述协议行为细化模型。这种方法在一个层次中描述协议细节,有利于优化或局部完善协议模型,也能有效把握模型规模,便于确认模型与分析协议性质。

SIP协议的TCPN分层模型中的10个模型页分别处于不同的层次,每页所描述的是对应抽象级别上的协议功能,低级别页作为高级别页的替代变迁子页。各层次模型页功能描述如下表1。各层内部模块细化是依据UAS与UAC在INVITE事务执行过程中具备的不同状态进行的,因在terminated状态下协议无行为,而仅表示终止事务,故没有单独描述此状态。

3.1 总体流程建模

SIP协议分层TCPN模型的top page(顶级页)如下图1所示,它总体描述了协议运行的网络拓扑,其中使用了2个替代变迁对NET、UAS和UAC在协议运行过程中的交互行为进行描述。UAC通过NET向UAS发送REQUEST型数据,UAS将RESPONSES型数据通过NET回传给UAC。

Client页用以描述UAC的行为,下图2所示为其页模型。图中的3个替代变迁对应的子页能够更加细致地描述处于不同状态的UAC端行为。库所Scene用以描述UAC的行为,变迁TransErr可以模拟协议在不同条件下出现传输层错误时所采取的处理方式。

3.2 网络层建模

下图3所示为NET页模型,描述的是由UAC到UAS的网络传输建模。库所Schannel_Em记录的是有多少个消息被成功地传送到了UAS端,其初值为0。库所CollectorCTS用以收集不可靠链路丢失的消息。变迁RCTS与CTOS用以模拟不可靠链路。不可靠链路的具体建模方式如表2所示。

通过上述时间类型、弧表达式及防卫表达式的应用,可模拟存在重复数据包、延迟、丢包的不可靠链路。若对其某些参数做适当的修改,便可动态调整其链路的可靠性,以此来真实地模拟不可靠链路。

3.3 具体行为建模

本文表1中的Sproceeding、Ccalling、Cproceeding等底层模型页描述UAS和UAC在不同状态下处理事件的过程,也就是对协议的具体行为建模。下文以UAC端处于Ccalling状态时的应答消息处理行为为例,阐述具体行为的模型描述方式。

下图4所示为UAC处于Ccalling状态时处理INVITE消息的模型,即Ccalling页模型。图中CallTimer表示UAC处于超时状态时消息的处理过程,CallResp表示UAC收到UAS应答时对消息的处理过程。库所TimerAorB用以控制A与B两个定时器的触发。融合库所cloneCs用队列存放UAC每次状态的变化,其队首为UAC的当前状态,Scenec记录UAC的当前状态和导致UAC变为此状态的事件。Message存放初始条件下从SIP协议上层收到的INVITE请求。Channel_Em用以记录当前是否收到UAS的应答,其初值为0。

当收到UAS会送的响应消息时,变迁CallResp被点火执行,即运行其对应的函数代码。此函数代码中sta与st均为SCENEC型变量,st是处理消息前UAC的状态,sta为处理消息后UAC的状态。Action部分调用函数call_resp(st,resp)完成UAC对不同类型响应消息的处理,该函数代码如下:

由上述代码可知,处理类型为r2xx的应答消息后UAC处于TERM状态,处理类型为r3xx的应答消息后处于COMP状态,处理类型为r1xx的应答消息后处于PROC状态。

4 总结

本文给出了SIP协议处理INVITE事务的TCPN分层模型,对该协议总体流程、网络层、UAS与UAC间的具体行为在不同模型层次上分别进行建模。该层次模型规模可控、功能划分直观、数据结构完备,为建模后期协议的验证与改进提供了较完善的模型基础。

参考文献:

[1] 姜秀玉,杨峰,崔再惠.SIP协议实现中消息解析的研究[J].计算机工程与设计,2010(7).

[2] 何中阳,李鸥,杨白薇,等.基于TCPN的TCP协议形式化描述[J].计算机工程,2011(9).

第2篇

关键词:Android系统;SIP协议;旅游信息终端;RTP

传统的旅游信息是在Web网页上的,可能存在很多缺点,比如:信息混乱,内容复杂,广告多,搜索时间长,用户界面的视觉效果差等等。用户经常花费很多时间用来搜索信息,但是通常却找不到他们想要的信息。手机对人们来说,或许已成为必不可少的一部分,因此对更多人来说其成本更低,使用更为方便快捷。目前,市面上并没有一个完整的旅游信息平台。

本文提出了一个基于Android技术的旅游信息系统应用程序。旅游信息终端的通信架构是基于SIP(会话初始协议)协议设计的,其中浏览旅游信息的音频和视频模块是基于H.264协议和RTP(实时传输协议)设计的。旅游信息是通过区域实现模块分化的,用户可以选择景点并播放关于该景点的音频或视频信息,或者阅读图片和文本信息,从而选定最感兴趣的景点游玩。

1.技术原理

旅游信息终端使用SIP协议作为基本层。SIP协议是由IETF(因特网工程任务组)制定的多媒体通信协议,广泛用于控制交流会话。它依赖于传输层,其中会话可能由音频信息和视频信息共同构成。

SIP模块分为用户,服务器和注册服务器3部分。当用户发送一个音频或视频请求,用户首先向注册服务器发送注册请求。当注册服务器通过注册请求之后,音频或视频请求则被发送到服务器响应请求,以允许播放音频或视频信息。图1显示了一个基于SIP协议的音频或视频通信过程。

2.旅游信息终端的设计

本文提出的旅游信息终端系统采用当前最热的Android技术,如图2所示。旅游信息终端的通信架构是基于SIP协议设计的,其中浏览旅游信息的音频和视频模块是基于H.264协议和RTP(实时传输协议)设计的。该系统采用信号控制层和SIP协议共同完成信号控制。音频和视频信息传输层是实现层,包含了RTP传输模块、媒体模块及其他模块等。

当用户想看多媒体的信息时,开放媒体线程的请求被发送到服务器。多媒体信息通过H.264协议编码并压缩,然后再使用RTP协议发送到响应的接收线程中。通过H.264协议进行解码处理后,用户打开音频和视频线程查看信息。图3显示了整个处理过程。

本文的旅游信息终端以天津这个城市为例。根据天津的区域分布,旅游信息终端在此基础上按照其街区进行划分景点。天津市分为16个区,比如河北区、河西区、北城区、西青区等等(见图4)。当用户打开软件时,第一次使用会提示一个新手引导页面。每个区域的景点都有完整的信息介绍。

用户可以通过使用这个程序查看周边景点信息,也可以浏览在其他区域的景点信息。这种一站式信息检索可以为游客节省大量的时间,它让用户有更多的时间来制定一个更合理的旅行计划。当用户查询景点信息时,该软件会向用户提供多样的景点介绍方式,比如文本信息、图像信息、语音信息等等。当用户不方便阅读文本信息时,多元化的信息服务为用户提供了便捷的选择,比如通过音频信息来了解景点。

打开应用程序后,用户可以看见一些天津特色景点的推荐。用户可以通过点击景点图片从而浏览任意景点,也可以在主页面搜索景点。例如,天津五大道景点,用户可以输入天津第五大道后搜索,打开相应的景点介绍页面。在景点介绍页面,用户可以看到关于第五大道的文本、图片和视频信息。这些可以让用户更加了解第五大道,并帮助用户决断是否去参观该景点,如图5所示。

第3篇

关键词:SIP;IP;MPEG4;软交换;视频监控

中图分类号:TP393文献标识码:A 文章编号:1009-3044(2010)01-74-03

The Design and Implementation of Video Monitoring System Based on SIP

HUANG Lun-wen, CHENG Yong, LI Han

(Anhui Sun Create Electronics Co., Ltd, Hefei 230088, China)

Abstract: How to set up a remote network video connections, NAT penetration, efficient video stream encoding and decoding is the research in the field of video monitoring. MEPG4 video encoding formats, which is of high compression ratio, is used in the SIP-based network video monitoring system. The system supports multi-channel IP video, using soft-switching platform for centralized management of the video stream to achieve the establishment of a network video connection, video streaming encoding and decoding, encryption, transmission, and intelligent alarm, video capture, playback and other functions.

Key words: SIP; IP; MPEG4; soft switch; video monitoring

近年来,随着各类如地震、冰雪等自然灾害和恐怖事件频繁发生,公共安全已经得到世界各国的高度重视。各级政府和单位投入大量的人力、物力研究新型安全防范系统。其中视频监控是安全防范的重要组成部分,它是一种可靠、防范能力极强的综合系统[1-2]。

SIP(Session Initiation Protocol)会话初始协议是IETF制订的,用于多方多媒体通信,是一个基于文本的应用层控制协议,独立于底层传输协议TCP/UDP/SCTP,用于建立、修改和终止IP网上的双方或多方多媒体会话[3-4],与RTP、RTCP、SDP等协议结合可实现语音、视频通讯;SIP协议可在TCP或UDP之上传送,由于SIP本身具有握手机制,可首选UDP。

1 视频监控系统的构架和工作原理

1.1 系统构成

该视频调度监控系统由视频嵌入式终端、监控管理平台以及SIP服务器系统三部分组成。其结构如图1所示。

其中嵌入式终端是基于SIP信令构建的系统,在SIP网元中也可以把它看作是包含媒体通讯功能的UA客户端。主要完成信号的采集、信号处理和前端摄像机的控制工作。

SIP服务器系统主要包括信令服务器(定位、、注册)、媒体服务器(转发、存储等)以及报警服务器等。当有监控中心向服务器发出监控请求时能够找到相应的监控设备,并且把请求转发到嵌入式终端。

监控管理平台是一个标准的SIP设备,用户除了可以观看监控现场的图像以外,通过扩展SIP信令,还可以支持授权用户对云台系统的控制。这里的管理平台可分为监控中心(外接电视墙或电视机),软件管理平台(其中包括在本地局域网内的客户端)和支持SIP的移动设备,如笔记本电脑、可视电话、SIP手机等。

1.2 系统的工作原理

嵌入式终端注册到SIP服务器,如果监控管理平台需要监控某个终端,可以发出接入请求,SIP服务器可以找到终端所在地,然后建立连接。连接建立后,嵌入式终端系统采集音视频的模拟信号,然后转化为数字信号,经过编码器编码后(如MPEG-4编码)传送给视频监控服务器,视频监控服务器把视频数据进行IP封装后发送到监控管理平台。

2 嵌入式终端设计

嵌入式终端采用Z228芯片开发,Z228是上海杰得微电子自主开发的多媒体应用处理器,是中国第一款0.13微米的高度集成的低功耗的具有强大多媒体处理能力的 SoC 芯片,单芯片包含了ARM926EJ CPU和MPEG-4硬件编码器[5]。嵌入式终端的主要功能是视频的采集、A/D转换、编码、发送等功能。

2.1 硬件体系结构

如图2所示,摄像头连接到视频输入接口,采集到的模拟视频数据经过A/D转换后进入高性能处理芯片,高性能处理芯片集成了硬件编码芯片和ARM处理器,数据经过硬件编码后成为高压缩比的MPEG4数据,通过RJ45接口传送到网络上。摄像头连接到云台上,使云台带动摄像头移动,摄像头以及云台的控制接口和控制器相连,控制器再和集成电路板上的485接口相连,这样就可以用485协议通过控制器对云台进行移动控制以及对摄像头进行变焦等操作。

2.2 MPEG-4编码

系统采用的视频编码格式是MPEG-4。

编码的过程如图3所示:

1)初始化阶段:初始一个实例,调用函数:MP4EncInit;

2)选项配置:对编码的码率等参数进行配置,调用函数:MP4EncSetRateCtrl、MP4EncSetCodingCtr、MP4EnSetUsrData、MP4EncSetSmooth、MP4EncSetCrop;

3)采集视频流:获取产生MPEG4码流的头信息,调用函数:MP4EncStrmStar;

4)数据编码:每次得到YUV的图像帧后,产生这一帧的码流。调用函数:MP4EncStrmEncode;

5)输出数据:把编码过的数据打包,经过RTP传到SIP服务器;

6)停止数据流:一个码流数据的结束,调用函数:MP4EncStrmEnd;

7)释放资源:释放初始化的实例,调用函数:MP4EncRelease。

2.3 媒体数据的发送

SIP连接建立成功以后,双方视频通道建立,在IP层上进行视频数据传递,利用RTP(实时传输协议)和RTCP(实时传输控制协议)通过UDP传输数据。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据[6]。

RTP提供具有实时特征的、端到端的数据传输服务。在视频数据前插入包含有载荷标识、序号、时间戳和同步源标识符的RTP包头,然后利用数据报套接字(UDP)在IP网络上传输RTP包。

RTCP负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。SIP服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。

3 SIP服务器

SIP用来建立,改变,认证和终止基于IP网络的多个SIP的视频接入。在此接入过程的基础上很容易的实现多方的音视频、文本等各种类型的媒体会话。参与会话的成员可以通过组播方式、单播连网或者两者结合的形式进行通信。SIP服务器包括信令服务器、媒体服务器、监控服务器。

3.1 信令服务器

信令服务器用于响应SIP终端注册以及连接建立,图4是一个完整的SIP视频的建立流程[7-8]。

嵌入式终端和监控管理平台首先向Sip Proxy(SIP注册服务器)发起注册;当监控中心要接入某路视频时,监控软件经SIP服务器向特定嵌入式终端发起包含SDP(Session Description Protocol 会话描述协议)结构的INVITE请求,嵌入式终端返回180响铃消息,然后嵌入式终端返回包含SDP结构的200OK数据包表示同意接听,并且进行媒体协商,最后监控软件向嵌入式终端发送ACK确认包,此时通话建立;启动媒体和485总线的相关线程。

当断开某路视频时,监控软件向嵌入式终端发BYE消息,嵌入式终端返回200OK,则连接断开。

3.2 媒体服务器

媒体服务器的主要作用是媒体流数据的转发、录像、点播等功能。

当监控管理平台和嵌入式采集终端连接成功后,媒体服务器建立起映射关系,嵌入式采集终端采集现场实时图像,进行编码打包后发送到媒体服务器,媒体服务器根据该连接的映射关系,把IP视频包转发至监控管理平台;而监控管理平台通过同样的方法实现对嵌入式采集终端的各种控制命令的发送。

媒体服务器的另一个重要功能是视频流的存储点播。媒体服务器可以把经过该服务器的视频数据保存到硬盘中,用户可以对视频数据进行检索和回放。当监控系统比较庞大,一台媒体服务器无法满足整个系统需求时,可以对媒体服务器进行扩展,使用多台媒体服务器并发协作执行。

3.3 监控服务器

当摄像机收集到异常信号(如探测到了高温信号,认为发生了火灾)后,将其通过监控系统传至报警联动装置,再由报警联动装置通过某种通信手段(如手机短信、E-mail等)自动向监控人员发出报警信号,或者系统自动地处理现场(如火灾时断电等)。

4 监控管理平台

SIP监控平台的主要作用是连接并控制远程视频,视频流接收、解码、回放等。

4.1 平台构成

监控管理平台包含SIP模块、RTP模块、XVID模块、远程控制模块等。分别实现远程网络视频连接的建立、视频流接收、解码播放、远程控制等功能。每个监控平台可以同时监控多路视频,能够对视频数据进行拍照或录像,对摄像头和云台进行操控。对指定区域的情况实时监测报警。

监控平台另一个重要的功能是通过图像处理算法对比一段时间间隔的图像数据的相似性,来识别指定区域是否有异常活动,实现自动报警、抓拍、跟踪等功能。

4.2 MPEG-4解码

从SIP服务器转发过来的的视频流,需要解码后,才能呈现图象,解码包含Decoder 和VPD 2 部分。其中Decode 用于数据的读取和解码,而VPD 用于图像缩放、格式转换等处理。

解码流程如图5所示:

1)初始化:初始化Decoder和VPD实例,调用函数:MP4DecInit、VPDInit;

2)取数据头信息:启动接收MPEG-4数据流,解出视频数据的头信息,调用函数:MP4DecDecode;

3)预留视频图象处理空间;

4)配置VPD:根据头信息中码流的宽高等,配置VPD模块。根据需要,将输出配置为Framebuffer或者内存。调用函数:VPDGetConfig、VPDSetConfig;

5)解码:根据头信息接收解码单元(一段数据),解码单元内的数据。一帧图像解码完毕则输出显示,否则继续解码,调用函数:MP4DecDecode;

6)释放资源:结束时候,释放相关实例,调用函数:VPDRelease、MP4DecRelease。

5 结束语

该文设计和实现了一种基于SIP的视频监控系统。该系统使用嵌入式设备代替传统的监控系统,传输方式采用了集中管理代替点对点的方式,提高了监控设备的可靠性、灵活性、易管理性。SIP监控适合应用于大规模分布式监控,具有IPV4/IPV6双协议栈,不仅应用于现在的网络,也可平滑过度到下一代网络。随着SIP相关技术的成熟,SIP将成为视频监控领域主流信令控制协议之一,具有广阔的发展空间。

参考文献:

[1] 钱龙华,吕强,杨季文,等.基于ISP的嵌入式视频监控系统[J].计算机应用,2007,27(7):1786-1788.

[2] 朱校海,杨从保,杜治国.基于SIP的IP视频监控系统探讨[J].中国安防,2007(5):98-101.

[3] 司端锋,韩心慧,龙勤,等.SIP标准中的核心技术与研究进展[J].软件学报,2005,16(2):239-250.

[4] 张智江,张云勇,刘韵洁.SIP协议及其应用[M].北京:电子工业出版社,2005.

[5] 魏涛,柴晓东,王华彬,等.基于Z228嵌入式最小系统设计[J].电视技术,2007,31(8):32-34.

[6] 蒋建国,苏兆品,李援,等.RTP/RTCP自适应流量控制算法[J].电子学报,2006,34(9):1659-1662.

第4篇

作者:占桑 单位:中南民族大学

ZigBee网络包括三个不同的节点类型:ZigBee协调器、ZigBee路由器和ZigBee终端设备。网络层处理了以下工作:加入或离开ZigBee网络;为ZigBee数据包提供安全的处理过程;搜索和维护到节点的最佳路径;搜索邻近的节点,创建ZigBee网络(通过协调器),配置网络参数(通过协调器)及分配地址(通过协调员)。应用层包括应用支持层,应用程序框架和ZigBee设备对象。ZigBee终端设备不同于已有的有线网络终端,它具有有限的计算能力。我们的原型平台采用了德州仪器(TI)ZigBee开发套件(ZDK)。IPv6随着互联网所需的地址空间在以不可预料的速度增长,以及新型网络的应用和无线网络得到普及,IPv4定义的地址空间显然是不够的。据互联网编号分配机构(IANA)的报告,未分配的IPv4地址已经耗尽[7],因此,下一代互联网协议—IPv6产生了。IPv6解决了IP地址不足的问题,此外,IPv6简化了IPv4报文头。IPv6有一些独特的功能包括:地址的长度从32位扩展到128位,IP报头的长度固定为40字节,无状态自动配置,增加IPsec保证传输的安全性,提供任播机制。为了管理ZigBee和互联网之间的异构网络,我们需要适用于ZigBee和互联网的网络地址。能够支持直接通信,每一个ZigBee终端设备需要配置对应的IP地址,SIP服务器需要配置一个ZigBee网络地址[6]。无线传感器网络需要配备大量的ZigBee传感器,并且每个ZigBee传感器必须有一个唯一的64位扩展地址。因此,IPv4是不适合于ZigBee,由于存在大量的传感器,IPv4地址是不够的。如果使用IPv6,我们可以容易地将一个64位的IPv6前缀和一个64位的ZigBee的扩展地址结合以获得一个完整的IPv6地址。SIPSIP是一种信令协议,它工作在TCP/IP模型中的应用层。SIP协议定义了两种类型的消息:请求和响应。表1所示是部分sip请求消息。一个SIP用户收到请求消息后会发送相应的应答消息,如表2所示SIP用户应答响应消息。

将sip植入到ZigBee中,有学者做过类似工作[8]。在文献[9]中,它提供一个用来处理SIP数据包的ZigBee/Ethernet网关,并定义其独有的数据包格式,然后发送到ZigBee终端设备。同时开发一个SIP用户用来控制ZigBee终端设备。SIP报文传输流程。gateway3实施情况为了将sip数据包从以太网传到ZigBee,我们选择已有的方案[6]解决ZigBee/Ethernet网关。同时选择了Nokia的Sofia-SIP库来实现SIP用户,Sofia-SIP是专门为嵌入式设备设计的,因此Sofia-SIP协议栈比其他sip库例如eXosip小,而且Sofia-SIP支持传输控制协议(TCP)及工作在传输层的流控制传输协议(SCTP),并且它具备可靠的传输能力。Sofia-SIP库有如下几个模块组成:Su:包含一个简单的,代码编写的数据包/同步库;sresolv:包含使用EDNS扩展机制的异步DNS解析器;ipt:应用于IP电话的实用工具库;nua:包含具备基本的sip用户功能的用户库;nea:为不同的应用于sip状态和会议的事件提供一个接口;iptsec:为基本的HTTP协议及摘要认证提供接口;nta:为sip事物、传输和消息处理提供简单的界面;tport:包含一个使用sip、实时流传输协议(RTSP)及HTTP协议组成的通用传输接口;sip:包含用于sip解析器和sip头域、sip消息对象的接口;msg:包含解析器和操作消息的功能及基于如SIP,HTTP,RTSP类文本协议的头部,也提供多功能Internet邮件扩充服务(MIME)头部的解析器和这些协议通用的MIME类型消息;url:包含宏命令和使用URL数据类型如url_t的函数,并能解析及打印URLs;bnf:包含宏命令及解析文本格式的函数,例如解析SIP协议的函数;sdp:为会话描述协议(SDP)提供一个简单的“C”语法分析器接口;soa:由一个异步的SDPOffer/Answer引擎库组成。每个模块都有自己的依赖关系图,可以在已设计出的系统中看到例如nta的依赖关系图。由于ZigBee终端设备的计算能力和的存储记忆能力有限,我们将重新创建Sofia-SIP协议栈,并选择专门的Linux内核[12];我们使用Sofia-SIP库中部分函数并删除无线传感器网络中不必要的功能,如语音通信功能,将Sofia-SIP协议栈大小从18MB减小到2MB.图3显示运用我们的方法后sip数据包传输流向。虽然系统结构看起来类似,注意在图2只有ZigBee/Ethernet网关注册到SIP服务器。ZigBee/Ethernet网关进行解析封装SIP数据包,然后将相应ZigBee数据包传输到ZigBee终端设备。ZigBee/Ethernet网关需要处理大量的数据包,因此它承受了沉重的负载,这必然会降低网络的性能。与此相反,图3中所示我们的方法,采用的方法是在每一个ZigBee终端设备上执行SIP协议。因此,ZigBee/Ethernet网关只需要转发SIP数据包到ZigBee终端设备,不需要解析相关的有效负荷。这将显著减少ZigBee/Ethernet网关的重载负荷。

SIP协议被广泛用于VoIP通信。除了这种成熟的应用,越来越多的研究人员提出使用SIP协议作为网络管理的机制。由于无线传感器网络(WSN)变得越来越重要,移植SIP协议到无线传感器网络(WSN)中被视为通用的管理机制。由于ZigBee终端设备的计算能力有限,以前在ZigBee中使用的SIP协议只是应用于ZigBee/Ethernet网关部分的开发,这样它拥有更好的计算能力来处理应用层的转换。但是,处理大量的SIP协议报文会降低无线传感器网络(WSNs)的性能,这是因为ZigBee/Ethernet网关很容易成为瓶颈。在我们提出的计划中,SIP协议栈从18MB简化为2MB,并被移植到终端设备上。因此,只需要一个ZigBee/Ethernet网关处理ZigBee和以太网之间的网络层转换。在我们的设计中,因为网关不需要通过检查有效负荷完成应用层的转换,这样可以减少大量的资源量并相应提高ZigBee/Ethernet网关传输性能。然而,由于SIP消息的格式包含XML(可扩展标记语言)文本,这必将形成一个沉重的有效负载。在未来的研究中,减少SIP协议的开销使SIP协议更适合WSN(无线局域网网络)管理是研究的重点。

第5篇

[关键词] SIP电话; 局域网; 技术

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2013 . 22. 050

[中图分类号] TN916.2 [文献标识码] A [文章编号] 1673 - 0194(2013)22- 0078- 02

1 SIP电话简介及发展

SIP电话,通俗地讲即网络电话。现有的SIP电话有两种,一种是硬件的SIP电话,一种是软件电话。其中,硬件电话的外形与普通电话很相似,但是可以在不使用传统通话网络的情况下,通过互联网来接受和拨打电话;而软件电话是可以通过耳麦或者声卡来拨打电话,将电脑作为电话使用,但要求配置包裹宽带上网以及与VOIP服务商或一个SIP服务器连接。

SIP技术在短短的几年中,成长速度十分惊人。目前,在国际上也很重视其商业化,基本上平均每个月就要召开一次SIP相关的话题会议,而一些外国的运营商已经开始在网上使用SIP产品了。而对于国内,由于SIP标准的应用都还处于刚刚起步,所以在研究开发SIP电话技术,我们都有可能达到国际同步水平,而且在开发成本上又低于国外厂商,还更贴近本地化,这对于未来3G应用将是一个很好的时机,将会形成明显的优势。

2 SIP电话局域网中的应用

目前,SIP主要包括两种元素:用户和网络服务器,其中用户又称UA(user agent)。其中,在局域网的电话系统里面,UA包括两个方面:①用户客户模块(UAC)和用户服务器模块(UAS)。UAC模块负责SIP请求,UAS模块负责响应SIP请求。

在用户的服务器中包括了3个类型:① 重定向服务器;② 服务器; ③ 注册服务器。一般情况下SIP电话是不需要服务器的,但其他一些增强特性却仍然需要服务器支持。当机器重定向时,当主机连接不到想要连接的服务器的时候,就会使用此项功能,让主机自动地连接到服务器的服务器上,进而可以保证所需的服务能够顺利提供并传送过来,所以这个服务器的意义在于通过这个功能发送被呼叫者的SIP URL地址,使它能够处理INVITE消息的。其中,服务器可以执行应用层的SIP请求与响应路由。服务器可以是无记忆或有记忆的,无记忆的服务器则在处理完一个呼叫后将完全删除之前相关呼叫的所有信息,直到下一个消息的到达,而有记忆的服务器拥有整个呼叫建立过程中的相关信息。此外,还可以是有分支或无分支,例如,有分支可以同时让多个电话都响铃直到有人拿起其中的一个电话为止。注册服务器一般用于记录SIP地址和相关的IP地址。注册服务器用作启动后的注册,在遇到服务器请求时,由于在注册消息中使用了SIP URL地址,所以,服务器或重定向服务器就能够直接并且正确地转发这个请求信息。这一转发特性,成为了网络对支持号码移动的基础。因此,在局域网电话系统中,话机可以任意移动,通话时几乎可以不用做任何工作。

在局域网电话系统,SIP的功能与用Email地址分配的方式来分配用户地址相类似,并且利用一些已有的电子邮件架构进行传送。在模式中,SIP网络的核心是服务器,在其中包含所有的服务逻辑。重定向模式中,它的主要功能是将路由器接收到的信息返回给呼叫发起端。其拥有很少的开销状态;由于处理的消息相对来说比较少,所以容量高;由于将业务的执行推到了客户端,与客户端设备相关。

在局域网电话的系统中应用SIP,它的优势有:SIP协议可以让用户直接与终端设备协商它的通信能力和属性、带宽和QoS,并且可以实时交流而不需要事先明确。

3 SIP电话的设置方法

首先,Web配置准备。Web配置主要分别以下几个部分:网络参数、系统参数、维护性操作,其中网络参数又包括基本配置部分及路由配置部分。配置网络参数主要是实现电话机的网络接入及实现其他网络功能(小型路由器或网络交换机),配置系统参数主要是实现呼叫相关的一些特性,维护性操作主要是实现对电话机的一些管理。

Web页面中IP电话机工作模式有两种:路由模式和桥接模式。参数基本配置主要是呼叫相关的一些数据,如语音编码、呼叫协议、各种增益等。其中,“使用标准呼叫协议”是配置设备是否启用标准的SIP协议。SIP协议参数一般在出厂时已配置完毕,无需用户更改。 “SIP”参数即配置SIP的IP地址与端口。当“SIP”参数为灰并不可配置时,代表该电话机已被平台运营商锁定,无法修改。“本地SIP端口”是电话机与SIP通讯时使用的本地SIP协议端口号。“注册间隔”是指电话机每隔多长时间就向SIP注册一次。“Keep Alive功能”用来维持电话机与SIP之间的通讯连接,使电话机处于最佳可用状态。一般使用出厂默认值。“DTMF发号方式”用来配置电话机在发送拨号时的方式,有3个选项,分别是“In Band”、“Sip Info”、“RFC 2833”,一般使用出厂默认值。“只接受SIP发起的呼叫”用来设定该电话机只接受来自SIP的呼叫。“允许未注册时呼出”,当电话机对接其他非FREEGO平台时,可能会出现注册不上,但仍然能够进行呼叫的情况,这时,便可以启用这个参数。“支持STUN协议”用来配置STUN协议的一些信息。“本地用户设置”用来配置“用户标识”、“SIP认证域”、“认证密码”等参数,这些具体参数请咨询SIP平台运营商。“代拨号码”是指电话机在进行呼叫时在拨号前系统自动加上的号码,可适应某些特殊的应用场合。

4 总 结

SIP协议作为这样一个通讯标准,它是以互联网作为应用背景的,所以可以很好地使视频通讯大众化,并引入千家万户,成为一个有效的、具有可行性的方案。它能够在很大程度上使用户对未来实时多媒体通信充满期待。

所以,SIP协议具有简单、方便扩展、易于实现等很多优点,在通信业界越来越被重视,并且正逐步地成为下一代网络的核心协议之一。虽然,现阶段的SIP协议还不够完美,但相信不久的将来SIP协议一定能够有效地促进未来通信网络的迅猛发展。

主要参考文献

[1] 曹玖新. 分布式voip体系结构及其关键技术研究[D]. 西安:西安交通大学,2003.

第6篇

关键词: SIP;IMS;安全

中图分类号:G434 文献标识码:A 文章编号:1671-7597(2012)0210110-01

1 SIP常用的安全机制以及存在的问题

IP多媒体核心系统(IMS)是第三代移动通信合作伙伴项目提出的支持IP多媒体业务的子系统,IMS采用了SIP协议与固定宽带进软交换。SIP协议具有接入无关性、支持用户漫游等优点,为IMS实现网络融合带来了前所未有的契机。但是,由于SIP协议是基于IP网络的实时通信协议,IP网络的开放性、可获得性以及广域性使得SIP应用容易受到攻击。

目前SIP主要使用2种安全机制:认证和数据加密。HTTP摘要认证是最常用的SIP认证方式。但该认证方式存在着一定的缺陷:

1)只能提供服务器对客户机的单向认证,容易遭受服务器伪装攻击。攻击者有可能截获发往服务器的请求,并伪装成该服务器对客户机进行认证,此时客户机无法察觉。

2)摘要算法单一固定。目前用于计算响应值的摘要算法MD5已有被攻破的公开报道,共享密码在传输过程中有被破译的可能。

3)不具备提供密钥协商的功能。无法保障认证结束后正常安全的通信。

4)认证过于依赖共享密钥。密钥管理方式的选取对认证的可靠性有直接影响。

另外,SIP协议中未直接支持用户之间媒体流的机密性,我们需要通过实现附加机制以保证窃听者无法通过窃听用户通信数据来获取用户信息,从而有效地保护用户的隐私性和商业秘密。

2 基于SIP的IMS安全性方案设计

考虑到传统HTTP摘要认证机制以及其他几种认证机制的局限性,并结合HTIP摘要认证和SIP协议的特点,我们通过扩展和丰富SIP消息头域的内容,并借鉴丁SRTP协议(Safe Real-time Transport Protocol),对传统HTTP摘要认证作了改进,设计了一种新的SIP安全方案,初步实现Client和Server之间的双向身份认证、密钥协商、媒体流加解密与认证。

2.1 双向身份认证、密钥协商过程

为实现双向身份认证、密钥协商,则不仅服务器可以向客户端发送认证,客户端也要向服务器端发送认证。一次成功的呼叫认证过程如图1所示。服务器端信息为challenge_s,包括作用域realm_s、随机数nonce_s、摘要算法H1等。客户端对challenge_s的响应值response_c是将用户名username、共享密钥passwd,随机数nonce_s、作用域realm_s、客户端的公钥v_c按一定规则组合,经H1摘要算法运算后生成。客户端信息为challenge_c,是由v_c、随机数nonce_c、摘要算法H2、客户端支持的加密算法和模式等构成,服务器端对challenge_c的响应值为response_s是将服务器端域名、共享密钥passwd、v_c、随机数nonce_c按一定规则组合,经H2摘要算法运算后生成。

该安全机制通过2次呼叫尝试,实现了双向认证机制,机制中的摘要算法推荐采用256位SHA1。后续的会话密钥及加密方式由Server根据Client及自身的支持情况决定,一般情况下采用128位AES及IDEA算法。

2.2 媒体流加解密与认证

SIP协议中未直接支持用户之间媒体流的机密性,我们需要通过实现附加机制以保证窃听者无法通过窃听用户通信数据来获取用户信息。我们使用的媒体数据包头由4个部分组成,其中Code表明了所采用的视频/音频编解码类型,Flag的第一位指示是否对数据进行了加密,Auth是对序列号、SSRC及媒体数据计算认证值后截取的前32位,SSRC是同步源标识符。对序列号认证可以防止重放攻击,由主密钥生成会话密钥和认证密钥的过程类似于SRTP中的方法,但用32位的序列号取代了SRTP中的48位Index值。对媒体数据的加解密缺省使用的AES的Counter模式,由会话密钥根据序列号等信息对每个数据包生成一个密钥,再用此密钥对这个数据包中的媒体数据加密。也可以使用呼叫建立过程中协商好的算法和模式。

3 小结

本文介绍了SIP网络攻击、常用安全机制及其存在的问题,给出了基于SIP的企业即时通信系统的安全性方案设计。在以后的研究中,将对端到端和逐段转接的保护机制进行研究,以增强了RTP流的平稳性与抗抖动性,提高网络带宽利用率。

参考文献:

[1]J.Rosenberg and H.Schulzrinne et al, "SIP:session initiation protocol," RFC 3261, Internet Engineering Task Force, June 2002.

[2]H.Schulzrinne, S.Casner, R.Frederick et al,"RTP: A Transport Protocolfor Real-Time Applications", RFC 3550, July 2003.

[3]Gonzalo Camarillo,SIP揭密,人民邮电出版社,2003.

第7篇

关键词:VoIP;公用信道;服务器

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)24-1185-04

在VoIP通信过程中,服务器要为每个客户端创建一个信道来维持与其通信。这种用于和客户端保持通信的信道称为协议信道。如图1所示,传统的VoIP服务器都是由上层控制模块来直接控制协议信道,由于上层控制模块和底层协议信道相关,无法实现对不同类型协议信道的控制,因此传统VoIP服务器只能够支持单一的协议。如果能够设计出可同时支持多种协议的服务器,那么它就可以对各种协议进行处理和转换,从而解决不同VoIP协议的互通问题。

1 公用信道的思想

为了解决分布异构问题,人们提出了中间件的概念。中间件是位于平台(硬件和操作系统)和具体应用之间的通用服务,这些服务具有标准的程序接口和协议。中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制,并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序提供了一个相对稳定的高层应用环境。这里借鉴了中间件的思想,在底层协议信道和上层控制模块之间添加一类特殊的信道,称为公用信道。图2描述了增加公用信道以后服务器控制协议信道的方式。通过公用信道将上层控制模块和底层协议信道相分离。公用信道提供了一系列的接口,上层控制模块只需通过这些接口就可以控制公用信道,从而达到管理和控制整个会话过程的目的,而不必关注底层协议信道具体使用的是哪种VoIP协议。

2 公用信道接口

2.1 会话模型

不同VoIP协议虽然在信令、媒体传输方式上存在不同,但服务器建立会话的过程都大致分为以下几个阶段:

呼叫开始:当服务器收到客户端的呼叫请求后,建立主叫用户信道。然后查找被叫用户地址,创建与被叫用户通信的信道。

呼叫被叫:在主被叫信道建立之后,开始向被叫用户发送能够呼叫请求消息,并等待被叫用户应答。

通话:服务器收到被叫用户应答后,就开始转发主被叫用户的语音数据。

呼叫结束:当收到主叫或被叫用户的挂机请求后,服务器分别拆除主被叫信道,结束通话。

公用信道可以根据服务器建立会话的过程,抽象出一系列与会话相关(呼叫、应答、挂机)的接口,以便上层控制模块使用这些接口来管理和调度公用信道,从而控制整个会话过程。

2.2 接口的多态性

多态性提供了接口和实现的分离,也就是说把做什么和怎么做分开来。多态性不但能改善代码的接口,提高其可读性,而且能创建可扩展的程序。

由于公用信道位于各协议信道之上,公用信道的这些接口的实现是和底层协议信道相关的。根据底层VoIP协议的不同,这些接口的实现方法有很大的差别。因此可采用多态性的思想来设计公用信道接口。由公用信道中定义上层控制模块调用的接口,而这些接口的实现交给底层各协议信道来完成。

在会话过程中,控制模块只需调用这些接口来控制会话,程序会根据底层信道类型的不同,调用相应的函数,公用信道因此表现出不同的行为。这样公用信道就屏蔽了底层协议信道的差异性,从而解决了不同VoIP协议的互通问题。

这种方式还具有良好的扩展性。当需要增加对一种新协议的支持,只需在底层实现公用信道定义的这些接口,而不必对公用信道和上层控制模块做任何改动。

2.3 多态性的实现

由于公用信道接口在实现上的多态性,这里使用结构体com_channel_tech来封装公用信道的接口。该结构体中包含了很多函数指针,这些函数指针指向接口的具体实现。根据底层协议信道类型的不同,底层使用不同的函数来填充com_channel_tech中的各个字段以实现这些接口。当上层控制模块调用某一接口时,系统根据会根据com_channel_tech的具体类型(底层使用的协议)调用相应的函数。这样我们就屏蔽了底层协议信道的差异性,为上层控制模块的调用提供了统一的接口。上层只需调用这些接口,就可以实现对公用信道的统一管理和调度,而不必关注在底层采用的是哪种协议。

例如,当接收到SIP请求,创建公用信道时,上层控制模块只需直接调用com_request接口,从而间接调用结构体com_channel_tech中request函数指针所指的sip_request函数。而对于IAX协议,相应的函数就换成了iax_request函数。

3 协议映射

3.1 公用帧

为了便于上层控制模块管理会话,公用信道中只使用一种协议来传输信令和语音,这种协议称为公用协议。以公用协议格式封装的帧称为公用帧(COM帧)。从客户端发送到协议信道的各种协议帧,必须首先转换成COM帧后才能送入公用信道,然后由控制模块对其进一步处理。从公用信道发往客户端的COM帧,需要根据底层协议信道的类型,进行相应的帧格式转换后才能发送。

由于公用信道既要处理信令又要转发语音数据,所以COM帧分为信令帧和语音帧两种类型。信令帧主要用于控制会话的进程,而语音帧用于传输实际的语音数据。采用结构体com_frame来表示COM帧:

struct com_frame {

int frametype;

int subclass;

int datalen;

int samples;

void *data;

struct timeval delivery;

};

其中frametype字段用于说明COM帧的类型属于信令帧(COM_FRAME_CONTROL)还是语音帧(COM_FRAME_VOICE)。

对于信令帧,只有subclass字段有意义,该字段用于说明信令帧表示的具体控制信息。

对于语音帧,subclass字段代表该语音帧使用的编码格式;datalen表示语音帧长度;samples表示采样点数;delivery表示发送时间戳;指针data指向实际的语音数据。

3.2 信令帧的映射

底层信道的各种协议帧在送入公用信道之前需要转化成COM帧。从公用信道中出来的COM帧需要转化成协议信道能处理的帧。不同协议帧之间的转换过程称为协议映射。协议映射关系的制定是实现VoIP互通的前提和保证。

3.3 语音帧的映射

为了保证语音在转发时不会失真,COM帧在传输语音时必须包含以下信息:语音编码格式、语音数据长度、采样点数、发送时间戳以及实际的语音数据。因此,其它协议帧在转化成COM帧时,必须完成以上内容的转换。

1)IAX帧映射到COM帧:对于IAX协议,语音是通过Mini帧来传输的,在开始发送语音和固定时间间隔内发送Full帧来同步语音帧。由于Mini帧只包含16位的时间戳和语音数据,协议信道需要将先前从Full帧中获得的语音编码格式subclass和32位的时间戳记录下来。这样,语音数据的编码格式可以从对应的协议信道获得。语音数据长度可由Mini帧帧长减去帧头长度得出。采样点数是根据数据长度和编码格式计算得出。时间戳由Full帧的高16位和Mini帧的16位组合而成。原始语音数据直接存入到COM帧的data字段。IAX帧的其他信息与转发语音无关,均保存在协议信道之中。

2)RTP帧映射到COM帧:对于SIP协议的客户端,语音数据通常是通过RTP帧来传送的。从RTP帧转化成COM帧,时间戳可以直接从RTP帧头的timestamp字段取得,语音编码格式从PT字段中得到,语音数据长度可由帧长减去帧头长度计算得出,采样点数也是根据数据长度和编码格式计算得出,而原始的语音数据直接存入到相应字段。

4 语音传输方式

在呼叫建立之后,客户端开始语音通信。语音传输方式有两种:一种是P2P方式,另一种是服务器转发方式(Server Relay)。

4.1 P2P方式

P2P方式是指语音数据直接从一个客户端发送到另一个客户端。P2P传输方式具有降低网络时延、减轻服务器负荷等优点。但不是任何客户端之间都可以建立P2P连接的。除了通信双方需要知道彼此的地址外,P2P还要具备如下条件:

1)通信双方采用相同的信令和语音传输方式。也就是说客户端采用的是相同的VoIP协议。

2)如果通信的一方或双方的网络中存在NAT,语音数据要能够穿越对方的NAT。

3)通信双方要能够理解对方所发送的语音数据。也就是说,发送语音数据的编码格式要能够为对方所支持。

对于满足上述条件的会话,服务器在建立呼叫后会调用com_bridge函数,尝试为客户端之间建立P2P连接。如果建立P2P成功,服务器就释放与客户端通信的信道,由客户端之间直接进行语音通信。

4.2 服务器转发方式

对于不满足建立P2P条件的客户端之间的会话,需要由服务器转发双方的语音数据,也就是说客户端先将语音数据发送给服务器,由服务器转发到另一个客户端。根据会话类型的不同,服务器的转发方式又分为以下两种。

1)经过公用信道的转发

对于不同客户端的语音通信,语音数据需要进行协议类型、语音编码格式的转换,这些都是由公用信道负责完成的。因此,语音数据要送入公用信道处理。图3描述了SIP和IAX客户端进行语音通信的过程。下面以SIP客户端向IAX客户端发送语音通信为例,来说明语音数据的传输路径。SIP客户端的语音以RTP帧的形式发送到服务器的RTP信道中,被转换成COM帧后送入到所在的公用信道。公用信道将其发送给与IAX客户端对应的公用信道。然后调用相应的接口函数将COM帧转换成IAX帧后,发送至IAX客户端。

2)不经公用信道的转发

对于同类型客户端的通信,由于语音数据不需要进行协议、编码格式的转换,可以将其直接发送到对方的协议信道中。所以可以优化上面的传输路径。图4描述了IAX客户端之间进行语音通信的过程,一方的语音数据以Mini帧格式发送到服务器,然后由IAX信道直接将该Mini帧发送到对方的IAX信道。这样语音数据就不必经过双方的公用信道,也不需要对帧类型进行转换,因而提高了语音数据的传输效率,减少了时延。

5 公用信道的通信

5.1 收发COM帧

每个公用信道都维护着一个readq队列,该队列是由COM帧组成的。协议信道发给公用信道的COM帧都是先送入该队列中。当服务器监听到某个公用信道有COM帧时,调用接口函数com_read,从该公用信道的readq队列中读取COM帧进行处理。

对于要发送给客户端的COM帧,直接调用公用信道提供的接口函数com_write即可。该函数的实现是由底层完成的,根据底层协议信道类型的不同,先将COM帧转化成对应的协议帧,然后调用套接字函数sendto将其发往客户端。

5.2 IO多路转接

如前所述,会话建立后上层控制模块要同时管理和控制主被叫两个公用信道,监听主被叫信道的readq队列是否有COM帧到来。如果采用传统的IO阻塞技术,那么线程就可能长时间阻塞在一个信道上,而另一个信道虽然有很多数据却不能得到及时处理。在这种情况下,我们使用IO多路转接技术来同时监听多个信道。

所谓IO多路转接技术,是先构造一张有关描述符(公用信道)的列表,然后调用poll函数,同时监听这些信道,直到这些信道中的一个已准备好进行IO(有数据发生)时,该函数立即返回。在返回时,它会告诉进程哪个信道有数据发生。poll函数的定义如下:

#include

int poll(struct pollfd fdarray[],nfds_t nfds,int timeout);

参数:fdarray 数组中的每一个元素对应一个描述符(公用信道)

nfds描述符的个数

timeout 监听(等待)时间

返回值:准备就绪的描述符,若超时则返回0,若出错返回-1

5.3 管道机制

COM帧是由底层的发送线程送至公用信道的readq队列中,而监听公用信道是由上层控制模块的线程来完成的。由于发送COM帧和监听COM帧是由服务器的不同线程控制,因此需要建立管道机制来解决线程间的通信问题。

在每个公用信道创建的时候,定义了一个alterpipe[2]的数组,用于建立通知管道。其中alterpipe[0]对应于管道的读端口,alterpipe[1]作为管道的写端口。在开始呼叫后,服务器会调用poll函数来监听公用信道的读端口alterpipe[0]。

当有数据送入到readq队列,底层发送线程控制该信道对应管道的写端口alterpipe[1]向读端口alterpipe[0]发送一个通知信号(通常是一个字符)。当读端口接收到该信号后,poll函数就立即返回,并告诉系统哪个信道有数据请求处理。服务器就从该信道对应的readq队列中读取出COM帧。这个过程可由图5来描述。

6 互通实例

下面就以IAX与SIP互通为例,说明互通过程中协议的映射过程。这里以SIP客户端发起呼叫和先挂机为例,呼叫的具体流程如图6所示,图中省略了一些次要消息的交互过程。

6.1 呼叫建立

主叫方SIP协议信道收到呼叫请求后,立即建立主叫公用信道。并分析被叫号码,根据被叫客户端的类型,建立相应的被叫公用信道以及到被叫客户端的协议信道。这样,双方就可以开始建立呼叫。SIP客户端呼叫IAX客户端的信令过程描述如图5所示:

1)SIP客户端向服务器的SIP信道发送INVITE消息;2)SIP信道收到INVITE消息,立即创建主叫公用信道,并向SIP客户端发送100 Trying消息,确认收到呼叫请求,服务器正在处理中;3)SIP信道将INVITE消息翻译成COM_CONTROL_INVITE消息,并发送到主叫公用信道中;4)当公用信道收到该消息后,立即创建一个新线程,接入到上层控制模块,分析被叫号码,查找被叫地址,并根据被叫客户端类型分别创建被叫公用信道和被叫IAX信道,以便与IAX客户端通信;5)被叫公用信道将COM_CONTROL_INVITE消息转换成NEW消息发送给IAX信道;6)IAX信道将该消息发送给IAX客户端;7)IAX客户端发送ACCEPT消息确认建立连接;8)IAX客户端发送RINGING消息,表示其正在振铃中;9)IAX信道将RINGING消息转化成COM_CONTROL_RINGING消息,发送给被叫公用信道;10)被叫公用信道将该消息转发给主叫公用信道;11)主叫公用信道将COM_CONTROL_RINGING消息翻译成180 Ringing消息,发送给SIP信道;12)SIP信道将该消息发送给SIP客户端;13)IAX客户端发送ANSWER,表示被叫端已经应答。ANSWER消息按与Ringing消息类似传送过程转化成200 OK消息发送给SIP客户端。呼叫建立完成,双方开始语音通信。

6.2 语音转发

SIP协议采用的是RTP传输语数据音,而且收发语音的端口不同于SIP协议端口(2N,2N+1,N为随机整数);IAX是信令和语音是共享端口的,使用Mini帧传输语音。同前面的信令映射方法类似,语音帧也需要经过RTP/Mini帧 COM帧 Mini/RTP帧的转化过程。

6.3 呼叫释放

呼叫结束的过程如图6所示:28)SIP客户端向服务器的SIP信道发送BYE消息,请求结束会话;29)SIP信道收到BYE消息,立即向SIP客户端发送ACK消息,确认收到结束;30)SIP信道将BYE消息翻译成COM_CONTROL_HANGUP消息,并发送给主叫公用信道中;31)主叫公用信道将COM_CONTROL_HANGUP消息发送给被叫公用信道,并释放主叫公用信道和SIP信道;32)被叫公用信道向IAX信道发送HANGUP消息;33)IAX信道向IAX客户端发送HANGUP消息;34)IAX客户端向IAX信道发送ACK消息,表示已收到释放请求。服务器释放被叫公用信道和IAX信道。

参考文献:

[1] 张登银,孙精科.VoIP技术分析与系统设计[M].北京:人民邮电出版社,2003.

[2] Abbasi T, Prasad S, Seddigh N., Lambadaris I. A Comparative study of the SIP and IAX VoIP protocols.Electrical and Computer Engineering,2005.Canadian Conference on1-4 May 2005 Page(s):179-183.

[3] 糜正琨.IP网络电话技术[M].北京:人民邮电出版社,2000.

第8篇

关键字: 协议解析; 多元通联关系; 正则表达式; 飞信协议识别

中图分类号: TN91?34; TP393.01 文献标识码: A 文章编号: 1004?373X(2014)21?0019?05

Protocol identification and multi?conversation relationship extraction in Fetion

YOU Xiang, GE Wei?li

(Department of Information Engineering, Engineering University of Armed Police Force, Xi’an 710078, China)

Abstract: As the protocols of Fetion are not public, it is difficult to recognize the Fetion application protocals caused by complex Internet environment and single?package conversation relationship is deficient, three common business protocol procedures (text messaging, file transfer and audio/video communication) are parsed on the basis of the basic framework of SIP protocol. The Fetion conversation relationship extraction method based on conversation revivification and protocol identification method of combining port and regular expressions are proposed for quickly locating Fetion service packets in promiscuous raw packets to achieve variety business relationships. Experimental results demonstratd the effectiveness of the method.

Keywords: protocol analysis; conversation relationship; regular expression; Fetion; protocol identification

0 引 言

飞信是中国移动通信集团面向中国移动的手机用户推出的一款即时通信软件。从被动截取分析的角度对飞信软件通信协议进行研究,并提取基信软件通信的通联关系,能够对飞信用户的通信行为进行监控,获得大量的敏感信息。这将对构建社会关系网络、动态寻找和跟踪目标人群提供有力依据,对预防和打击网络团伙犯罪有着重要的意义。

尽管飞信的通信框架比较明确,且通信内容非加密,但是对飞信软件的通联关系进行高效准确地识别和提取还存在诸多难点,如:未知协议导致对飞信各业务相关协议的交互过程不清晰,复杂的互联网环境导致飞信各类应用相关协议识别困难,以服务器中转方式为主的通信过程导致单包提取会缺失大量通联关系。

针对以上困难,本文通过手工分析,解析了基于SIP承载的飞信通信协议的主要过程和报文格式,提出了端口与正则表达式匹配相结合的飞信协议识别方法,能够从复杂的互联网环境下对三种常用通信行为进行识别;设计了针对飞信的会话识别、排序及还原方法,克服了单个数据包携带通联关系存在关系缺失的问题。设计了并实现了飞信的多元通联关系识别与提取系统;能够在局域网关口处通过截取、识别、还原、提取的基本步骤获得飞信多种通信行为的通联关系信息,并以直观的网络形态展现用户通联关系网络。

1 相关研究

作为一种新型网络应用,即时通信自诞生就受到研究者们的广泛关注,以AIM,ICQ,MSN等即时通信软件为例,由于大多数使用私有协议,缺乏公开的定义文档,研究人员大多通过逆向分析[1]的方法分析即时通信协议的功能、结构特点[1]。文献[2]从系统安全的角度出发,在此基础上设计改进即时通信系统的架构,克服蠕虫、病毒等攻击弱点[3],为用户提供更全面、高效、安全、稳定的服务;网络分析和监控系统[4]从流量识别的角度出发,用于网络流量测量、异常行为检测和信息安全保护等应用;文献[5]从网络活动的角度出发,通过对即时通信流量的采集分析用户的行为特征以及流量变化规律;文献[6]则针对即时通信用户行为和数据流量的特点做出深入分析;文献[7]从网络拓扑结构的角度分析即时通信中社会关系和社团变化的规律以及信息传播特点等。从信息监控的角度出发,多数从数据包中分析还原协议的报文结构和属性特征,重组还原即时通信的文本聊天内容[7]和语音聊天信息[8],文献[9]在协议分析与会话还原基础上实现了即时通信信息监控系统,文献[10]研究了并行即时通信消息还原技术。

由于新技术的不断融入,即时通信现已成为同时拥有视频、音频和文本等多种沟通方式和渠道的沟通技术,特别是其对视频/音频技术的捆绑,使用户在在线沟通和交流中的社会临场感得到极大提升。随着用户群体的不断扩大,即时通信系统内部的用户之间也形成了结构化的社交网络,但由于即时通信协议的私有性以及在协议识别和数据获取方面的困难,目前即时通信数据中蕴含的社会网络尚不如电子邮件网络那样受到广泛的研究;同时,丰富多样的社交行为和复杂多样的通信方式,使得即时通信应用成为目前社会网络分析的研究热点。

2 基于SIP承载的飞信通信协议解析

飞信的通信协议使用SIP(会话初始协议)作为主要框架,在具体细节上按照基于中国移动通信企业标准的综合即时通信接口规范实施。

SIP是由IETF(Interne工程任务组)提出的IP电话信令协议,是一个客户/服务器协议。协议消息分为邀请和响应两类,其目的是建立或者终止会话。邀请是SIP协议的核心机制;响应消息分为中间响应和最终响应两类。

飞信使用的SIP?C(Compact SIP)协议是一个简化和增强的SIP协议,以适应移动终端设备的接入特点,但会话的逻辑过程与SIP及相关协议确立的逻辑过程保持不变。飞信通信的协议主要基于SIP?C/4.0的框架。以下通过对飞信具体通信报文的分析,总结提取了飞信文件传输、文字聊天及音/视频通信的传输全过程。

2.1 飞信文件传输过程

飞信文件传输借助SIP进行会话初始协商,建立P2P直连,进行文件内容传输。图1描述的是飞信用户Alice向好友列表中的Bob发送文件的过程,包括请求发送文件、同意接收文件、协商传输细节、实际传输以及传输完毕几个过程。

2.2 飞信文本聊天过程

飞信文本聊天与文件传输类似。图2描述的过程是飞信用户Alice点击好友列表中的飞信用户Bob,打开聊天窗口给Bob发送一段文本信息的过程。这个过程包括Alice请求服务器授权、双方加入会话以及实际发送文本信息。

图1 飞信文件传输的全过程

图2 飞信文本聊天的全过程

2.3 飞信音/视频通信过程

图3描述的过程是飞信用户Alice点击好友列表的飞信用户Bob,请求视频通信,Bob同意视频通信;然后视频通信一段时间后,Alice断开视频通信,视频通信结束。这个过程包括Alice的视频请求、Bob同意请求、双方建立P2P直连传输视频数据以及最后视频结束断开连接。

3 端口与正则表达式匹配相结合的飞信报文

识别

在计算机科学中,正则表达式是指用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串;一个正则表达式就是用某种模式去匹配一类字符串的一个公式。在飞信报文的识别方面,同样是采用一个正则表达式去匹配飞信报文的某些特征字段,达到从大量混杂网络数据中准确识别和筛选出飞信通信的相关报文并对其进一步分类的目的。

图3 飞信视频通信的全过程

3.1 飞信通信特征分析

为了快速准确识别飞信通信报文,并达到进一步分类的目的,对飞信通信报文的特征字段的选择成为一个关键问题。

对飞信通信报文识别的协议特征分为以下两个层面:

(1) 飞信业务报文特征;

(2) 飞信特定应用服务报文特征。

通过仔细研究飞信通信的数据报文,如图4所示,飞信业务报文特征主要有两个:

(1) 绝大部分飞信通信报文通过TCP协议的固定端口8080传输。选择8080端口作为初次筛选的报文特征,能够快速去除混杂网络数据当中绝大部分的冗余,提高报文识别的效率。

(2) 由信通信是基于SIP的承载,在每个飞信数据包的data字段中均有“SIP?C/4.0”的SIP协议版本字段。通过对这个字段的匹配可以较为准确地识别飞信业务报文。

图4 飞信文本聊天数据包

3.2 基于正则表达式的飞信通信报文识别

飞信特定应用服务有很多种,本文主要关注与飞信文件传输、文本聊天、音/视频通信的相关应用。通过对不同类型飞信数据报文的分析,可以发现所有类型的飞信数据类型均能够使用“SIP?C/4.0”附近的一些字符串来识别。具体过滤规则如表1所示。

表1中的特征字段是具体各个飞信通信报文中的实际报文字段,每种字段代表了一种飞信通信类型的报文,可以通过对这个特征字段的识别达到识别飞信特定应用服务类型的目的。表1中的区分标示是指在具体的区分过程中构造正则表达式区分这些特征的标示。这样,就可以对不同类型的飞信数据报文进行分类处理。

表1 飞信特定应用服务报文特征

[特征字段\&报文类型\&区分标示\&S .cn SIP?C/4.0\&文本聊天会话初始化报文\&S\&M .cn SIP?C/4.0\&主动发送文字信息数据报文\&M fetion\&M 己方飞信号SIP?C/4.0\&被动接收文字信息数据报文\&M [0?9]*\&SIP?C/4.0 200 OK\&应答类型报文\&200 OK\&R .cn SIP?C/4.0\&文本聊天会话注册报文\&R\&BN .cn SIP?C/4.0\&好友信息更新报文\&BN\&IN .cn SIP?C/4.0\&主动邀请报文\&IN fetion\&IN 己方飞信号SIP?C/4.0\&被邀请报文\&IN [0?9]*\&I .cn SIP?C/4.0\&主动请求视频通信报文\&I fetion\&I 己方飞信号 SIP?C/4.0\&被请求视频通信报文\&I [0?9]*\&SIP?C/4.0 100 Trying\&等待视频请求应答报文\&100 Trying\&SIP?C/4.0 183 Session Progress\&同意视频通信请求报文\&183 Session\&B .cn SIP?C/4.0\&断开视频连接报文\&B\&]

得到飞信通信数据报文的匹配特征之后,可以通过构造正则表达式匹配的方式实现飞信通信数据报文的识别。

如图5所示,飞信协议识别的流程主要分为三个步骤:

(1) 对8080端口的筛选,从大量混杂的网络数据当中除去冗余数据,提高后续处理的效率;

(2) 构造正则表达式,对飞信业务报文的承载特征进行匹配,从网络数据当中识别相关的业务报文;

(3) 通过正则表达式匹配飞信特定应用服务的标示字段,从飞信的业务报文中识别各个特定的飞信业务信息。

图5 飞信协议识别流程图

4 基于会话还原的飞信通联关系提取

通过对单个飞信数据包的分析,发现并不能够完整地获得其中的通联关系。主要原因有:

(1) 与飞信通信机制相关。因为飞信的通信大部分通过服务器进行,飞信用户实际上是在跟各自的服务器通信,而不是直接通信。

(2) 通信用户信息的缺省。有些通信报文是缺省飞信接收方的,这是因为双方在短时间内曾经建立通信会话,服务器可以通过会话号来寻找信息接收对象。

基于以上两点原因,飞信通联关系的单包提取有以下情况:

(1) 单包中包含通信双方完整的通联信息,可以从单包直接提取;

(2) 单包中只包含用户及服务器之间的通联信息,需要关联提取;

(3) 单包中不含通信双方的信息,只包含会话信息。

其中第二种情况较普遍。鉴于单包提取的局限性,需要将同一会话的飞信数据包关联组合起来,还原飞信通信的会话。飞信通信会话还原的流程如图6所示,主要包含两个步骤:飞信会话的识别和飞信会话数据包的排序还原。

图6 飞信通信会话还原流程图

在飞信会话识别方面,通过寻找同一会话的惟一标识来识别。对于不同的会话类型,惟一标示是不一样的。文本会话主要基于M类型数据包识别;文件会话传输的数据包中有“filetransfer?id”可以惟一标示此类会话;视频会话传输的数据包中的字段“I:”代表CallID,在整个会话过程中是保持不变的。

在会话数据包排序方面,基于SIP的排序机制进行数据包排序。飞信数据包中均包含有一个字段“Q:”代表CSeq,也就是Command Sequence,由一个整数的序列号和一个SIP方法组成。这个序列号在一个会话过程中每次加1,来标识一个飞信会话过程各个数据包的顺序。

5 飞信协议识别与多元通联关系提取系统设计

与实现

5.1 软件主要功能及实现流程

本系统基于Microsoft Visual Studio 2008以及Microsoft SQL Server 2005设计实现。该软件具有以下功能:

(1) 基于端口筛选和SIP协议的识别,得到与飞信通信相关的原始数据记录;

(2) 基于正则表达式匹配处理飞信相关的各类协议数据,将飞信通信相关的数据报文分成三类:文本聊天、文件传输及音/视频通信;

(3) 基于数据包关联技术还原飞信通信完整的会话过程;

(4) 从飞信通信的会话中分类提取飞信用户及他们之间相互通联的信息;

(5) 根据数据库中的数据调用Pajek软件画出基信软件通信的用户通联关系图。

软件处理流程图如图7所示。

图7 Fetion通联关系提取软件实现流程图

5.2 软件系统测试分析

软件系统测试环境如图8所示。在20台PC机上分别使用飞信软件做相互聊天、发送文件、视频通信等试验。在出换机上设置端口镜像采集网络数据,利用wireshark软件截包存成pcap文件写入数据库。测试中用数据量大小为200M的pcap文件。

图8 软件测试场景图

将测试数据导入软件系统,得到测试结果。以飞信文件传输为例,图9展示了飞信文件传输通联关系的部分数据图,图10展示了使用Pajek绘图软件绘制的飞信文件传输通联关系网络图。

在实验过程中对通联关系提取完整率进行评估,如图11所示。已知20个飞信用户共发送文本聊天信息200条,软件系统实际提取192条,通联关系完整率为96%;共发送文件50次,软件实际提取49次,通联关系完整率为98%;共使用视频通信40次,实际提取34次,通联关系完整率为85%。

图9 飞信文件通联关系部分数据图

图10 飞信文件传输通联关系网络图

图11 软件实际提取通联关系完整率统计图

6 结 语

作为中国移动官方推出的即时通信软件,飞信拥有广大的客户群,对飞信用户通信行为的识别与分析对犯罪组织行为分析、敏感人群定位等具有重要的研究意义。尽管飞信通信内容是明文可见的,但复杂的互联网环境导致对飞信多业务通联关系提取仍面临诸多现实困难,本文通过对飞信通信的数据包分析,总结提取出基信文本聊天、文件传输、音/视频通信的相关通信协议,采用端口和正则表达式匹配的方式从大量混杂的网络数据中准确识别和提取飞信通信相关报文;采用数据包关联的技术还原了飞信通信会话,增强了在多种飞信业务中通联关系获取的完整性;设计并实现了在被动截获方式下飞信协议识别与多元通联关系提取系统,验证了上述方法的有效性。

参考文献

[1] CUI W, KANNAN J, WANG H J. Discoverer: automatic protocol reverse engineering from network traces [C]// Proceedings of 16th USENIX Security Symposium on USENIX Security Symposium. Boston, MA, USENIX Association, 2007: 111?121.

[2] RAYMOND B. JENNINGS I I I, NAHUM E M. A study of internet instant messaging and chat protocols [J]. IEEE Network. 2006(6): 34?40.

[3] 冯朝胜,邓婕,秦志光,等.即时通信蠕虫传播建模[J].计算机工程,2010,36(5):143?145.

[4] LEVANDOSKI J, SOMMER E, STRAIT M. Application layer packet classifier for Linux [EB/OL]. [2010?10?24].http://l7?.

[5] ZHEN Xiao, GUO Lei, TRACEY John. Understanding instant messaging traffic characteristics [C]// Proceedings of 27th International Conference on Distributed Computing Systems. [S.l.]: [s.n.], 2007: 150?160.

[6] AVRAHAMI D, HUDSON S E. Communication characteristics of instant messaging: effects and predictions of interpersonal relationships [C]// Proceeding of CSCW'06. Banff, Alberta, Canada: CSCW, 2006: 505?514.

[7] 赵远萍.即时通信系统拓扑建模及消息传播模型研究[D].北京:北京邮电大学,2010.

[8] 金婷,王攀,张顺颐.基于DPI和会话关联技术的QQ语音业务识别模型和算法[J].重庆邮电学院学报:自然科学版,2006,18(6):789?792.

[9] 吴琼.即时通信信息检测监控技术的研究与实现[D].郑州:信息工程大学,2010.

[10] 余壮辉,黄永忠,周蓓.即时通信信息还原并行处理模型[J].计算机工程,2008,34(5):128?130.

第9篇

摘要:软交换作为下一代网络中的语音业务、数据业务和视频业务呼叫、控制、业务提供的核心技术,其发展相当迅猛。各运营商在组建以软交换为核心的下一代网络时,要考虑到与现有网络和未来网络的互通问题。

关键词:软交换技术 互联互通 技术

软交换作为下一代网络中的语音业务、数据业务和视频业务呼叫、控制、业务提供的核心技术,其发展相当迅猛。但是PSTN(公众电话交换网)在技术、业务和价格上仍然有很强的优势。就目前通信现状来看,PSTN还未具备向软交换网络整体演进的条件,这两种网络将在很长一段时间内共存。因此,各运营商在组建以软交换为核心的下一代网络时,要考虑到与现有网络和未来网络的互通问题。

一、本地和长途业务的划分

传统的电路交换网,不管是固定网还是移动网,把本地网内的呼叫称为本地呼叫,按本地电路业务进行计费;经过长途网的呼叫称为长途呼叫,费用要包括本地电路业务的费用和长途电路网的费用。

对于软交换的组网,由于目前还没有标准规定未来软交换组网的网络架构,因此软交换组网的网络架构需要尽快确定,特别是软交换的组网采用了IP作为承载网,是否还需要类似PSTN的本地网和长途网的概念,是否需要还是就没有本地和长途的区分(除国际呼叫之外,所有的电话呼叫只有一种费率)都没有确定。这个问题需要电信管制部门和运营商一起来确定。

从服务的角度看,用户并不关心网络采用的是何种技术,如果电信运营商能够使用软交换组网的技术和保证质量的承载网,提供与电路交换网一样服务质量,还是可以把网络按照PSTN一样划为本地网和长途网的。从目前软交换提供的业务分析,还没有哪一种业务可以称为killer业务。因此,在软交换发展的初期,基本话音还是运营商争夺的焦点,而长途业务是获得利润的重中之重。

二、移动性

接入网络的终端大致可分为两类:一类是普通电话机通过接入网关或用户网关接入到网络,这种用户的用户线接口是网关提供的Z口;另一类是智能终端(例如SIP终端、H.323终端),它可以直接接入网络,这种用户的用户线接口是以太网口。如果将来的计费都是基于用户口,即类似PSTN的计费,用户线接口与用户捆绑进行计费,这种方式实现简单,但是不安全,可能出现偷打盗打电话的现象,此外作为未来的网络,也不能够提供用户的移动性。

软交换组网支持SIP终端用户的移动性,目前的实现方式是SIP终端用户离开自己的归属地游牧(有别于移动网的漫游,移动网的用户在接入网络后仍然可以移动,而固定网的用户在接入网络后就不能移动)到非归属地的网络之后,接入网络进行注册和认证,注册和认证通过后就可以获得网络的服务。但是目前的注册和认证并不经过游牧地的软交换,而是旁路游牧地的软交换,直接从终端到归属地的软交换进行注册和认证,因此呼叫建立的过程中也不经过游牧地的软交换。这种业务的提供方式的缺陷在于,游牧地向用户提供了接入服务和承载服务,但是由于这种缺陷使游牧地的运营商无法向用户归属地的运营商进行结算,得不到其应得的收费。这种移动性业务要得到发展,就应该按照移动网的漫游业务一样,用户接入注册到游牧地的软交换,认证去归属地进行认证,呼叫建立时,呼叫就应该通过游牧地的软交换,这样游牧地的软交换就可以产生CDR,游牧地的计费中心使用CDR进行计费。

三、编号

信息产业部于2000年11月了“YD/T 1088-2000 IP电话业务的编号”,本标准对于IP电话业务中以下3种情况的编号要求进行了规定:(1)基于IP网络的用户呼叫PSTN/ISDN/移动用户;(2)PSTN/ISDN/移动用户呼叫基于IP网络的用户;(3)PSTN/ISDN/移动用户之间进行通信,使用基于IP的网络在呼叫所涉及的用户之间进行连接。其中,(2)规定了IP用户采用网号的方式。但是这个标准当时并不是为软交换网的用户专门制定的,而且软交换支持的用户种类比较多,业务也非常丰富,将来可能从编号上需要区分开不同种类的用户。因此,软交换的编号是在运营商商用软交换技术商用之前需要信息产业部亟待规定的问题。

四、软交换的互联互通

软交换作为下一代网的控制核心,不可能是孤岛式地通过PSTN相互连接起来,而必须实现软交换之间的互联互通。目前软交换之间的互联互通协议主要是会话初始协议(SIP)和与承载无关的呼叫控制(BICC)。BICC是基于N-ISUP的信令协议,在不影响现有网的接口和端到端业务的情况下,在宽带网上支持窄带ISDN业务,与现有网络和携载语音消息的任何系统完全兼容。

SIP在软交换控制的网络中还是得到了很快的应用,甚至有人认为将来软交换之间采用的控制协议就是SIP。软交换发展的初期,出于能够提供相对于电路中继价格便宜的长途中继,使用了软交换控制IP分组电路代替电路交换网的长途中继。但是对于运营商而言,软交换的诱惑力,并不是长途IP电话的价格便宜,而是利用软交换特有的技术,能够向用户提供新的服务。多媒体业务是未来软交换能够提供的具有竞争力的业务,而SIP终端就是提供多媒体业务的一种终端,因此软交换要支持SIP终端,就需要支持SIP协议。如果软交换之间采用BICC,那么软交换网在支持传统的语音业务时,软交换就使用BICC,支持SIP终端的多媒体业务时就使用SIP。这样在软交换控制的网络中就会同时有两张网:BICC和SIP。对于运营商而言,要同时管理维护性质不同的两张网非常困难,也会遇到许多预想不到的问题,而采用一种核心控制协议应该是不错的选择,那就是SIP。

五、视频业务和终端

第10篇

为应对激烈的市场竞争,企业的信息化建设再次被提升到新的高度,企业的信息化水平将影响企业对市场的适应能力、业务拓展能力以及服务能力。在新一轮的企业信息化建设中,以VoIP为代表的下一代企业通讯系统被纳入首要议事日程,成为企业发展壮大的战略资源。

本文将从实际的项目建设经验出发,对在下一代企业通信系统建设中经常遇到的问题进行介绍和探讨。

如何选择技术方案

在规划下一代通信系统时,目前有三种技术方案可供选择,分别是H.323方案、MGCP/H.248方案和SIP方案,下面分别对这三种方案进行阐述。

H.323方案是目前最成熟的VoIP方案,具备技术成熟、设备类型丰富、互通性好的特点。目前H.323已经发展到V4版本。在协议功能上,H.323支持话音及补充业务、视频业务、数据业务,提供带宽控制、移动性、集中呼叫控制机制;从设备厂家对协议的支持现状看,H.323在话音及补充业务、视频业务方面非常成熟,通信质量完全可以达到使用要求,设备间的兼容性很好;在提供话音和视频方面,H.323是业界最成熟、应用范围最广的技术方案之一。

MGCP/H.248方案,有时也被称作“软交换”,从技术角度讲,MGCP和H.248是软交换体系中在分组网络域的主要呼叫控制协议。软交换是伴随NGN而生的概念,其设计初衷是在下一代IP电信网中模拟和仿真PSTN和智能网上所有的话音及补充业务。设计时,强调对终端设备的高度可控制性。目前软交换体系主要应用于运营商领域,在企业市场应用很少,也没有技术优势。支持MGCP和H.248的设备较少,互通性、兼容性较差。

SIP是IETF制定的呼叫控制协议,也称会话初始协议,用于控制各端点间的会话过程。由于SIP诞生于IETF,除话音、视频业务外,SIP还融入了对即时消息(Instant Message)和状态服务(Presence)的支持,同时SIP协议还充分利用其他IETF协议。在话音和视频业务方面,SIP和H.323提供的功能类似,并且二者具备良好的协议互通能力。SIP的长处在于对IM、Presence等互联网新兴业务的支持。SIP发展很快,低端IAD设备很多都采用SIP协议作为呼叫控制协议。现阶段SIP协议在使用规模上没有H.323大,但可以预见,SIP协议将与H.323协议共同成为企业下一代通讯系统的核心控制协议。

如何保证系统的可靠性

在企业通讯系统建设中,首先考虑的是关键业务的可靠性。电话是最常用,最重要的沟通工具,PSTN在保障语音业务的可靠性方面做得非常出色,所以VoIP系统应该尽量达到PSTN的标准,这要求至少支持以下三个层次的可靠性保障机制:

第一,核心控制设备必须支持双机备份。在VoIP系统中,核心控制设备,如H.323GK, SIP注册服务器、服务器等,必须支持双机备份,避免单点故障。终端接入设备支持双宿主,如H.323网关同时支持主、从两个GK,当主GK失效时,网关自动切换到从GK。通过核心控制设备和终端接入设备的双重保护机制,大大提高VoIP系统的可靠性。

第二,关键中继设备和大型接入设备需要双电源保护。PSTN局端设备采用独立的供电系统,保证电话系统不受本地供电系统的影响。在企业的通信网络中,设备从本地取电,为避免电力系统故障影响VoIP系统,关键设备应该采取双电源设计,这样可以通过供电系统备份降低故障率。

第三,系统级全网备份。企业的VoIP系统和PSTN互通,可以采用PSTN网络作为企业VoIP系统的备份网络。VoIP系统的小型终端设备,如IAD,IP PBX等,量大、分布广、直接面向使用者,当设备断电或发生故障时,必须自动切换到PSTN系统。1∶1保护是解决此类问题的主要技术手段,所谓1∶1保护就是对模拟电话接口(FXS)或E1接口采取自动切换机制,当设备断电或发生故障时,模拟电话接口或E1接口自动切换到PSTN网络上。另一种重要的全网备份是智能路由技术,当企业通信网络不通或QoS不能保证通话质量时,呼叫会自动路由到PSTN网络。

有了上面三个层次的保护机制,VoIP系统的使用效果可以达到PSTN的标准。

如何提高系统效能

语音业务是下一代企业通讯系统最基本的业务。为提升通讯系统价值,下一代企业通讯系统必须提供更多的新兴语音业务,下面介绍几个实用的新兴业务。

统一号码。在工作中,每个人都有多种联系方式,如固定电话号码、移动电话号码、邮件地址等,可以为每个人分配一个唯一的号码,每次呼叫时,系统智能地选择恰当的关联号码进行呼叫。如当被叫方处于会议状态时,呼叫会自动转接到语音邮件系统;当被叫方离开办公室时,会首先呼叫移动电话号码。

固话漫游。当用户到异地分支机构出差,用户的软电话会自动注册到异地的注册服务器,而用户的号码不改变,一切呼叫会自动地路由到用户的漫游地,用户可获得的办公环境不再受地域限制。

软电话。受设备能力限制,传统电话机很难发挥出下一代企业通讯系统的效能。软电话应运而生,成为越来越重要的沟通工具。软电话是一种运行在PC机上的软件,它可以充分利用PC机的资源,提供话音、视频、即时消息、状态服务功能。随着PC、便携机、以及各类移动智能设备的普及,软电话的应用场景越来越广阔。

如何兼顾成熟与先进

企业在通讯系统改造和建设中,必须考虑技术的成熟性和先进性。H.323是业界最成熟的解决方案,具有设备厂家丰富,互通性好的优点,在解决话音和视频业务方面是理想选择。SIP方案在新兴多媒体通信方面具备技术优势,并且不断受到设备厂家的推动,技术逐步走向成熟。企业信息建设主管在选择技术方案时,首先选择成熟的技术方案,这样可以保证原有的电话系统、视频系统顺利的迁移到新系统中。同时考虑企业对新兴通信方式的需求,要求选用的技术方案可以平滑升级。综上所述,建议采取先建设H.323方案,以后升级到SIP方案或H.323和SIP混合组网的模式。

迈普下一代企业通讯系统介绍

在成熟完备的VoIP产品系列基础上,迈普通信秉承“融合为体,业务为用”的研发思想,既保持技术的先进性,又坚持结合客户特点,为客户提供实用、易用的通讯技术,提高客户沟通效率,降低企业运营成本。

迈普下一代企业通讯系统组件包括呼叫控制服务器、会议媒体服务器、应用服务器、软电话和MyPower VG系列网关,支持H.323、SIP协议和多种专有技术,提供多种实用化的增值业务,如全网强打强拆、跨设备群组震铃、固话漫游、统一号码等。

第11篇

关键词:视频监控;安全机制;虚拟专用网;会话初始化协议

在社会信息化程度快速发展的今天,社会各行已经广泛的运用监控进行工作,多层次的网络视频监控系统,通过SIP协议和DIEME-TER协议为基础创建的运营级视频监控系统,可以实现大规模和大领域的部署,以及运营级的整体需要,广大的监控业务对远程视频的监控也提出了更好的要求,需要不断地弥补传统监控系统的缺陷,提高新的监控系统的安全性能。新的视频监控系统要符合时展的要求,不断的提高其工作的远度,在网络系统的协调下,可以对大量视频数据实时、跨区域性的传输,能够将监控的资源进行共享,为此提高了办事效率。

图1为视频监控网络系统结构图,SIP服务器主要是建立会话;AAA服务器主要使用于路由AAA请求;AAA服务器进行监控认证;存储服务器中能够存放大量的视频资源信息,转发服务器进行数据的转发,控制服务器用于主要数据的控制,审计服务器是审计系统的一部分,网管系统对整个监控系统进行详细的管理,前端服务器主要进行的是消除影响,建立一个完整的监控系统。

在整个监控系统,安全性是设计者进行设计需要考虑的重要因素,不能让自己的监控视频资源落入其他人的手中,安全的系统机制是保证视频可以正常的营运,在现在网络社会中,安全的监控系统也面临着巨大的挑战,现代化的监控系统不能和传统的监控系统那样进行小地区的隔离,现代化的监控系统是连接在网络上,任何地区的人都可以通过网络找到这个监控系统,从而去窃取视频资源,这就需要在设计的过程中尽可能的完善内部结构,完善自身系统的服务器和网络接触的信任点,就目前的技术而言,主要是解决以下几个问题:(1)网络访问身份认证。主要是防止攻击者冒充身份进行访问,防止不法分子对视频监控系统的篡改。(2)机密性。防止不具有访问权限的人窃取视频信息。(3)完整性。防止不法分子对视频信息进行删除或者是篡改。(4)授权。明确那些具有访问权限,有效的杜绝其他的用户访问。(5)安全指引。安全指引是对分散的、独立的、缺少安全通道,根据视频系统协议机制,进一步加强安全通道的保护,保证网络安全过程。(6)隐私性。隐私性主要是保护监控数据的机密性,主要是为了防止其他不法人员查看视频资源,保护视频的信息和各个节点,起到保护视频系统的作用。

1 基于VPN(虚拟专用网)与SIP(会话初始化协议)的闭合用户群方案

1.1 什么叫闭合用户群

闭合用户群是几个或者是几十个视频用户共用一个视频信息系统,其他人员不能对其中的视频资源进行访问。共同的使用群体内的资源,方便了群组成员的使用。

在实际生活中,每个行业对于视频监控系统的需求是存在一定的差异,因此,在视频的访问中也有所不同。通过闭合用户群的可以将各类资源得到最大利益化的使用。目前闭合用户技术发展日益成熟,得到了各行各业的肯定,为各行各业的发展打下了坚实的基础。

根据用户的需求的不同,将闭合用户群划分为了两种方案:一种是采用比较成熟的虚拟专用网,二是SIP(初始化协议)的呼叫控制,为每个用户群定义应该访问的权限,并且只能是本群内的用户在特点的用户群内进行资源的共享。

在服务器中,SIP缺乏一整套安全机制,它能够加强端到端的安全性跨越逐跳的安全体系。安全是视频监控系统最为基础性的考虑,也是保证各行各业正常运用视频资源的前提条件,关乎这一个企业或者是一个行业,甚至是一个国家的兴衰,在视频安全系统中SIP已经有了关于视频安全系统的详细解释,应对应方式的身份识别和通过闭合用户群诞生出两种方案对SIP用户群体进行保护,但是他们对源头的保护SIP消息是比较缺乏的。由于信息的连接点可能会修改SIP的源头消息,通过逐跳的方式加强SIP传输过程中沿途的安全机制,所以逐跳的安全性重要就显得十分的重要。

这样我们就知道采用VPN建立的闭合用户群相对来说安全性有大的保障,但是不便的就是用户难以修改视频的信息。采用SIP构建闭合用户群与用VPN构建的闭合用户群的作用恰恰相反,在这两种方式的优缺点的影响下,可以采用网络层(IPSec)和传输层(TLS)的双重安全机制,来提高信息在传输中进行逐跳的安全性,保护SIP会话在传输资源时的信号通道。

在实际的应用中大部分用户采用的是如图2和图3所示的方案,能够巩固信息在传递过程中逐跳的安全性能,保证控制系统一直处于安全状态。

1.2 SIP和DIAMETER的认证授权

SIP是灵活性的用户群体,可以防止非法人员的入侵,能够有效的保护系统内的视频资源。SIP协议是专门为了SIP的安全制定的,进行认证需要MAR和MAA的指令,为了保护系统的安全性,SIP的请求需要经过SIP协议的判断进行详细的认证,在认证中需要完成以下几个步骤:首先是SIP用户发出的SIP请求。其次是SIP永和的使用算术进行计算,发送带有MD5的信息给SIP请求,并发到下面小的系统上。再次系统根据永和提供的用户名和密码进行下一步的认证工作。最后根据认证的结果的是与否,决定用户是否能够访问系统内的视频资源。SIP协议的授权和认证是独立起来的,通过对用户的认证是否合法,然后做出下一步能否访问资源的决定,能够有效的保护了系统内部资源的安全性,并且用户在使用的过程中也是十分的方便快捷。

2 动态密钥为基础的媒体流私密方案

为了视频数据的安全性和实用性,要不断对最前端视频数据进行加密处理,选择合理有效加密的方法。来满足实时性要求,采用的视频数据加密算法对视频设备采集到的视频数据进行加权加密处理,需要定期更新加密的方式方法,来有效的保护和传输DES密钥,防止黑客等不法分子对系统的攻击。此方法其实简单直接,能大大地提高系统的安全性,但是视频数据占用的内存相当的大,全部加密,对于系统来说是一个相当大的负担,在实施的过程中有一定的难度。

3 基于SNMPv3的系统管理

利用简单网络管理协议有效的管理了系统的安全性,SNMPv3在安全方面已经基本上满足了大规模可运营级视频监控系统在大规模运行和安全上的整体要求。

4 结束语

本文主要介绍了大规模网络视频监控系统是如何在复杂的环境中增强安全性能的。分析了VPN和SIP相结合起来在视频系统中的安全作用,以及在现实生活中的应用性。详细的介绍了密钥的不断地更新在视频信息系统中的应用,SNMPv3的网络系统是如何保证管理信息的安全性,详尽介绍了审计服务器的辅助作用,辅助增强了系统的安全性,总之,随着科技的进步通过对视频资源的不断地加密和保护,大规模可运营视频监控网络系统的安全性已经有了显著的提高。

参考文献

[1]石志强,林建坛,林森,等.大规模可运营视频监控网络系统的安全机制[J].北京邮电大学学报,2009,S1:66-72.

第12篇

【关键词】传真; SIP;实时网络传真; PJSIP;Spandsp

[Abstract] FOIP, which allows to transmit traditional PSTN fax via the Internet, is gradually getting popular because of the low cost associated with the Internet. This project developed and implemented the FOIP based on embedded platform and SIP protocol by combining embedded technology with sip. This project accomplished the embedded Linux system platform, which is based on AT91SAM9263, and use the Redboot underlying bootstrap program. Based on this, a software design scheme which is based on embedded Linux is proposed. Currently, this real time network facsimile scheme has been applied in real products. The research and practice show that this scheme has superior quality and is suitable for certain branches and fields.

[Key word] Fax, SIP, Real-time FOIP, PJSIP, Spandsp

1.引言

随着互联网通信技术还有信息处理技术的发展,传统电信业务的网络化得到迅速发展。基于 IP的多媒体业务纷纷涌现。比如 IP电话取代传统电话,Email取代普通信件,微信取代传统短信,以及 IP视频会议的广泛应用。这些网络应用无时不刻的影响着人们的现代生活。传真技术也逐渐由传统的电话网传真过渡到网络传真。网络传真的出现,使得人们更加高效,便捷的收发传真,且成本低廉。

传真通信向高速、高效、移动、网络化和集中管理方向发展[1];而传真报文由简单的文件传输向彩色图像传输发展。在这种发展形势下,传统传真通信已经无法满足企业或个人的要求,越来越暴露出它的缺点。

网络传真的主要优点是节省巨大的长途电话的开支。当用户使用网络传真时,传真报文以 IP包数据的形式在 IP网上传输。这些 IP网可以是国际互联网,或者是企业内部网等等。

本文从实时网络传真的系统架构,硬件以及各功能模块的设计等方面进行了研究和探索。

2.方案设计

实时网络传真的框架由三部分组成:底层硬件、内核空间、用户空间。底层硬件,负责物理数据的收发和处理;内核空间通过 TCP/IP栈和相关驱动提供网络通信服务和硬件控制;用户空间则通过软件实现网络实时传真的主体功能。在用户空间,同样也有用户协议栈,如 SIP栈、T4/T6等,完成协议的编码与解析。整体架构采用一个主控进程和其他若干后台通信进程组成。主要模块有三个:主控模块、 SIP信令控制管理模块和 T.38通信模块。由主控进程负责调度管理各通信任务。由 T.38通信进程负责完成通信,如图 1所示。

2.1 硬件O计

本方案的硬件平台主 CPU采用 AT91系列的 AT91SAM9263,其采用 ARM926EJ-S处理器,主频可高达 240MHz,拥有丰富的外设接口;具有 DMA控制器,能够以尽量少的 CPU时钟执行大批量的数据传输;具有 MMU(存储管理单元),适合运行多任务操作系统;同时,AT91SAM9263工作温度范围达-40℃~+85℃,完全能满足苛刻的工作环境要求。

外设存储器 SDRAM选用 MT48LC16M32A2,16位总线,128Mbit空间;flash存储器选用 SST39VF6401,Norflash类型,64Mbit空间。网络接口芯片采用 DM9161,可支持 10M/100M的速率。硬件框图如图 2所示:

2.2 软件设计

操作系统采用 Linux,内核为 2.6.23,根据硬件平台定制。编译选用 arm-linux交叉编译工具链。引导程序采用 Redboot。根文件系统制作工具选用 Buildroot和 Busybox。

在网络传真会话的建立时,采用 SIP协议,本文采用 PJSIP作为实时网络传真的信令控制管理模块。在 SIP会话建立后,本文采用 Spandsp作为 T.38传输模块。Spandsp是数字信号处理的一套库函数,用于将图像转换为音频信号,或将音频信号转换为图像。

软件共分为三个部分:主控模块、 SIP信令控制管理模块和 T.38通信模块。主控模块作为调度管理通信过程的主要模块,起着非常大的作用。它负责接收人机界面的命令,通知 SIP信令控制管理模块开始建立网络传真链接,同时负责监控管理通信状态,并随时上报给人机交互模块。主控模块与 SIP信令控制管理模块的交互采用管道方式。在发送端,通过命令管道,启动 SIP信令控制管理模块,通过响应管道,SIP信令控制管理进程告知其通信状态;在接收端,SIP信令控制管理进程监控 socket套接字,一旦有网络传真连接,则开始通信过程,同时通过管道告知通信状态。SIP信令控制管理模块经过建链、协商,连接成功后,将启动 T.38通信进程进行传真过程。

T.38建议中规定了 SIP/SDP的呼叫建立规程[2]。中,SIP呼叫建立用于 IP环境下仅进行传真通信,在此环境下不提供话音通信。 SIP信令控制管理模块采用单独的 TCP/UDP端口发送 T.38传真呼叫,缺省值为 5060,用于呼叫信令。当建立网络传真连接后,使用一个随机的 TCP端口传送传真信息。SIP呼叫建立共有 5个阶段过程:用户位置,用户能力,用户有效性,呼叫建立和呼叫处理[3]。双方采用 SDP进行能力协商,以确定网关或终端支持和使用哪些选项。SDP会话描述是采用 UTF-8文本字符。当使用 UDPTL和 TCP传送时,采用特定的 T.38相关的属性来标识其能力[4]。

PJSIP的各个组件通过接口函数 pjsip_endpt_register_module(*endpt,*module)向各 SIP终端实例注册,并且进行初始化。SIP终端将传输层接收到的消息分发到事务层、会话层及应用层[5]。

在模块的结构体定义中,收到请求回调函数 on_rx_request()和收到响应回调函数 on_rx_response()是模块从 SIP终端或其他模块收到 SIP信息的主要函数。它用非零返回值来表明该 SIP消息是否被模块正确处理[6]。

在一个 SIP消息发送之前,传输模块管理器将调用发送请求回调函数 on_tx_request()和发送响应回调函数 on_tx_response()。根据需要,其他模块对 SIP消息进行修改,最后再发送出去。

T.38通信模块主要包括 T.30引擎、T.30消息模拟和控制、IFP组包和解包、UDPTL、 RTP、IAX2、TPTK组包和解包。如图 3所示。

3.结束语

实时网络传真作为基于 IP技术的应用,已经得到广泛的关注与发展。随着网络技术的迅速发展,传真技术与网络结合的趋势不可阻挡。通过可扩展性和可移植性良好的 SIP信令控制模块,实现实时网络传真将具有相当的现实意义。

本文提出的实时网络传真的实现方案具有良好的可移植性和可扩展性,已经应用到某些领域中。测试结果证实,该实现方案完全满足使用需求。

参考文献

[1]刘立柱,网络传真通信原理与技术,北京,国防工业出版社,2006,4

[2] ITU-T,T.38 “Procedures for real-time Group 3 facsimile communication over IP networks”, 2007,04

[3] IETF,RFC3261 “SIP: Session Initiation Protocol”, 2002,6

[4] IETF,RFC2327 “SDP: Session Description Protocol”,1998,4

相关文章