5 IMS接口及协议
SIP协议介绍
SIP协议介绍
• SIP是一个应用层的控制协议,可以用来建立、修改 、和终止多媒体会话(或者会议)例如Internet 电话 。SIP在建立和维持终止多媒体会话协议上,支持5个 方面: • 用户定位: 检查终端用户的位置,用于通讯。 • 用户有效性:检查用户参与会话的意愿程度。 • 用户能力:检查媒体和媒体的参数。 • 建立会话:”ringing”,建立会话参数在呼叫方和被 叫方。 • 会话管理:包括发送和终止会话,修改会话参数,激 活服务等等。
SIP协议介绍
• Via:指示传输经过的路径及响应发送的位置,UAC在产生请求 且已确定下一跳时必须填入该字段 • To:消息的逻辑接收者 • From:请求的发起者 • Call-ID:呼叫标识,是Dialog-ID的构成之一 • CSeq:用来标识和序列化事务,在对话之外的请求消息种其值 是可以任意选取的 • Max-Forwards:跳数计次,类似于IP包首部的TTL字段,每经过 一个中间UA的处理将其减1,为0则丢弃该消息 • Route:宽松路由时的路由信息
SIP协议介绍
SIP协议介绍
• 用户定位(User location):确定用于通讯的终端系 统; • 用户可用性(User availability):确定被叫方是否空 闲及是否愿意进行通讯; • 用户能力(User capabilities):确定使用的媒体和 媒体参数; • 会话建立(Session setup):邀请和提示被叫,在主 被叫之间传递呼叫参数; • 会话管理(Session management):包括会话转移 和终结会话、修改会话参数、调用业务等。
spi-c=23456789; spi-s=12345678; port-c=2468; ports=1357
Register F3
200 OK F4
F2: SIP/2.0 401 Unauthorized …… Security-Server: ipsec-3gpp; q=0.1; alg=hmac-sha1-96; spi-c=98765432; spi-s=87654321; port-c=8642; port-s=7531 F3: Register registrar.net SIP/2.0 …… Security-Client: ipsec-3gpp; alg=hmac-sha-1-96; spi-c=23456789; spi-s=12345678; portc= 2468; port-s=1357 Security-Verify: ipsec-3gpp; q=0.1; alg=hmac-sha1-96; spi-c=98765432; spi-s=87654321;
SIP协议介绍
SIP协议介绍
• SIP是端到端的协议,无论是UA还是SIP Server统一采用SIP URI 编址。 • SIP编址语法: <Scheme>:userinfo@host:port;URI Param 其中支持的scheme: sip, sips, tel(RFC2806)
Public ID, Global Routable Current Address,Home Server Kowns
AOR
N : M
Contact
Register sip:registrar.home.net SIP/2.0 To: sip:aaa@home.net .... Contact:<sip:1.2.3.4:5;transport=udp>
SIP协议介绍
• Request-URI :表示SIP请求的处理者
SI源自文库协议介绍
SIP协议介绍
• SIP对话表示了一对UA站点间的持久性的SIP协议关系 。 • 在RFC3261中只有INVITE请求及其2XX响应才能创建 对话. • 到目前为止共有INVITE、REFER、SUBSCRIBE三个SIP 请求可以创建对话。 • 对话由Dialog-ID表示,Dialog-ID由对话的Call-ID、 Local Tag(对于UAC是请求消息中From的tag参数 值)、Remote TAG(UAC 请求的TO首部的tag参 数值) • 一个对话可由多个事务所组成
SIP协议介绍
SIP协议介绍
• 用户代理(User Agent):代表一个终端系统,由于SIP 基于Client-Server架构,UA包括两种类型实体:UAC( User Agent Client),用于产生请求;UAS(User Agent Server)基于UAC发出的请求,产生相应的响应 • PROXY:为其它的客户机代理,进行SIP消息的转接和转发 的功能。消息机制与UAC和UAS相似。对收到的请求消息 进行翻译和处理后,传递给其他的服务器 • REDIRECT SERVER:接收SIP请求,把请求中的原地址映射 为零个或多个地址,返回给客户机,客户机根据此地址 重新发送请求
SIP协议介绍
SIP协议介绍
UA
INVITE 183[Require:100rel] PRACK 200 OK for PRACK 200 OK for INVITE ACK
Proxy
在RFC3261中,一个 事务的临时响应是不 受保护的,当需要在 临时响应中传递关键 信息时就必须保证其 可靠传输
SIP协议介绍
UA
Register F1 401 Unauthorized F2
SIP协议介绍
Proxy
F1: Register registrar.net SIP/2.0 …… Proxy-Require: sec-agree Security-Client: ipsec-3gpp; alg=hmac-sha-1-96;
SIP协议介绍
SIP协议介绍
• SIP事务由一个请求及该请求的响应组成,响应包括 一个最终响应及可能的多个临时响应。 • 事务层处理请求与响应的重发,保证事务的原子性。 • 事务处理对INVITE请求处理与其它方法略有不同, UAS的2XX响应重发由UA Core而非事务层完成,对 于INVITE请求,若最终响应代码不为2XX,则事务还 包括ACK请求。 • 事务匹配:Top Via的Branch参数及CSeq字段,若 为UAS事务还需比较Top Via的Sent-by参数。
SIP协议介绍
SIP协议 UDP TCP TLS
SIP协议介绍
SCTP
• 资源开销小,报文 • 提供可靠连接, • 提供可靠连接 传送,实现简单。 分段传输。 ,报文传送, • 缺乏可靠传输机制 • 流式传输,协议 分段传输。 ,依赖于SIP事务层 栈必须进行应用 • 心跳机制。 的重传机制;大于 层消息重组; • 用于SIP承载仅 MTU的报文依赖于IP 层分片不能穿越NAT • 面向连接的特性 有一个草案, ,用在UNI侧时 。 尚不完善 资源开销较大
SIP协议介绍
SIP协议介绍
事务用户层 事务层 传输层 信令压缩
业务逻辑的实现 SIP应用层传输可靠性机制
屏蔽底层承载差异
语法与编码
易读、易于扩充的语法形式
SIP协议介绍
generic-message = start-line *message-header CRLF [message-body] start-line = Request-Line / Status-Line
SIP协议介绍
SIP Request
SIP协议介绍
Proxy
INVITE sip:aaa@bbb.net SIP/2.0 Route: <sip:home.net;lr> Record-route: <sip:p1.net;lr> Max-Forwards: 32 ......
• SIP网络可以看作IP网之上的一个覆盖网,有着自己完备的路由 机制 • 当Route存在时,以Top Route作为路由的依据,否则以 Request-URI为准 • SIP请求中Record-Route头部在响应中返回,作为对话的路由 集,它的生存 周期也是一个对话。
SIP协议介绍
UA
INVITE 183[Require:100rel] PRACK 资源预留 200 OK for PRACK Update 200 OK 200 OK ACK 资源批准
资源批准后:SDP a=curr:qos local sendrecv a=curr:qos remote sendrecv
SIP协议介绍
Request-line = Method SP Request-URI SP SIP-Version CRLF • Method:方法名,目前RFC 3261规范定义了六种方法: REGISTER、INVITE、ACK、CANCEL、BYE、OPTIONS,其他的 标准跟踪(Standards track)RFC可能定义另外的方法,比如: REFER、PRACK…… • SIP-Version:目前为SIP/2.0;不同的消息可能携带不同的SIP版本 号,SIP实体应该参考该版本号确定相应的处理 • Request-URI:一个SIP URI或者SIPS URI,该请求指向的用户或者 服务。也可以支持其他的编号方案,如:TEL URI;SIP实体可以通 过任何可行的方法,将这些编号方式转换为SIP/SIPS URI
SIP协议介绍
SIP协议介绍
• REGISTER:登记服务器只接收用户代理客户机 发送的登记请求。由于登记服务器通常不是 独立存在的,在划分SIP网络服务器时并没有 将它作为单独的一类。登记服务器通常和代 理服务器或重定向服务器处于同一物理实体 中 • LOCATION SERVER:代理服务器或重定向服务 器从位置服务器获取被叫当前可能的位置信
SIP协议介绍
Status-line = SIP-Version SP Status-Code SP Reason-Phrase CRLF • Status-Code:响应码,3数字整数:1xx、2xx、3xx、4xx、5xx 、6xx • SIP-Version:SIP版本号 • Reason-Phrase:原因短语,这个字段是对Status-Code字段的 一个文本描述; Status-Code是用作计算机处理用的,ReasonPhrase则是给用户看的;协议中对每种Status-Code定义了相应 的英文文本含义,但实现的时候,可以选择采用不同的文本、不 同的语言来描述
SIP协议介绍
SIP 网络成员
重定向服 务器 位置服务器
SIP协议介绍
注册理服务器
用户代理
Redirect Server SIP
Location Server
Registrer Server
网关
代理服务器
SIP-I/T
PSTN/CS
User Agent Proxy Server Proxy Server Gateway
IMS接口及协议
培训内容
• SIP协议介绍 • SIP在IMS中的应用 • SIP的安全管理
SIP协议介绍
SIP协议介绍
• Internet的许多应用都需要建立和管理一个会话,会话在这里的 含义是在参与者之间的数据的交换。人们创造了无数种通讯协 议应用于实时的多媒体会话数据比如声音,影像,或者文本。 本SIP(会话初始协议)和这些协议一样,同样允许使用 Internet端点(用户代理)来寻找参与者并且允许建立一个可共 享的会话描述。为了能够定位精确的会话参与者,并且也为了 其他的目的,SIP允许创建基础的network hosts(叫做代理服务 器),并且允许终端用户注册上去,发出会话邀请,或者发出 其他请求。SIP是一个轻形的,多用途的工具,可以用来创建, 修改和终止会话,它独立运作于通讯协议之下,并且不依赖建 立的会话类型。
SIP协议介绍
Proxy
初始请求SDP: a=curr:qos local none
QoS授权
a=curr:qos remote none a=des:qos mandatory local sendrecv a=des:qos none remote sendrecv
a=des:qos mandatory local sendrecv a=des:qos mandatory remote sendrecv