SIP协议-A-计算机软件及应用_第1页
SIP协议-A-计算机软件及应用_第2页
SIP协议-A-计算机软件及应用_第3页
SIP协议-A-计算机软件及应用_第4页
SIP协议-A-计算机软件及应用_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AUShanghai上海贝尔阿尔卡特大学

SIP协议

SessionInitiationProtocol

SIPProtocol

更新日期19-Jul-03V1J1/52

AUShanghai上海贝尔阿尔卡特大学

课程目录

■什么是SIP协议

・SIP的结构

■地址和命名规则

・SIP实例

■SIP消息

・标准的SIP呼叫流程

■SIP同H.323比较

SIPProtocol

更新日期19-Jul-03vTl2/52

AUShanghai上海贝尔阿尔卡特大学

什么是SIP?

SIPProtocol

更新日期19-Jul-03V1J3/52

AUShanghai上海贝尔阿尔卡特大学

SIP的定义

■SIP是一种在IP网络上进行多媒体通信的应

用层控制协议

■应用:

•会话的发起、建立、释放(如应用在Internet

电话呼叫、多媒体会议、远程教学、以及视频

会议等等)

•支持双方或多方会话

SIPProtocol

更新日期19-Jul-03版本V1.1页码4/52

AUShanghai£海.象,上海贝尔阿尔卡特大学

SIP协议的属性

■基于文本的协议:发送的指令都是简单的文

■客户机■服务器模式的协议:SIP使用请求

(Request)响应(Response)模式(类彳以于

HTTP语法)

■基于文本的协议,很容易扩展或增加新的

功能

■SIP将通过把ISUP消息包含在SIP消息中实

现与ISUP的互通

SIPProtocol

更新日期19-Jul-03版本VI.1页码I5/52

AUShanghai上海贝尔阿尔卡特大学

SIP在NGN网络中应用

SIPProtocol

更新日期19-Jul-03版本V1.1页码6/52

AUShanghai上海贝尔阿尔卡特大学

SIP的结构

SIPProtocol

更新日期19-Jul-03V1J7/52

AUShanghai上海贝尔阿尔卡特大学

协议栈

AUShanghai£海.象,上海贝尔阿尔卡特大学

SIP基本功能和消息的发送

■SIP基本功能:

•呼叫信令

•用户定位

•基本的注册

■SIP消息的发送:

•UDP(多数情况):

•TCP

■SIP的工作模式

•Client/Sever模式

SIPProtocol

更新日期19-Jul-03版本V1.1页码9/52

AUShanghai上海贝尔阿尔卡特大学

SIP网络组成

■用户代理(UA):

•UAC(用户代理客户端):用于发起呼叫

•UAS(用户代理服务器):用于响应呼叫

■网络服务器:

•代理服务器

•重定向服务器

•注册服务器

SIPProtocol

更新日期19-Jul-03版本V1.1页码10/52

AUShanghai上海贝尔阿尔卡特大学

■代理服务器:

将Request和Response转发至U下一台服务

器或UA

请求叫

响应

SIPProtocol

更新日期19-Jul-03版本

AUShanghai上海贝尔阿尔卡特大学

■重定向服务器:

发送重定向响应(Response)给客户端。在

这个响应里包含有重定向到新的服务器的地址

重定向服务器

UAS

SIPProtocol

更新日期19-Jul-03版本V1.1页码12/52

AUShanghai上海贝尔阿尔卡特大学

■注册服务器:

SIPProtocol

V11码52

更新日期19-Jul-03版本—

AUShanghai上海贝尔阿尔卡特大学

地址和命名规则

SIPProtocol

更新日期19-Jul-03V1J14/52

AUShanghai上海贝尔阿尔卡特大学

SIP用户的地址信息

-SIP用户的地址信息是基于SIP通用资源定

位标记(URL)的:

•SIP:user@domain

e.g.sip:wang.yu@

•Sip:user@host

e.g.sip:wang.yu@

•Sip:user@IPaddress

•Sip:phonenumber@gateway

Sip:+21-59888222@;user=phone

更新日期19-Jul-03

ALC

AUShanghai£海.象,上海贝尔阿尔卡特大学

■SIP服务器(注册服务器)能将SIP地址智能地

转换为不同的地址:

•根据不同的媒体类型发出的请求(Request)

如:phone、video等等

•根据时间的变化转换不同的地址:

如:每天的晚5点之后将发给用户的请求从用户

的工作号码自动路由到用户的家里的电话号码

■这些呼叫处理的安装/激活特性将在后面详

细解释

SIPProtocol

更新日期19-Jul-03版本V1.1页码16/52

AUShanghai上海贝尔阿尔卡特大学

SIP实例

SIPProtocol

更新日期19-Jul-03VIJ17/52

AUShanghai耳Z*上海贝尔阿尔卡特大学

无代理服务器的SIPCall

请求

■如果UA知道UA的固定IP或者Domain

name,就可以直接及起呼叫

•如果需要的话,可以通过DNS服务器将Domainname

转换为IP地址

•直接发送请求(Message)消息到UA2

•UA晌应UA1

SIPProtocol

更新日期19-Jul-03版本V1.1页码18/52

AUShanghai耳Z*上海贝尔阿尔卡特大学

有代理服务器的SIPCall(1)

代理服务器

■如果UA1想要联系UA2:

•1)首先要获得UA2的地址(比如通过一个web页

或者注册用户)

•2)然后联系事先已配置的代理服务器,让其找到

目标用户UA2在哪里

注意:请求(Request)通过TCP或者UDP来发送

SIPProtocol

更新日期19-Jul-03版本V1.1页码19/52

AUShanghai耳N*上海贝尔阿尔卡特大学

有代理服务器的SIPCall(2)

•3)SIP服务器收到了请求并定位该用户UA度它的域

(Domain)或者其他的(domain)中。因此,他需要联系

定位服务器(Registrar)

代理服务器注册服务器

三□□

三请求

三O叫

-I—0

-

TH

BT响应

令4a)如果没有找到被订用户,SIP服务器将返回一个响

应(Response)来标示

代理服务器

SIPProtocol

更新日期19-Jul-03版本V1.1页码20/52

AUShanghai耳Z*上海贝尔阿尔卡特大学

有代理服务器的SIPCall(3)

•4b)如果找到了被叫用户,代理服务器将发送进

一步的请求(Request)给UA2和响应(Response)

给UA1

代理服务器

请求

响应

UA2

SIPProtocol

更新日期19-Jul-03版本V1.1页码21/52

AUShanghai£海.象,上海贝尔阿尔卡特大学

有多个代理服务器的SIPCall(1)

■当接受立即请求的代理服务器发现它不能

处理请求(Request)时,他必须把请求前转

(Forward)到其他的代理服务器

■这种前转是通过基于一些可能参数的路由

表来完成的。这些参数有:

•域名(Domainname)

•电话号码(Telephonenumber)

SIPProtocol

更新日期19-Jul-03版本VI.1页码22/521

AUShanghai£海.幺上海贝尔阿尔卡特大学

有多个代理服务器的SIPCall(2)

一多个代理服务器:/

代理服务2/代理服务器

—□

请求

I

D响应

代理服务器

□□二

U鼻

,HDoI

■请求(Request)能顺序或者并发地送到每一个目的

SIPProtocol

更新日期19-Jul-03vTl23/52

AUShanghai耳N*上海贝尔阿尔卡特大学

代理服务器的状态

■大多数的代理服务器是无状态(stateless)的:

•消息转发后就不保留状态信息

-有时代理服务器是有状态(stateful)的:

•当响应(Request)返回时,对应的请求(Request)

信息仍然被保留着,这样,就可以事先预计到大

多数智能行为(Intelligentaction)

SIPProtocol

更新日期19-Jul-03版本V1.1页码24/52

AUShanghai上海贝尔阿尔卡特大学

重定向服务器

UAC

■重定向服务器返回用户的位置信息以便客

户端能够直接联系到该用户

SIPProtocol

更新日期19-Jul-03版本V1.1页码25/52

AUShanghai上海贝尔阿尔卡特大学

在SIP终端和PSTN电话之间的呼叫

代理服务器

IIIIlliIIIIIIIIII

■媒体网关在其中被用作接口

•在SIP网络中,一个MG被看做是一个有多用户

的UA

•在MG和ISDN电话交换七号消息

SIPProtocol

更新日期19-Jul-03V1.1页码26/52

AUShanghai上海贝尔阿尔卡特大学

SIP消息

SIPProtocol

更新日期19-Jul-03VIJ27/52

AUShanghai上海贝尔阿尔卡特大学

■SIP消息有两种:

•请求(Request):由SIP客户机发出

•响应(Response):由SIP服务器发出

・SIP消息组成:

•一个起始行

•一个消息头

•一个消息体

■所有的消息都是简单的基于文本的消息

SIPProtocol

更新日期19-Jul-03版本V1.1页码28/52

ALC

AUShanghai£海.象,上海贝尔阿尔卡特大学

■加密和鉴权机制能保证SIP信令更加安全

•加密机制:防止其他人能够读消息内容

•鉴权机制:防止其他人能修改消息

■SIP消息能够打包(grouped)到一个UDP包中,

包的最大长度为1500bytes

■在SIP消息中的空行会被自动的忽略

SIPProtocol

更新日期19-Jul-03版本V1.1页码29/52

AUShanghai上海贝尔阿尔卡特大学

通用的SIP消息层次

SIPProtocol

更新日期19-Jul-03版本V1.1页码30/52

AUShanghai耳z*上海贝尔阿尔卡特大学

消息中的开始行(1)

■Startline=requestline

•请求行(Requestline)的固定格式:

MethodSPRequest-URISPSIP-VersionCRLF

.INVITE

统一资源定位标示(URI)是一个紧用来标示目前使用

.BYE

凑的字符串用来标示用户或者服的SIP协议的版本

.ACK

务器的请求.他可以由代理服务器

.CANCEL

重写通常,也可以叫做SIPURL

.OPTIONS

REGISTER

SIPProtocol

更新日期19-Jul-03版本V1.1页码31/52

AUShanghai£海.象,上海贝尔阿尔卡特大学

消息中的开始行(2)

・比如:

INVITEsip:wangyu@SIP/2.0

■请求消息(Reques^

•ACK=确认SIP客户机已经收到了一个响应request请求的终

结(FINAL)消息一response.这个消息仅仅是同INVITE消息组

合使用

•INVITE=用来邀请一个用户加入到某个会话(电话呼叫或者

会议)中

•CANCEL=取消一个没有被完成的请求(request),对于完成的

请求不能取消

•BYE=用于SI客户机通知SI服务器退出呼叫

•REGISTER=SIP客户机用于登记自己的地址到SI住册服务

器中

SIPProtocol

更新日期19-Jul-03版本V1.1页码32/52

AUShanghai£海.象,上海贝尔阿尔卡特大学

消息中的开始行(3)

•OPTIONS二同request一起使用,向SIP服务器来查询它

的承载能力

■响应消息(Response):

•Startline=responseline

•响应行(Responseline)的固定格式:

SIP-ve「sionSPStatus-CodeSPReason-PhraseCRLF

这个状态码是用3位整数作为结

用来标示目前使用

果码来标示出尝试的发出请求是状态码主要是给软件使用

的SIP协议的版本或者给人(humanuser).空

否被接受

户机不会要求检查或显示

这个字段

•例子:SIP/2.0100Trying

SIPProtocol

更新日期19-Jul-03版本V1.1页码33/52

AUShanghai上海食圾上海贝尔阿尔卡特大学

消息中的状态码(1)

■状态码(StatusCodes):AXX

•A二第一个字符用来定义响应的类型

1xx=Informational一请求已收到课后继续处理请求.

2xx=success—行动已经成功地收到,理解和接受

3xx=Redirection一为完成呼叫请求,还必须采取进一

步的动作

4xx=ClientError—请求有语法错误或不能被服务器执

行.客户机需要修改请求,然后重发请求.

5xx=ServerError—服务器出错,不能执行合法请求

6xx=GlobalFailure一任何服务器都不能执行请求

SIPProtocol

更新日期19-Jul-03版本V1.1页码34/52

AUShanghai£海.攵上海贝尔阿尔卡特大学

消息中的状态码(2)

■一些例子:

•100Trying

•180Ringing

•200ok

•401Unauthorized

•486BusyHere

•500ServerInternalError

•600BusyEverywhere

SIPProtocol

更新日期19-Jul-03版本V1.1页码35/52

AUShanghai£海.象,上海贝尔阿尔卡特大学

消息头信息(1)

■请求(Request)消息中的消息头只能包括:

•通函头字段(GeneralHeaderFields)

•请求头字段(RequestHeaderFields)

•实体头字段(EntityHeaderFileds)

INVITEsip:niulang@SIP/2.0请求行

Via:SIP/2.0/UDP

From:ZhinKsip:zhinv@>

To:NiuLang<sip:niulang@>通用头字段

Call-ID:1234560707@

Cseq:lINVITE

Subject:Meetingonceyear

Content-Type:application/sdp实体头字段

Content-Length:345

SIPProtocol

更新日期19-Jul-03版本V1.1页码36/52

AUShanghai耳N*上海贝尔阿尔卡特大学

消息头信息(2)

■响应(Response)消息中的消息头只能包括:

•通用头字段(GeneralHeaderFields)

•响应头字段(ResponseHeaderFields)

•实体头字段(Ent让yHeaderFileds)

SIP/2.0200OK请求行

VIA:SIP/2.0/UDP

Via:SIP/2.0/UDP

From:ZhinKsip:zhinv@>

To:NiuLang<sip:niulang@>通用头字段

Call-ID:1234560707@

Cseq:lINVITE

Subject:Meetingonceyear

Content-Type:application/sdp实体头字段

Content-Length:256

SIPProtocol

更新日期I19-Jul-03IIvTlI137/52

AUShanghai耳N*上海贝尔阿尔卡特大学

SIP消息体(1)

■请求(Request):

•在所有的请求消息中,消息体都是可选的

•ACK、INVITE和OPTIONS消息体通常都使用

SDP来描述一个对话

■响应(Response):

•对于所有的响应消息,消息体都是可选的,并

且其用途基于不同的状态码

•1xx:在消息[体中包含有关于请求进程的顾问

(advisory)信息

SIPProtocol

更新日期19-Jul-03版本V1.1页码38/52

AUShanghaiJL柒.K上海贝尔阿尔卡特大学

SIP消息体(2)

•2xx:在INVIT造息后送出,消息体中含有一

个会话的描述

•3xx:消息体中含有一个到目标用户

(Destinations)或者服务器的选择的描述

•4xx,5xx,6xx:消息体中包含有失败的信息(易

读的格式,如无格式的文本或HTML文本)

SIPProtocol

更新日期19-Jul-03版本V1.1页码39/52

AUShanghai上海贝尔阿尔卡特大学

消息体一SDP

期SIP:用于邀请用户参加到多媒体会议

•仅仅描述了在不同的部分(parties)或者地址之

间如何进行通讯以及用户如何进行定位

■SDP描述了多媒体会话本身(带宽信息,

媒体格式等等,如MPEG)

■关于SDP更多的信息:

•可以参阅(RFO2327)

SIPProtocol

更新日期19-Jul-03VLl40/52

AUShanghai上海贝尔阿尔卡特大学

标准的SIP呼叫流程

SIPProtocol

更新日期19-Jul-03V1J41/52

AUShanghai上海贝尔阿尔卡特大学

SIP客户机注册(Registration)

REGISTER(l)

--------------------------------------►

w401Unauthorized⑵

REGISTER⑶

--------------------------------------►

1200ok⑷

userASIPserver

user@S

SIPProtocol

更新日期19-Jul-O3版本V1.1页码42/52

AUShanghai上海贝尔阿尔卡特大学

SIP客户机注册流程

DNS服务器

|

_

1

Q川川川III川川川

注册服务器

注册请求S

SIPProtocol

更新日期19-Jul-03版本V1.1页码43/52

AUShanghai上海贝尔阿尔卡特大学

SIP邀请(Invitation)

SIPProtocol

更新日期19-Jul-03Vkl44/52

AUShanghai上海贝尔阿尔卡特大学

SIP邀请流程

userA@userB@

SIPProtocol

更新日期19-Jul-03版本V1.1页码45/52

AUShanghai耳N*上海贝尔阿尔卡特大学

代理服务器模式的SIPCall

定位服务器

INVITE(1)

A想同B联系(2)客户机B名

userB@哪里呢?

.(3)userB@

.(4)正在处理请求

(5)InviteuserB@>

B接受呼叫

⑺200,ok⑹200,ok

(8)ACK(9)ACK

聊不中

userASIPserver@ssl.userB

userA@(ProxyServer)userB@

SIPProtocol

更新日期19-Jul-03版本V1.1页码46/52

AUShanghai上海食圾

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论