SIP协议原理及应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.1.4
如下图所示,SIP Adapter在SoftSwitch的软件模块结构中处于与SS7、H.248、H.323相同的L2/L3层内,都需要通过Internal Protocol与Call Server进行消息交互。
图1.12SIP在SS中的软件结构
从Call Server的角度来看,SIP Adapter的功能主要有两部分:
●非SIP URI解释功能:传递SIP包到适当的目的地址中去。
●丢弃via header中最上面一个不是自己地址的SIP包。
●特定的Proxy将实现IP到PSTN之间的网关。提供IP、电话、Email之间的交互。
●根据传递要求,对VIA和Record Route进行相应修改。
●根据收到的Cancel,立即发送200应答。(快速应答)
(1)将其他SoftSwitch交换机发来的SIP消息转换成统一的内部呼叫协议;
(2)将Call Server产生的呼叫消息转换成标准的SIP协议消息,发送给其他SoftSwitch;
一.2
SIP协议是一个Client/Sever协议。SIP端系统包括用户代理客户机(UAC)和用户代理服务器(UAS),其中UAC的功能是向UAS发起SIP请求消息,UAS的功能是对UAC发来的SIP请求返回相应的应答。
按逻辑功能区分,SIP系统由5种元素组成:用户代理、代理服务器、重定向服务器、位置服务器以及注册服务器,如下图所示。
图1.21SIP系统组成
理论上,SIP呼叫可以只有双方的用户代理参与,而不需要网络服务器。设置服务器,主要是服务提供者的运营需要。运营商通过服务器可以实现用户认证、管理和计费等功能,并根据策略对用户呼叫进行有效的控制。同时可以引入一系列应用服务器,提供丰富的智能业务。
●Call-ID:用于标识特定客户机的注册请求。来自同一个客户机的注册请求至少在相同重启周期内Call-ID字段值应该相同;用户可用不同的Call-ID值注册不同的地址,后面的注册请求将替提前面的所有请求。
二.1
(1)SIP是一个客户/服务器协议。协议消息分为两类:请求和响应;协议消息的目的是:建立或终结会话了;
(2)“邀请”是SIP协议的核心机制;
(3)响应消息分为两类:中间响应和最终响应;
二.1.1
SIP定义了以下几种方法(methods)。
INVITE
INVITE方法用于邀请用户或服务参加一个会话。在INVITE请求的消息体中可对被叫方被邀请参加的会话加以描述,如主叫方能接收购媒体类型、发出的媒体类型及其一些参数;对INVITE请求的成功响应必须在响应的消息体中说明被叫方愿意接收哪种媒体,或者说明被叫方发出的媒体。
OPTIONS的From、To分别包含主被叫的地址信息,对OPTIONS请求的响应中的From、To(可能加上tag参数)、Call-ID字段的值由OPTIONS请求中相应的字段值复制得到。
BYE
用户代理客户机用BYE请求向服务器表明它想释放呼叫。
BYE请求可以像INVITE请求那样被转发,可由主叫方发出也可由被叫方发出。呼叫的一方在释放(挂断)呼叫前必须发出DYE请求,收到BYE请求的这方必须停止发送媒体流给发出BYE请求的一方。
3.主叫成功找到被叫后直接通过主叫的策略服务器与被叫的策略服务器建立连接从而实现双方成功呼叫
一.5
此时SIP的各种服务器功能集中于SS统一完成。Soft-phone与SS间使用SIP协议进行通信,两SS之间使用SIP-I协议进行通信。媒体流通过IP承载网进行交付。
第二章
SIP协议虽然主要为IP网络设计的,仅它并不关心承载网络,也可以在ATM、帧中继等承载网中工作,它是应用层协议,可以运行于TCP,UDP,SCTP等各种传输层协议之上。
一.1.2
SIP协议当前的主要应用有即时消息、呈现业务、同时振铃、依次振铃业务、用户漫游、用户号码可携带、第三方控制业务等多种业务。
即时消息:通过SIP实现该业务时,消息的内容可以通过文字表现出来,实现文字聊天业务。呈现业务:用户的在线显示功能。
SIP的功能非常的强大,支持用户的漫游,位置定位(确定参加通信的终端用户的位置,如用户的IP地址,注册的服务器的位置等),是未来的IMS(IP multi-media subsystem)网络的主流应用协议。
BEGISTER
REGISTER方法用于客户机向SIP服务器注册列在To字段中的地址信息。
REGISTER请求消息头中各个字段的含义定义如下:
●To:含有要创建或更新的注册的地址记录。
●From:含有提出注册的人的地址记录。
●Request-URI:注册请求的目的地址,地址的域部分的值即为主管注册者所在的域,而主机部分必须为空,一般,Request-URI中OPTIONS
对于代理和重定向服务器只要转发此请求,不用显示其能力。SIP IP电话系统还提供了一种让用户在不打扰对方用户的情况下查询对方通信能力的手段。可查询的内容包括:对方支持的请求方法(methods)、支持的内容类型、支持的扩展项、支持的编码等。
能力查询通过OPTION请求消息来实现。当用户代理想要查询对方的能力时,它构造一个OPTION请求消息,发送给对方。对方收到该请求消息后,将自己支持的能力通过响应消息回送给查询者。如果此时自己可以接收呼叫,就发送成功响应(状态码为200),如果此的自己忙,就发送自身忙响应(状态码为486)。因此,能力查询过程也可以用于查询对方的忙闲状态,看是否能够接受呼叫。对于代理和重定向服务器只要转发此请求,不用显示其能力。
2.当主叫用户找不到被叫用户,也即被叫用户发生了位置更新后,代理服务器向重定向服务器发送更新的位置请求,定向服务器收到请求后,把请求中的原地址映射为零个或多个地址(一号多机),会直接返回被叫用户的新位置(号码存在重定向服务器中)或通过位置服务器将被叫新的位置返回给呼叫方(号码存在位置服务器中,位置服务器存储量大),呼叫方可以根据得到的新地址位置重新呼叫。
●UA能够选择适当的protocol/port接收应答和发送请求。
●重发和重发终止,实现通信的可靠性。
●能够解释ICMP,收到ICMP差错报文误之后,将它映射到相似的status code处理过程。
一.4
1.SIP用户代理也即主叫发起呼叫后,首先去找代理服务器(Proxy Server),其负责接收用户代理发来的请求,根据网络策略将请求发给相应的服务器,并根据收到的应答对用户做出响应。代理服务器可以根据需要对收到的消息改写后再发出。
服务器可以自动地用200(0K)响应响应会议邀请。
ACK
ACK请求用于客户机向服务器证实它已经收到了对INVITE请求的最终响应。ACK只和INIVITE请求一起使用。对2xx最终响应的证实由客户机用户代理发出,对其他最终响应的证实由收到响应的第一个代理或第一个客户机用户代理发出*。ACK请求的To,From,Call-ID,Cseq字段的值由对应的INVITE请求的相应字段的值复制而来。
SIP PROXY:
从逻辑上来讲,代理最主要的功能是将SIP信息包转发给目的用户。它最低限度要包括UA功能。在具体实现中,它还应该实现以下功能:
●呼叫计费。包括强制路由选择。
●防火墙。(可选)
●通过查询DNS,选择SIP服务器。
●检测环路。在路径上包含Fork Proxy服务器,可能会有环路产生,必须检测。
●通过查询Location server和redirect server,查找目的用户的地址;
SIP SERVER:
主要作为信息数据库,对Proxy提供服务。Server主要分为三类:
●Location Server:存储了SIP地址对一个或多个IP地址的映射,主要面向Proxy和Redirect server。
CANCEL
CANCEL请求用于取消一个Call-ID,To,From和Cseq字段值相同的正在进行的请求,但取消不了已经完成的请求(如果服务器返回一个最终状态响应,则认为请求己完成)。
CANCEL请求中的Call-ID、To、Cseq的数字部分及From字段和原请求的对应字段值相同,从而使CANCEL请求与它要取消的请求匹配。
一.2.4
注册服务器(Registrar)用于接收和处理用户端的注册请求,完成用户地址的注册。
一.2.5
当用户上电或者到达某个新域时,需要将当前位置登记到网络中的某一个服务器上,以便其他用户找到该用户,完成该功能的服务器在SIP网络中成为注册服务器。
一.3
SIP可分为三大逻辑实体:SIPPROXY、SIPSERVER、UA;
●Redirect server:接收查询请求,通过Location Server中找到对应的地址列表,把结果返回给用户。
●Registrar:接收SIP终端的Register请求,将SIP地址和IP地址组对写入
Location Server的数据库中。
以上各种服务器可共存于一个设备,也可以分布在不同的物理实体中。
NGN_SP001_C1SIP协议原理及应用
课程目标:
掌握SIP协议的基本概念
掌握SIP协议消息结构和类型
掌握SIP基本消息流程
掌握SIP协议的跟踪,分析
第一章
一.1
一.1.1
SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组)提出的多媒体会话控制协议。协议采用文本形式传送,处于OSI七层网络模型的应用层位置,它的主要目的是提供IP网中的多媒体会话的信令控制功能。
一.2.2
代理服务器(Proxy Server),负责接收用户代理发来的请求,根据网络策略将请求发给相应的服务器,并根据收到的应答对用户做出响应。它可以根据需要对收到的消息改写后再发出。
一.2.3
重定向服务器务器(Redirect Server),接收用户请求,把请求中的原地址映射为零个或多个地址,返回给客户机,客户机根据此地址重新发送请求。用于在需要的时候将用户新的位置返回给呼叫方,呼叫方可以根据得到的新位置重新呼叫。
一.1.3
图1.11SIP结构图
各功能模块说明如下:
SoftSwitch:主要实现呼叫控制,计费,是NGN网络的呼叫控制中心。
Media Gateway:提供电路交换网(即传统的PSTN网)与包交换网(即IP,ATM网)中信息转换(包括语音压缩、数据检测等)。
Signaling Gateway:提供PSTN网同IP网间的协议的转换。
SIP的组网很灵活,可根据情况定制。在网络服务器的分工方面:位于网络核心的服务器,处理大量请求,负责重定向等工作,是无状态的,它个别地处理每个消息,而不必跟踪纪录一个会话的全过程;网络边缘的服务器,处理局部有限数量的用户呼叫,是有状态的,负责对每个会话进行管理和计费,需要跟踪一个会话的全过程。这样的协调工作,既保证了对用户和会话的可管理性,又使网络核心负担大大减轻,实现可伸缩性,基本可以接入无限量用户。SIP网络具有很强的重路由选择能力,具有很好的弹性和健壮性。
一.2.1
用户代理(UserAgent)分为两个部分:客户端(User Agent Client),负责发起呼叫;用户代理服务器(UserAgent Server),负责接受呼叫并做出响应。二者组成用户代理存在于用户终端中。
常用的用户代理有:安装在计算机里面的客户端软件如softphone;具有IP接口的video phone或者IP phone。
SIP UA:
UA是SIP协议中一个逻辑实体,它包括了UAC/UAS。UAC/UAS角色只在同一个事务中保持不变。UA的主要功能是通过发送SIP请求发起一个新的事务,发送SIP Final answer或者SIP ACK请求结束当前事务。实现中,应包含以下功能:
●生成record_set。
●UAS按一定规则接受、拒绝或重定向SIP请求。
Application Server:增值业务平台,与SoftSwitch用SIP进行通信。
Media Server:提供媒体和语音资源的平台,同时与Media Gateway进行RTP流的传输。
使用SIP作为SoftSwitch和Application Server之间的接口,可以实现智能业务的功能。同时SIP已被SoftSwitch接受为通用的接口标准,从而可以实现SoftSwitch之间的互连。
如下图所示,SIP Adapter在SoftSwitch的软件模块结构中处于与SS7、H.248、H.323相同的L2/L3层内,都需要通过Internal Protocol与Call Server进行消息交互。
图1.12SIP在SS中的软件结构
从Call Server的角度来看,SIP Adapter的功能主要有两部分:
●非SIP URI解释功能:传递SIP包到适当的目的地址中去。
●丢弃via header中最上面一个不是自己地址的SIP包。
●特定的Proxy将实现IP到PSTN之间的网关。提供IP、电话、Email之间的交互。
●根据传递要求,对VIA和Record Route进行相应修改。
●根据收到的Cancel,立即发送200应答。(快速应答)
(1)将其他SoftSwitch交换机发来的SIP消息转换成统一的内部呼叫协议;
(2)将Call Server产生的呼叫消息转换成标准的SIP协议消息,发送给其他SoftSwitch;
一.2
SIP协议是一个Client/Sever协议。SIP端系统包括用户代理客户机(UAC)和用户代理服务器(UAS),其中UAC的功能是向UAS发起SIP请求消息,UAS的功能是对UAC发来的SIP请求返回相应的应答。
按逻辑功能区分,SIP系统由5种元素组成:用户代理、代理服务器、重定向服务器、位置服务器以及注册服务器,如下图所示。
图1.21SIP系统组成
理论上,SIP呼叫可以只有双方的用户代理参与,而不需要网络服务器。设置服务器,主要是服务提供者的运营需要。运营商通过服务器可以实现用户认证、管理和计费等功能,并根据策略对用户呼叫进行有效的控制。同时可以引入一系列应用服务器,提供丰富的智能业务。
●Call-ID:用于标识特定客户机的注册请求。来自同一个客户机的注册请求至少在相同重启周期内Call-ID字段值应该相同;用户可用不同的Call-ID值注册不同的地址,后面的注册请求将替提前面的所有请求。
二.1
(1)SIP是一个客户/服务器协议。协议消息分为两类:请求和响应;协议消息的目的是:建立或终结会话了;
(2)“邀请”是SIP协议的核心机制;
(3)响应消息分为两类:中间响应和最终响应;
二.1.1
SIP定义了以下几种方法(methods)。
INVITE
INVITE方法用于邀请用户或服务参加一个会话。在INVITE请求的消息体中可对被叫方被邀请参加的会话加以描述,如主叫方能接收购媒体类型、发出的媒体类型及其一些参数;对INVITE请求的成功响应必须在响应的消息体中说明被叫方愿意接收哪种媒体,或者说明被叫方发出的媒体。
OPTIONS的From、To分别包含主被叫的地址信息,对OPTIONS请求的响应中的From、To(可能加上tag参数)、Call-ID字段的值由OPTIONS请求中相应的字段值复制得到。
BYE
用户代理客户机用BYE请求向服务器表明它想释放呼叫。
BYE请求可以像INVITE请求那样被转发,可由主叫方发出也可由被叫方发出。呼叫的一方在释放(挂断)呼叫前必须发出DYE请求,收到BYE请求的这方必须停止发送媒体流给发出BYE请求的一方。
3.主叫成功找到被叫后直接通过主叫的策略服务器与被叫的策略服务器建立连接从而实现双方成功呼叫
一.5
此时SIP的各种服务器功能集中于SS统一完成。Soft-phone与SS间使用SIP协议进行通信,两SS之间使用SIP-I协议进行通信。媒体流通过IP承载网进行交付。
第二章
SIP协议虽然主要为IP网络设计的,仅它并不关心承载网络,也可以在ATM、帧中继等承载网中工作,它是应用层协议,可以运行于TCP,UDP,SCTP等各种传输层协议之上。
一.1.2
SIP协议当前的主要应用有即时消息、呈现业务、同时振铃、依次振铃业务、用户漫游、用户号码可携带、第三方控制业务等多种业务。
即时消息:通过SIP实现该业务时,消息的内容可以通过文字表现出来,实现文字聊天业务。呈现业务:用户的在线显示功能。
SIP的功能非常的强大,支持用户的漫游,位置定位(确定参加通信的终端用户的位置,如用户的IP地址,注册的服务器的位置等),是未来的IMS(IP multi-media subsystem)网络的主流应用协议。
BEGISTER
REGISTER方法用于客户机向SIP服务器注册列在To字段中的地址信息。
REGISTER请求消息头中各个字段的含义定义如下:
●To:含有要创建或更新的注册的地址记录。
●From:含有提出注册的人的地址记录。
●Request-URI:注册请求的目的地址,地址的域部分的值即为主管注册者所在的域,而主机部分必须为空,一般,Request-URI中OPTIONS
对于代理和重定向服务器只要转发此请求,不用显示其能力。SIP IP电话系统还提供了一种让用户在不打扰对方用户的情况下查询对方通信能力的手段。可查询的内容包括:对方支持的请求方法(methods)、支持的内容类型、支持的扩展项、支持的编码等。
能力查询通过OPTION请求消息来实现。当用户代理想要查询对方的能力时,它构造一个OPTION请求消息,发送给对方。对方收到该请求消息后,将自己支持的能力通过响应消息回送给查询者。如果此时自己可以接收呼叫,就发送成功响应(状态码为200),如果此的自己忙,就发送自身忙响应(状态码为486)。因此,能力查询过程也可以用于查询对方的忙闲状态,看是否能够接受呼叫。对于代理和重定向服务器只要转发此请求,不用显示其能力。
2.当主叫用户找不到被叫用户,也即被叫用户发生了位置更新后,代理服务器向重定向服务器发送更新的位置请求,定向服务器收到请求后,把请求中的原地址映射为零个或多个地址(一号多机),会直接返回被叫用户的新位置(号码存在重定向服务器中)或通过位置服务器将被叫新的位置返回给呼叫方(号码存在位置服务器中,位置服务器存储量大),呼叫方可以根据得到的新地址位置重新呼叫。
●UA能够选择适当的protocol/port接收应答和发送请求。
●重发和重发终止,实现通信的可靠性。
●能够解释ICMP,收到ICMP差错报文误之后,将它映射到相似的status code处理过程。
一.4
1.SIP用户代理也即主叫发起呼叫后,首先去找代理服务器(Proxy Server),其负责接收用户代理发来的请求,根据网络策略将请求发给相应的服务器,并根据收到的应答对用户做出响应。代理服务器可以根据需要对收到的消息改写后再发出。
服务器可以自动地用200(0K)响应响应会议邀请。
ACK
ACK请求用于客户机向服务器证实它已经收到了对INVITE请求的最终响应。ACK只和INIVITE请求一起使用。对2xx最终响应的证实由客户机用户代理发出,对其他最终响应的证实由收到响应的第一个代理或第一个客户机用户代理发出*。ACK请求的To,From,Call-ID,Cseq字段的值由对应的INVITE请求的相应字段的值复制而来。
SIP PROXY:
从逻辑上来讲,代理最主要的功能是将SIP信息包转发给目的用户。它最低限度要包括UA功能。在具体实现中,它还应该实现以下功能:
●呼叫计费。包括强制路由选择。
●防火墙。(可选)
●通过查询DNS,选择SIP服务器。
●检测环路。在路径上包含Fork Proxy服务器,可能会有环路产生,必须检测。
●通过查询Location server和redirect server,查找目的用户的地址;
SIP SERVER:
主要作为信息数据库,对Proxy提供服务。Server主要分为三类:
●Location Server:存储了SIP地址对一个或多个IP地址的映射,主要面向Proxy和Redirect server。
CANCEL
CANCEL请求用于取消一个Call-ID,To,From和Cseq字段值相同的正在进行的请求,但取消不了已经完成的请求(如果服务器返回一个最终状态响应,则认为请求己完成)。
CANCEL请求中的Call-ID、To、Cseq的数字部分及From字段和原请求的对应字段值相同,从而使CANCEL请求与它要取消的请求匹配。
一.2.4
注册服务器(Registrar)用于接收和处理用户端的注册请求,完成用户地址的注册。
一.2.5
当用户上电或者到达某个新域时,需要将当前位置登记到网络中的某一个服务器上,以便其他用户找到该用户,完成该功能的服务器在SIP网络中成为注册服务器。
一.3
SIP可分为三大逻辑实体:SIPPROXY、SIPSERVER、UA;
●Redirect server:接收查询请求,通过Location Server中找到对应的地址列表,把结果返回给用户。
●Registrar:接收SIP终端的Register请求,将SIP地址和IP地址组对写入
Location Server的数据库中。
以上各种服务器可共存于一个设备,也可以分布在不同的物理实体中。
NGN_SP001_C1SIP协议原理及应用
课程目标:
掌握SIP协议的基本概念
掌握SIP协议消息结构和类型
掌握SIP基本消息流程
掌握SIP协议的跟踪,分析
第一章
一.1
一.1.1
SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组)提出的多媒体会话控制协议。协议采用文本形式传送,处于OSI七层网络模型的应用层位置,它的主要目的是提供IP网中的多媒体会话的信令控制功能。
一.2.2
代理服务器(Proxy Server),负责接收用户代理发来的请求,根据网络策略将请求发给相应的服务器,并根据收到的应答对用户做出响应。它可以根据需要对收到的消息改写后再发出。
一.2.3
重定向服务器务器(Redirect Server),接收用户请求,把请求中的原地址映射为零个或多个地址,返回给客户机,客户机根据此地址重新发送请求。用于在需要的时候将用户新的位置返回给呼叫方,呼叫方可以根据得到的新位置重新呼叫。
一.1.3
图1.11SIP结构图
各功能模块说明如下:
SoftSwitch:主要实现呼叫控制,计费,是NGN网络的呼叫控制中心。
Media Gateway:提供电路交换网(即传统的PSTN网)与包交换网(即IP,ATM网)中信息转换(包括语音压缩、数据检测等)。
Signaling Gateway:提供PSTN网同IP网间的协议的转换。
SIP的组网很灵活,可根据情况定制。在网络服务器的分工方面:位于网络核心的服务器,处理大量请求,负责重定向等工作,是无状态的,它个别地处理每个消息,而不必跟踪纪录一个会话的全过程;网络边缘的服务器,处理局部有限数量的用户呼叫,是有状态的,负责对每个会话进行管理和计费,需要跟踪一个会话的全过程。这样的协调工作,既保证了对用户和会话的可管理性,又使网络核心负担大大减轻,实现可伸缩性,基本可以接入无限量用户。SIP网络具有很强的重路由选择能力,具有很好的弹性和健壮性。
一.2.1
用户代理(UserAgent)分为两个部分:客户端(User Agent Client),负责发起呼叫;用户代理服务器(UserAgent Server),负责接受呼叫并做出响应。二者组成用户代理存在于用户终端中。
常用的用户代理有:安装在计算机里面的客户端软件如softphone;具有IP接口的video phone或者IP phone。
SIP UA:
UA是SIP协议中一个逻辑实体,它包括了UAC/UAS。UAC/UAS角色只在同一个事务中保持不变。UA的主要功能是通过发送SIP请求发起一个新的事务,发送SIP Final answer或者SIP ACK请求结束当前事务。实现中,应包含以下功能:
●生成record_set。
●UAS按一定规则接受、拒绝或重定向SIP请求。
Application Server:增值业务平台,与SoftSwitch用SIP进行通信。
Media Server:提供媒体和语音资源的平台,同时与Media Gateway进行RTP流的传输。
使用SIP作为SoftSwitch和Application Server之间的接口,可以实现智能业务的功能。同时SIP已被SoftSwitch接受为通用的接口标准,从而可以实现SoftSwitch之间的互连。