SIP网络监听模型的设计与实现

合集下载

一种基于Go语言的SIP协议栈设计与实现

一种基于Go语言的SIP协议栈设计与实现

设计应用技术语言的SIP协议栈设计与实现邓杨凡(中国电子科技集团公司第三十研究所,四川会话发起协议(Session Initiation Protocol,SIP)是由互联网工程任务组(Internet Engineering Task Force,它是一个基于文本的应用层控制协议,能够创建、下一代网络(Next Generation Network,Multimedia Subsystem,IMS)等网络,支持语音、视频、数据等多媒体业务。

基于协议栈,具备作为客户端并发发起或处理多路呼叫的能力。

会话发起协议(SIP);客户端;Go语言;多媒体通信Design and Implementation of a SIP Protocol Stack Based on Go LanguageDENG YangfanInstitute of CETC, Chengdu 610041Abstract: Session Initiation Protocol (SIP) is a multimedia communication protocol formulated by the Internet Engineering Task Force (IETF). It is a text-based application layer control protocol, which can create, modify and实体都是事务用户。

当一个事务用户希望发送请求时,就创建一个客服端事字符集。

种类型,请求消息和响规定的通用消息格式,包括起始行、一个或多个消息头、一个空行以及一个可选消息体。

和状态行(的起始行,状态行是响应消息的起始行。

请求消息包含请求行、消息头、空行以及消息体,响应消息包括状态行、消息头、空行以及消息体。

6种请求消息如表表1 SIP请求消息功能说明向SIP服务器注册用于建立用户代理之间的媒体会话用于终止已建立的会话,可以由主叫或者被叫方发送用于查询的用户代理或围绕其功能的代理服务器,并发现其当前的可用性用于确认最后响应的用于终止未建立会话响应消息的第一行由状态码构成,表示服务信令和实时传输协议(一套多级流水线的文本消息处理流程。

基于SIP协议的呼叫中心系统的设计与实现(信号与信息处理专业优秀论文)

基于SIP协议的呼叫中心系统的设计与实现(信号与信息处理专业优秀论文)

播地址和端口。

对UDP,可以用重传机制来获得可靠性。

SIP的消息格式和操作是独立于传输协议的。

3.1.4SIP邀请(Invite)一个成功的SIP邀请包括两个请求,INVITE后面跟一个ACK。

玳VITE请求邀请被叫加入某个会议或建立一个两点的会话。

当被叫发出同意加入呼叫的响应以后,主叫要向它发送一个ACK请求来确认己经收到了这个响应。

如果主叫不想参与这个呼叫,它应发送一个BYE请求而不是ACK。

一个SIP请求典型地包含一个会话描述(例如用SDP协议),为被叫提供充分的信息以便加入会话。

对多点会话来说,会话描述列举了允许向整个会话发布的媒体类型和格式。

对单点会话来说,会话描述列举了主叫所期望的媒体类型、格式以及可用于接收媒体数据的地址。

不管是哪种情况,如果被叫接受呼叫,它就会在响应中返回类似的描述来列出它希望使用的媒体。

对于多点会话,只有当被叫不能接受主叫所描述的媒体或是它希望通过单播来接收数据时才应该返回会话描述。

下图是个的S口的I补,r腰请求的简单呼叫流程。

Te}sla图2—1SIP请求呼叫流程MarconiRTCP报文头部参数首先要区别携带不同控制信息的RTCP报文的类型,R他P报文的类型主要有以下几种:(1)SR:发送报告,当前活动发送者发送、接收统计。

(2)RR:接收报告,非活动发送者接收统计。

(3)SDES:源描述项,包括CNAME.(4)BYB:表示结束。

(5)APP:应用特定函数。

其中最主要的RTCP报文是SR和RR。

通常SR报文占总RTCP包数量的25%,RR报文占75%。

类似于RTP数据包,每个RTCP报文以固定的包头部分开始,紧接着的是可变长结构元素,但是以32位长度为结束边界。

在RTCP报文中,不需要插入任何分隔符就可以将多个RTCP报文连接起来形成一个RTCP组合报文。

由于需要底层协议提供整体民度来决定组合报文的结尾,所以在组合报文中没有单个RTCP报文的显式计数。

RTCP控制报文的发送周期是变化的,与报文长度L用户数N和控制报文带宽B相关:周期P=L*N,B。

sip制作标准

sip制作标准

sip制作标准SIP(Session Initiation Protocol)是一个面向Internet会议和电话的简单信令协议标准。

SIP制作标准主要包括以下内容:1. 协议结构:SIP协议基于文本,采用请求/响应模型,由请求消息和响应消息两种类型构成。

请求消息用于发起呼叫,包括邀请消息、挂断消息、更新消息、订阅消息等;响应消息用于对请求消息进行响应,包括成功、失败、重定向、确认等类型。

2. 消息头和消息体:SIP消息头用于描述消息的属性和行为,例如To、From、CSeq、Call-ID等。

消息体用于承载媒体数据或信令信息,可以是文本、音频、视频等类型。

3. 呼叫流程:SIP呼叫流程包括邀请流程和挂断流程。

邀请流程用于建立呼叫,涉及用户代理(UAC)和用户代理服务器(UAS)之间的交互,包括发送邀请消息、接收响应消息、发送确认消息等步骤。

挂断流程用于终止呼叫,涉及用户代理之间的交互,包括发送挂断消息、接收响应消息等步骤。

4. 路由机制:SIP采用基于网络的路由机制,通过URI(统一资源标识符)标识用户和服务器。

SIP路由器根据路由规则将请求消息转发到目标服务器或用户代理,同时根据网络拓扑和负载情况优化路由,保证呼叫的可靠性和性能。

5. 安全机制:SIP采用传输层安全性协议(TLS)进行通信层的安全保护,通过SSL/TLS协议建立安全连接,保证通信数据的机密性和完整性。

同时,SIP也支持数字签名和身份认证,防止伪造和篡改消息。

6. 媒体协商:SIP通过媒体协商机制确定媒体格式、编解码器、传输协议等参数,以保证不同设备之间能够正确地交换媒体数据。

媒体协商过程中,参与方通过发送offer/answer模型的消息进行交互,最终达成一致的媒体配置。

7. 会话控制:SIP提供会话控制功能,包括会话邀请、会话转移、会话暂停和恢复等。

这些功能通过发送特定的SIP请求和响应消息实现,使得用户能够灵活地控制和管理会话。

针对SIP的STUN解决方案的设计与实现

针对SIP的STUN解决方案的设计与实现

科学技术与工程6卷针对SIP的STUN解决方案的设计与实现郭常清(湖南大学软件学院,长沙410082)摘要SIP是一个基于文本的应用层协议,但SIP协议本身无法实现让SIP消息安全地穿过NAT和防火墙。

从SIP消息的特点出发,提出一种无需扩展SIP协议的应用层解决方案,引入STUN协议,取得IP地址和端口的映射关系,修改SIP和SDP消息的内容来保证通信连接,从而实现对NAT的穿越。

关键词VoIP协议(SIP)网络地址翻译器STUN中图法分类号TP393;文献标识码A2006年1月6日收到第6卷第11期2006年6月1671-1815(2006)11-1556-05科学技术与工程ScienceTechnologyandEngineeringVol.6No.11Jun.20062006Sci.Tech.Engng.c目前,VoIP技术在世界范围内已获得广泛应用,而基于SIP[1](SessionInitiationProtocol[RFC2543],会话初始化协议)的软交换技术已成为VoIP技术研究的一个新的热点。

SIP[1]是IETF提出的在IP网络上进行多媒体通信的应用层控制协议。

可用于建立、修改、终结多媒体会话和呼叫。

其特点是简单、便于扩展和扩充,且SIP借鉴了许多已有的Internet协议,是实现增值综合业务的理想手段,具有很好的发展潜力。

由于我国广泛使用的宽带城域网、企业网中普遍采用NAT[2](NetworkAddressTranslator[RFC1631],网络地址翻译器),SIP是一个基于文本的应用层协议,建立会话所需的地址信息描述均存在于SIP消息中。

而包含丰富地址信息的SIP消息处于应用层,NAT只对TCP/UDP和IP包头中的地址和端口进行翻译,从而造成载荷内的地址和端口与IP包头的源地址和源端口不一致,会导致NAT外和NAT内的用户之间无法从SIP消息中得到有效的地址信息,无法完成正常的会话建立过程。

SIP系统设计方案

SIP系统设计方案

SIP系统设计方案SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的通信协议,其设计方案通常包括以下几个部分:1. SIP服务器:SIP服务器是SIP系统的核心组件,负责处理呼叫的建立、呼叫的转发、呼叫的保持和终止等功能。

SIP服务器可以分为注册服务器和代理服务器两种类型。

注册服务器用于用户注册和地址翻译,而代理服务器用于路由和转发呼叫。

2. 用户代理(UA):用户代理是SIP系统中的终端设备,如智能手机、电子邮件客户端等。

用户代理可以发送和接收SIP消息,并与其他用户代理建立会话。

用户代理通常具有呼叫控制功能,如界面显示、呼叫转接和会议功能。

3. 呼叫处理:SIP系统的呼叫处理包括呼叫的建立、呼叫的转发和呼叫的保持。

在呼叫建立阶段,用户代理将呼叫请求发送给SIP服务器,SIP服务器根据目标地址解析出目标用户代理的位置,然后将呼叫请求转发给目标用户代理。

在呼叫转发阶段,SIP服务器将呼叫请求转发给其他中间节点或下一个目标。

在呼叫保持阶段,SIP服务器将呼叫请求保持在自身上,直到用户代理恢复呼叫。

4. 会话描述协议(SDP):SDP是SIP系统中用于描述会话参数和媒体特性的协议。

当呼叫建立成功后,用户代理将发送一个包含媒体信息的SDP消息给对方用户代理。

对方用户代理接收到SDP消息后,根据其包含的参数和特性来设置自身的媒体处理功能。

5. NAT穿透:SIP系统需要解决NAT(Network Address Translation)环境下的呼叫问题。

NAT环境中,私有IP地址无法直接被公网访问,因此需要进行地址转换。

SIP系统可以采用STUN(Session Traversal Utilities for NAT)或ICE (Interactive Connectivity Establishment)等技术来实现NAT穿透,以解决NAT环境下的呼叫问题。

基于SIP的会议模型及其实现

基于SIP的会议模型及其实现

基于SIP的会议模型及其实现∗司端锋1,韩心慧1,邹维1,方跃21.北京大学计算机科学技术研究所网络信息安全工程研究中心,北京(100871)2.西门子中国有限公司TDS-CDMA研究部,北京(100015)E-mail:siduanfeng@摘 要:介绍了基于SIP协议的会议模型,并实现了一种基于SIP的集中式多方实时通信系统实例:IP电话会议系统。

关键词:SIP,会议模型,IP电话会议系统1. 引言目前用于多方实时通信系统的信令协议主要有两大主流的标准,一是ITU的H.323协议;二是IETF的SIP协议。

SIP借鉴了许多其它互联网协议如HTTP、SMTP的设计思想,是一种基于分布式控制、采用文本编码方式的信令协议,具有设计思想简洁、开放、移动性和扩展性支持好、终端设备具有良好的智能性等优势。

SIP协议是位于应用层的控制(信令)协议,RFC3261将它的用途定义为“用于建立、修改和中止有多方参与的多媒体会话(会议)”,支持多种多方通信模型,但是SIP协议中并没有直接定义SIP的多方会话的功能,也没有提供SIP多方通信模型(即SIP会议模型)。

由于SIP实时通信本质上是一个多方会议模型的应用(双方IP电话是多方实时通信和多方会议的一个特例),因此研究SIP的多方通信模型对SIP的应用是一个十分重要的问题。

基于SIP协议开发IP多媒体通信系统是通信领域的研究热点。

本文根据SIP协议的特点,分析了基于SIP协议构建网络会议系统可能的会议模型,并围绕服务器集中控制模型进行了较深入的分析,设计并实现了一种集中控制会议系统模型。

2. 基于SIP的会议模型关于SIP会议(SIP Conference)的概念,在不同的场合定义不同,由于SIP协议是用于“多方多媒体会话进程”,因此,我们首先对SIP会议中的会议作一个界定:会议是指SIP多方会话的一个实例。

典型的为一个多方实时通信系统的实例。

根据这个定义,SIP协议的作用就是为SIP 会议提供信令控制。

实验二 网络监听实验

实验二一、实验名称:网络侦听实验二、实验学时:4三、实验内容和目的:实验目的:通过使用Sniffer(嗅探)工具,实现捕捉ARP、ICMP、FTP等协议的数据包,以理解TCP/IP协议栈中多种协议的数据结构、会话连接建立和终止的过程、TCP序列号、应答序号的变化规律。

并且通过实验了解FTP、HTTP等协议明文传输的特性,以建立安全意识,防止FTP、HTTP等协议由于传输明文密码造成的泄密。

实验内容:1.地址解析协议(ARP)实验2.网络路径跟踪(TRACE)实验3.TCP连接实验四、实验原理:(一)地址解析协议(ARP)实验本实验中,所有计算机位于一个物理网络中:所有计算机通过以太网交换机连接在一个以太网中。

该物理网络中没有连接路由器。

同时,所有计算机也位于同一个IP网络中。

IP分组在以太网中发送时,除了要有接收站的IP地址(IP分组中的目的IP 地址)外,还需要接收站的MAC地址(以太网帧中的目的MAC地址)。

ARP协议将IP地址(逻辑地址)动态映射为MAC地址(物理地址)。

实验中两人一组,在“未知”(使用命令arp -d * 清空ARP缓存表)和“已知”IP网络内通信时所需地址映射(目的IP地址,目的MAC地址)这两种情况下,先后使用计算机上的通信测试命令(ping)发起一次通信过程,并通过使用Sniffer软件捕获通信过程中通信双方的交互信息。

比较两次通信过程中所捕获的分组数量、分组类型和分组内容,分析ARP协议的工作原理,包括:ARP 分组(ARP请求分组和ARP应答分组)的产生条件、具体内容和传输方式。

每个实验者使用计算机上的ARP缓存表查看命令(arp -a),查看本小组的ARP协议操作结果和ARP缓存表内容,了解ARP缓存表的形成及其在ARP协议操作过程中的作用。

(二)网络路径跟踪(TRACE)实验本实验中,每个实验小组中的计算机分别连接在两个以太网中,每个以太网被配置为一个IP子网,4台路由器按照实验拓扑结构互连这两个IP子网。

SIP协议解析与实现

SIP协议解析与实现SIP(Session Initiation Protocol)是一种基于IP网络的应用层协议,用于建立、修改和终止多媒体会话,如音频、视频和即时消息等。

它是一种灵活、可扩展的协议,广泛应用于VoIP(Voice over IP)和实时通信领域。

SIP协议的核心是请求-应答模型,有两种基本的消息类型:请求消息和应答消息。

请求消息由客户端发送给服务器,用于请求其中一种服务,而应答消息是服务器对请求消息的响应。

SIP消息的格式采用文本方式,以行分隔,并以空行结束,类似于HTTP协议。

SIP消息由三个部分组成:起始行、首部和消息体。

起始行包含消息类型(请求或应答)、URI(统一资源标识符)和SIP协议版本。

首部是可选的,可包含一系列首部字段,用于传递附加信息,如源地址、目标地址、通信参数等。

消息体是可选的,用于传输实际的消息内容。

1.客户端发起一个SIP请求,包括请求方法(如INVITE、REGISTER、BYE等)、目标URI、SIP协议版本等。

2.请求消息经过网络发送到服务器端,服务器根据请求类型,执行相应的操作,并生成一个应答消息。

3.服务器端将应答消息返回给客户端,应答消息包括状态码、状态原因短语等。

4.客户端根据应答消息进行相应的处理,并可能发起新的请求或结束通话。

一个完整的SIP会话通常包括四个阶段:建立、修改、终止和确认。

建立阶段由INVITE请求和200OK应答组成,用于建立会话连接。

修改阶段通过不同的请求方法(如UPDATE、REFER等)修改会话参数。

终止阶段由BYE请求和200OK应答完成,用于关闭会话连接。

确认阶段通过ACK请求和200OK应答确认会话的建立。

除了基本的请求方法和应答状态码,SIP还定义了一系列的首部字段,用于传递附加信息和控制命令。

常见的首部字段包括From、To、Contact、Call-ID、CSeq、Via、User-Agent等。

实现SIP协议需要编写对应的请求和应答处理逻辑,包括解析和生成SIP消息、发送和接收SIP消息、处理请求和应答等。

组装sip的模板和案例

组装sip的模板和案例SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的通信协议。

在组装SIP的模板和案例时,需要考虑到协议的结构、消息的格式以及常见的应用场景。

首先,让我们来看一下SIP的基本消息结构。

SIP消息分为请求和响应两种类型。

请求消息包括INVITE(邀请建立会话)、ACK (确认收到邀请)、CANCEL(取消会话)、BYE(结束会话)等。

响应消息包括1xx(临时响应)、2xx(成功响应)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)等。

接下来,我们来看一下SIP的消息格式。

SIP消息由起始行、头部和消息体组成。

起始行包括请求行或状态行,用于描述消息的类型和状态。

头部包括多个字段,用于传输消息的元数据信息,如From(发起方)、To(接收方)、Call-ID(呼叫标识符)等。

消息体包含实际的数据内容,如媒体流或SDP(会话描述协议)信息。

在组装SIP的模板时,可以按照上述消息结构和格式进行设计。

例如,一个INVITE请求的模板可以包括起始行(INVITEsip:***********************/2.0)、头部(From、To、Call-ID等字段)和消息体(SDP信息)。

对于响应消息,也可以按照相应的格式进行设计。

此外,针对不同的应用场景,可以设计不同的SIP案例。

例如,一个基本的SIP呼叫案例可以包括建立会话、传输媒体流、修改会话参数等过程。

另外,也可以考虑一些特殊场景,如SIP重定向、SIP消息的路由转发等。

总之,组装SIP的模板和案例需要深入理解SIP协议的结构和消息格式,同时考虑到不同的应用场景和需求。

通过合理设计模板和案例,可以更好地理解和应用SIP协议,从而实现多媒体会话的建立和管理。

NGN中SIP监测系统模型的研究与设计

重现 以及各 类图表生成及告警处理等各类后处理功能 。
3 3接 口平面 .
接 口平面提供实时监 测处理平面 与监控 中心 的连
2 5监测策略管理模块 . 对信令采集、信令分拣 、目标 匹配、监测内容 、 输 出方式 、存储方式等信令监测策略进行 配置。
根据如上功能需求和模块划分 ,本文提出一种实现 系统的功能的体 系结构~ 多级分布的开放式体系架构。
的软 交换 设备 上 , 因此对于 网络监测而言 , 监测 的接入 点也应该尽量位于网络的核心层靠近软交换一侧 ,以保
证信息截获的完整性 和有效性 。 3 2实时信令监测与话路处理平面 . 实时信令监测与话路 ( 通信 内容 ) 处理平面通过内 部接 口与监测接入平面连接 ,接收接入平面采集到的所 有信令数据和话路数据进行实时的信令分析和话路监测 处理 ,并 向监控中心输 出统计分析报告和各类 目 标通信
原理如 图 l 示 。 所
2 1I . P包截获模块 通过 跨接线路方式截获 NG N线路上的所有信号数
据, 并提取 I P分组包 。NG N是一个 以 口 或 A M 作为 T
核心承 载的网络 , SP 而 I 是一 个基于 的信令协议 , 所
SP 令信 息 ,然后对过滤 出的数据进行分析 ,得出监 I信
图1 i SP协议监 测系统 的工作原理示意图
由于NG N本身就是一个承载 层与控制层完全分离 的网络 ,其呼叫连接和业务控制功能集中在 网络核心层
2 2信令包分拣模块 .
根据 协议类型、 已知信令节 点的 I P地址 、信令协 议的知名端 口以及信令协议编码 中的特征字符串等信息 分拣出信令 包。
关键词 NGN SP 信令监测 I
SP ( I 会话初 始协议 )是一个基于 I P分组 交换的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2006-12-06;修订日期:2007-03-12 基金项目:国家863计划信息技术领域基金项目(2005AA121210) 作者简介:葛琳(1979-),女,山东济南人,硕士研究生,主要研究方向:软交换及通信; 徐天顺(1964-),男,河南安阳人,工程师,主要研究方向:无线通信工程; 马宏(1968-),男,江苏东台人,副教授,主要研究方向:数字交换方面及通信.文章编号:1001-9081(2007)06-1317-03SI P 网络监听模型的设计与实现葛 琳,徐天顺,马 宏(国家数字交换系统工程技术研究中心,河南郑州450002)(gelin@mail .ndsc )摘 要:针对会话初始协议(SI P )网络及其协议自身的特点,重点研究了如何在SI P 网络中快捷、有效地实现监听。

在此基础上,提出了SI P 网络监听模型的设计方案,并给出了对目标用户进行监听时的通信实现流程。

这种模型的设计与实现是探索性研究,但是与现有的接口技术相比更具有灵活性,实现起来更为简便。

关键词:会话初始协议;代理服务器;重定向服务器中图分类号:TP393.02 文献标识码:AD esi gn and i m plem en t a ti on of i n tercepti on m odel i n S I P networkGE L in,XU Tian 2shun,MA Hong(N ational D igital Sw itching Syste m Engineering &Technological R&D Center ,Zhengzhou Henan 450002,China )Abstract:According t o the SI P net w ork and its p r ot ocol πs characteristic,this article p laced e mphasis on how t o i m p le ment intercep ti on work rap idly and effectively in Sessi on I nitiati on Pr ot ocol (SI P )net w ork .And on such basis,a design of net w ork intercep ti on model was put f or ward as well as the i m p le mentati on fl ow ai m ing at the target UA πs communicati on .Both the design and the i m p le mentati on above are exp l orat ory .They are not only more flexible but als o more convenient than the existing intercep ti on interfaces .Key words:Sessi on I nitiati on Pr ot ocol (SI P );p r oxy;redirect or p r oxy0 引言随着互联网上多媒体实时业务应用的不断增加,需要一系列能够保证顺利完成多媒体会话的呼叫控制协议。

基于互联网客户机/服务器(C /S )结构设计思想的会话初始协议(Sessi on I nitiati on Pr ot ocol,SI P ),以其简单、灵活、可扩展等优良特性,在因特网快速发展的情况下更多地引起了人们的重视。

作为移动通信标准化组织的3GPP 已经决定在SI P 基础上建立第三代移动通信系统(3G )的全I P 网络,并要求3G 终端支持SI P 。

随着SI P 网络产品的不断成熟,SI P 将会作为一个主流的通信协议[1]。

与此同时,随着全球范围内的反恐斗争日益激烈,如何在SI P 网络中进行监听以维护网络的通信安全、建设同步于通信网络发展水平的国家信息安全体系也成为当务之急。

本文针对SI P 网络的组网特点,在深入研究SI P 协议基本通信流程建立的基础上,结合重定向服务器和代理服务器的主要功能特性,提出了在SI P 网络中实现监听的模型设计方案并给出了其实现的通信流程。

1 SI P 网络监听技术1.1 SI P 网络的组成特点图1为SI P 网络的基本结构。

SI P 采用C /S 的工作方式,因此SI P 网络包含两类组件:用户代理和网络服务器。

用户代理又分为用户代理客户端和用户代理服务器,其中用户代理客户端负责发起SI P 呼叫请求,用户代理服务器负责对呼叫请求作出响应。

网络服务器主要为用户代理提供注册、认证、鉴权、路由等服务,分为代理服务器、重定向服务器和注册服务器3种。

其中,重定向服务器提供地址解析服务,其功能类似于域名服务器(DNS ),通常将SI P 呼叫的目的地址映射成零个或多个新地址[1]。

当被叫用户的位置发生改变,而主叫用户并不知道的情况下,呼叫仍然被接续到原代理服务器处,原代理服务器接受到主叫的请求消息后,发现被叫用户已经转移,于是启用重定向功能,向主叫用户反馈回被叫用户的新地址,主叫用户收到后便向新地址重新发起呼叫请求。

重定向特性是SI P 独有的,这也是我们监听模型设计最初的出发点。

图1 SI P 网络的基本结构可以看到,SI P 仅完成呼叫信令的功能,而具体的媒体传输由实时传输协议(RTP 和RTCP )来完成,实现了呼叫与媒体分离的设计思想。

第27卷第6期2007年6月计算机应用Computer App licati onsVol .27No .6June 20071.2 SI P 协议特点SI P 协议是一种基于I P 网络的实时通信应用信令协议,是下一代网络中的核心协议之一。

它采用文本编码格式,其消息分为:请求和响应。

各消息分别由消息头和消息体组成。

请求消息的消息头中的必选参数为Call -I D ;Cseq;Fr o m;T o;Max -For wards ;V ia 。

在这里,我们尤其需要关注的是Fr o m和T o 字段参数。

Fr o m 是发起请求方的地址。

一般采用userinf o@host port 形式。

T o 为接受方地址。

与Fr o m 域相同,也采用userinfo@host port 的地址形式。

了解了SI P 消息头中的Fr o m 和T o 字段参数就可以知道通信的双方,由此可以判定是否需要对呼叫进行监听。

SI P 消息中的消息体由S DP 协议描述,主要进行通信双方媒体属性的协商和交换。

其中的必选参数有v ;o ;s ;c ;t ;m ,其中o 参数表示会话创建者和会话标识;c 表示连接信息,通常为发送消息方的IP 地址;m 为媒体名称和传输地址。

修改消息体中的参数就改变了主叫或被叫用户的媒体属性,信令交互后的媒体传输通道将被改变。

1.3 SI P 网络监听模型的设计SI P 网络中,呼叫需要通过代理服务器进行转接,SI P 消息头中的某些头字段必须为代理服务器可见,代理服务器接收到消息并修改其某些特性后才能进行正确的转发处理,也就是说,用户必须信任代理服务器。

同时,作为网络安全的维护者,我们也可以要求用户发送的消息字段对代理服务器来说必须是可以理解和解析的。

这样,代理服务器就可以得到通信双方的信令消息。

利用SI P 协议的特点,如果监听模型中的监听服务器可以充当代理服务器,那么通过对经过它的信令消息头字段的分析,就可以得知通信双方的用户名或I P 地址,再与数据库中的监控名单进行对照,可以筛选出目标用户。

如果是需要监听的对象,则由监听服务器完成对后续呼叫流程的接续,如果是非目标用户则启用重定向功能将呼叫交付网络中的代理服务器处理。

同时,监听服务器通过对目标用户信令消息体中的媒体地址和端口等参数的修改,就可以将其包含的媒体属性修改为监听媒体网关的属性,呼叫建立后的媒体流将被接续到监听媒体网关。

监听媒体网关在将双方传送的媒体流数据包存储之后,再转发到双方用户实际的媒体地址和端口,监听媒体网关终端对收到的媒体数据包进行后期的还原处理就可以实现对用户的监听。

但是,如果在SI P 网络与监听信息中心之间采用硬件接口的方式进行连接,工作量大,对设备的性能要求高,不易实现。

那么,可以利用SI P 网络中特有的重定向服务器功能将原始呼叫重定向到监听信息中心进行处理。

图2 SI P 网络监听模型如图2所示,整个监听信息中心包括数据库服务器、监听服务器、监听媒体网关及各设备的终端组成。

现将各部分的主要功能作一说明。

监听数据库服务器的主要功能:通过标准协议或内部接口协议与SI P 网络中的注册服务器相连,实时获取和更新用户的注册信息和真实I P 地址。

监听服务器的主要功能:监听服务器是整个模型的核心部分,它需要具备以下功能来确保模型的正常运做。

1)数据库查询功能。

通过内部接口协议或标准协议与数据库服务器连接。

需要对目标用户呼叫接续时,可以查询目标用户的真实I P 地址。

2)判别功能。

即根据收到命令中的关键字段判断主、被叫方并查询数据库是否是监听名单中的目标用户。

3)充当代理服务器。

当目标用户活动时,可以充当代理服务器“汇接”此次呼叫,同时完成对其中部分字段的修改(如,contact,via 等)以保证后续的响应消息依然通过监听服务器。

4)媒体控制功能。

与监听媒体网关通过标准协议或内部接口协议连接,监听服务器根据侦听逻辑的需要,控制监听媒体网关打开端口接收媒体流,并告之监听媒体服务器用户真实的媒体地址和端口号。

5)充当重定向服务器功能。

对非名单中的普通呼叫用户,启用重定向功能接续到原SI P 网络中的主代理服务器。

监听媒体网关的主要功能:通过内部接口协议与监听服务器连接,接收监听服务器的指令,并返回端口号。

通信建立后,先将收到的媒体数据包存储,然后按照监听服务器通知的用户真实媒体地址和端口将媒体数据包转发。

各设备终端的主要功能:主要完成对设备参数的修改和设定,以及对设备正常运行的控制和维护。

监听媒体网关的终端完成对接收到的媒体数据包的后期还原,可以实时地监听到目标用户的通信。

需要注意的是,在实际的实现中,各个设备在物理上可以是一台设备,如图2中虚线方框内所示,即监听数据库服务器、监听媒体网关与监听服务器的功能由一台机器就可以完成,具体的设置根据网络的具体情况决定。

1.4 SI P网络监听模型的实现流程图3 目标用户的本地呼叫流程如图3所示,用户UA1发起I N V I TE 呼叫时,SI P 网络的代理服务器强制启用重定向功能,将监听服务器的地址通过302响应中的Contact 字段反馈给UA1。

相关文档
最新文档