SIP的基本原理与机制-Read
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
24
2.请求
• 2.2确认(ACK) • 确认请求只与邀请请求伴随而生,它表示 主叫方收到了对其邀请请求的最终答复。 (这个最终答复不一定来自被叫方,也不 一定表示邀请成功) • 必须支持此方法的硬件有: 客户端、用户服务器、代理服务器、重 定向服务器。
25
2.请求
• 2.2确认
收到答复的类型 确认请求的含义 2××型 邀请成功 非2××型 收到这个答复,但邀请失败
14
1. SIP协议体系的总体框架
• 1.4 SIP地址 • 参数 如果把地址理解为可以与目的地取得联 系的必要信息的话,那么SIP协议中还有其 他一些与地址有关的重要参数。比如: branch(分支)参数; tag参数等 参数可以出现在各种头域中
15
1. SIP协议体系的总体框架
•wk.baidu.com1.4 SIP地址 • 举例(协议P57,协议P132) :
From: "A. G. Bell" <sip:agb@bell-telephone.com> From: sip:+12125551212@server.phone2net.com From: Anonymous <sip:c8oqz84zk7z@privacy.org> To: Bob sip:bob@example.com>; tag=376364382
30
2.请求
• 2.5取消(CANCEL) • 一旦用户服务器收到一个取消请求,它就 不能对原来的那个请求做出2XX的答复 ,因 为这个请求已经被取消了 • 必须支持此方法的硬件有: 所有的硬件。
31
2.请求
• 2.6注册(REGISTER) • 客户端通过注册请求把自己的地址注册到 SIP 服务器。 • 一个客户端通过向通用的 “all SIP servers” 多播地址:“sip.mcast.net”(224.0.1.75)发送 注册请求来实现在本地服务器上注册。 • 接收并处理注册请求的任何服务器在接收 注册请求时就是注册器(一般是代理服务 器)
9
1. SIP协议体系的总体框架
• 1.3 请求、应答与SIP处理、 • 答复 答复是服务器对请求的响应。如果按照 答复中的状态码(status code)分类,答复 可以分为1××~6××六种类型。 一个请求的发出也可能引起一系列的 答复
10
1. SIP协议体系的总体框架
• 1.3 请求、应答与SIP处理 • 临时答复和最终答复 比如,当请求发出以后,在请求尚未到 达目的地之前或正在被处理的阶段,首先 与客户端进行通信的服务器就会向客户端 发出临时答复(如100(Trying)答复)。 而当请求被接受或拒绝时,服务器或被 叫方发出的就是最终答复。
3
1. SIP协议体系的总体框架
SIP ( Session Initiation Protocol—— 初始 会话协议)协议的功能是创建、修改及终 止会话。在会话过程中,SIP只起到保持会 话的作用,而会话本身则不是由 SIP来完成 的。
4
1. SIP协议体系的总体框架
• 1.1 SIP协议的通用性 • 会话可以是双方会话,也可以是多方会话。 • 会话所采用媒体形式受设备的限制,而受 SIP协议的限制,SIP协议只是在会话发起过 程中,对通信各方的性能进行勾通而已。 • SIP协议的应用要求与底层的传输协议无关。 在SIP最低配置情况下,SIP协议至少要在 TCP和UDP两个协议体系下都能够应用。
18
1. SIP协议体系的总体框架
• 1.5 头域和消息体 • 消息体(message body) 除了头域之外,请求和答复中还可能包 含消息体,在不同的情况下,消息体包含 不同的内容。具体情况请参见第5章。 • 其余:请求与答复中信息的主要载体就是 头域和消息体,但也还有其余的内容。如 在答复中,状态码就写在消息的头一行, 而不在任何头域之内。
33
3.答复
• 答复是服务器对请求的响应。但服务器对 请求的响应不只是答复。 • 答复中最重要的信息是状态码(statuscode)。其他信息则包含在头域和消息体中。 • 状态码写在答复消息的第一行,它是由3位 整数数字组成, • 状态码指明了接收请求的一方尝试理解和 满足所收到的请求的结果。
34
11
1. SIP协议体系的总体框架
• 1.3 请求、答复与SIP处理 • 发送和处理请求与答复就是SIP硬件的基本 功能,所有的SIP操作都是由一系列的请求 和答复的交互过程所组成的。 • 从一个SIP请求的产生到这个请求得到了最 终答复的整个过程中,通信各方所产生的 所有的请求与答复的总合称为一个 SIP处理 (transaction)。
19
1. SIP协议体系的总体框架
• 1.6 其他重要概念 • Call leg Call leg并不是某个具体的头域或参数, 它是由Call-ID,From和To三个头域中信息 共同组成的。 实际上,可以这样理解Call leg:Call leg唯一确定了一个会话(可能是双方会话, 也可能是多方会话。)中的一对连接。
20
2.请求
• • • • • • 2.1邀请(INVITE) 2.2确认(ACK) 2.3选择(OPTION) 2.4再见(BYE) 2.5取消(CANCEL) 2.6注册(REGISTER)
21
2.请求
• 客户端通过发送请求来触发一次创建、修 改及终止会话的SIP处理。请求的主要方法 也就是以下这几种: 邀请(INVITE) 确认(ACK) 选择(OPTION) 再见(BYE) 取消(CANCEL) 注册(REGISTER)
3.答复
• 3个数字中,第一个表示答复的种类,后两 个数字没有特别的分类。它们的基本含义 如下: • 1XX:通知形——收到请求,正在继续处理 请求。 • 2XX:表示成功——动作被成功的接收、理 解和操作。 • 3XX:重新进行请求——要完成请求还需要 进一步的信息和操作。
35
3.答复
• 4XX:用户方错误(由于用户方问题无法完 成操作)——请求中包含错误的语法或不 能被满足的内容。 • 5XX:服务方错误(由于服务方问题无法完 成操作)——对于一个明显是有效的请求, 服务器无法满足。 • 6XX:全球错误——该请求在任何服务器上 都无法完成。
5
1. SIP协议体系的总体框架
• 1.2 SIP协议的中的硬件组成 • 客户端(UAC:user agent client) • 服务器(server): 用户服务器(UAS:user agent server) 代理服务器(proxy server) 重定向服务器(redirect server) 注册器(register) 注:“硬件”在这里等于功能实体
22
2.请求
• 2.1邀请(INVITE) • 邀请请求是会话建立的第一步 • 在邀请请求的消息体中,呼叫方要向被叫 方提供会话描述 • 被叫方对邀请请求的成功的答复应当包括 被叫方可以接受的媒体类型和它希望发送 的媒体类型
23
2.请求
• 2.1邀请(INVITE) • 被叫方可能收到相同或重复的请求,若该 用户已经加入了这个特定的会话,用户服 务器就会自动答复一个200(OK) • 必须支持此方法的硬件有: 客户端、用户服务器、代理服务器、 重定向服务器。
32
2.请求
• 2.6注册(REGISTER) • Request-URI则是给登记请求的目的地(发 出请求的客户端)命名。 • Contact头域在注册请求中十分重要。如果 注册请求中含有Contact头域,那么在未来 有某个非注册请求要被发送到To头域中给 出的地址时,那么这个请求将直接被发送 到Contact头域给出的地址。
8
1. SIP协议体系的总体框架
• 1.3 请求、答复与SIP处理 • 请求 客户端通过发送请求最终实现与其他 一个或多个用户代理之间的创建、修改及 终止会话。 请求的方法(Method)主要有: 邀请(INVITE) 确认(ACK) 选择(OPTION) 再见(BYE) 取消(CANCEL)和注册(REGISTER)
13
1. SIP协议体系的总体框架
• 1.4 SIP地址 用户代理的URL的确定是通过客户端向 注册器发送注册请求来获得的。 • Request-URI(Uniform Resource Identify-统 一资源标识符) Request-URI 指 定 了 目 标 用 户 或 服 务 器 (请求将被发到的下一个 hop )的地址。 Request-URI 可以是 SIP URL ,也可以是一 般的URI。。
注: 2××答复表示成功 邀请失败可以有多种原因,如:被拒绝或 找不到被叫方等。
26
2.请求
• 2.3选择(OPTION) • 这个请求主要是让通信各方能够根据各种 情况来确定如何通话或不通话。 • 必须支持此方法的硬件有: 客户端、用户服务器、代理服务器、 重定向服务器、注册器。
27
2.请求
• 2.4再见(BYE) • 客户端用再见请求来告知服务器它想结束 此次呼叫 • 主叫方和被叫方都可以发出此请求 • 在客户端发出再见请求之前,不可以释放 当前呼叫(挂机)。 • 会话的参与各方在收到再见请求后应立即 停止对目标发送任何媒体流。
16
1. SIP协议体系的总体框架
• 1.5 头域和消息体 • 头域
虫形结构图
消息体 参数
…
参数
…
参数
………
头域
………
头域
其余
请求或答复
参数 头域
………
头域
………
头域
…
参数
17
1. SIP协议体系的总体框架
• 1.5 头域和消息体 • 头域(header field) SIP是通过附加在请求或答复中若干头域 来传递和处理与会话相关的若干信息,如 路由、呼叫标识、安全机制、会话描述等 一个头域中还会包含若干个参数。在特 定SIP处理中,不是所有参数都必须给出。 举例:From, To, Via;Call-ID, CSeq; Hide; Date
12
1. SIP协议体系的总体框架
• 1.4 SIP地址 • URL(Uniform Resource Locator-统一资源 定位) URL 是用户代理的地址,它的形式是 user@host。其中,user是一个用户名或电话 号码 , 而 host 则是一个域名或数字地址。为 了与Internet地址形式相区别,在写SIP地址 时一定要加上“sip:”,即sip:user@host。 • 比如sip:sales@example.com
SIP的基本原理与机制
1
总目录
• • • • • • • • 1.SIP协议体系的总体框架 2.请求 3.答复 4.头域 5.消息体 6.各种硬件的行为 7.SIP的安全机制 参考文献
2
1. SIP协议体系的总体框架
• • • • • • 1.1 SIP协议的通用性 1.2 SIP协议的中的硬件组成 1.3 请求、答复与SIP处理 1.4 SIP地址 1.5 头域和消息体 1.6 其他重要概念
6
1. SIP协议体系的总体框架
• 1.2 SIP协议的中的硬件组成
用 户 代 理 服 务 器
服 务 器
服 务 器
用 户 代 理
客户端(UAC)
用户代理 用户服务器(UAS)
7
1. SIP协议体系的总体框架
• 1.2 SIP协议的中的硬件组成 • 客户端是发出请求(request)的功能实体 • 服务器接收、处理请求和答复,并在一定 情况下也对请求做出答复(response)的 功能实体(包括UAS) • 用户代理是SIP处理的实际参与者。(SIP 处理后文介绍) • 用户是会话的实际参与者
28
2.请求
• 2.4再见(BYE) • 若邀请请求中有Contact头域,被叫方就要 把再见请求发送到这个头域中的地址,而 不是发送到From头域中的From地址。 • 必须支持此功能的硬件有: 客户端、用户服务器、代理服务器、 重定向服务器。
29
2.请求
• 2.5取消(CANCEL) • 取消请求把与其具有相同的Call-ID,To, From,CSeq头域值的请求取消 • 取消请求只能用于取消那些悬而未决的请 求。所谓“悬而未决”是指最终答复尚未 发出 • 客户端和代理客户端(proxy client )都可以发 出取消请求。
2.请求
• 2.2确认(ACK) • 确认请求只与邀请请求伴随而生,它表示 主叫方收到了对其邀请请求的最终答复。 (这个最终答复不一定来自被叫方,也不 一定表示邀请成功) • 必须支持此方法的硬件有: 客户端、用户服务器、代理服务器、重 定向服务器。
25
2.请求
• 2.2确认
收到答复的类型 确认请求的含义 2××型 邀请成功 非2××型 收到这个答复,但邀请失败
14
1. SIP协议体系的总体框架
• 1.4 SIP地址 • 参数 如果把地址理解为可以与目的地取得联 系的必要信息的话,那么SIP协议中还有其 他一些与地址有关的重要参数。比如: branch(分支)参数; tag参数等 参数可以出现在各种头域中
15
1. SIP协议体系的总体框架
•wk.baidu.com1.4 SIP地址 • 举例(协议P57,协议P132) :
From: "A. G. Bell" <sip:agb@bell-telephone.com> From: sip:+12125551212@server.phone2net.com From: Anonymous <sip:c8oqz84zk7z@privacy.org> To: Bob sip:bob@example.com>; tag=376364382
30
2.请求
• 2.5取消(CANCEL) • 一旦用户服务器收到一个取消请求,它就 不能对原来的那个请求做出2XX的答复 ,因 为这个请求已经被取消了 • 必须支持此方法的硬件有: 所有的硬件。
31
2.请求
• 2.6注册(REGISTER) • 客户端通过注册请求把自己的地址注册到 SIP 服务器。 • 一个客户端通过向通用的 “all SIP servers” 多播地址:“sip.mcast.net”(224.0.1.75)发送 注册请求来实现在本地服务器上注册。 • 接收并处理注册请求的任何服务器在接收 注册请求时就是注册器(一般是代理服务 器)
9
1. SIP协议体系的总体框架
• 1.3 请求、应答与SIP处理、 • 答复 答复是服务器对请求的响应。如果按照 答复中的状态码(status code)分类,答复 可以分为1××~6××六种类型。 一个请求的发出也可能引起一系列的 答复
10
1. SIP协议体系的总体框架
• 1.3 请求、应答与SIP处理 • 临时答复和最终答复 比如,当请求发出以后,在请求尚未到 达目的地之前或正在被处理的阶段,首先 与客户端进行通信的服务器就会向客户端 发出临时答复(如100(Trying)答复)。 而当请求被接受或拒绝时,服务器或被 叫方发出的就是最终答复。
3
1. SIP协议体系的总体框架
SIP ( Session Initiation Protocol—— 初始 会话协议)协议的功能是创建、修改及终 止会话。在会话过程中,SIP只起到保持会 话的作用,而会话本身则不是由 SIP来完成 的。
4
1. SIP协议体系的总体框架
• 1.1 SIP协议的通用性 • 会话可以是双方会话,也可以是多方会话。 • 会话所采用媒体形式受设备的限制,而受 SIP协议的限制,SIP协议只是在会话发起过 程中,对通信各方的性能进行勾通而已。 • SIP协议的应用要求与底层的传输协议无关。 在SIP最低配置情况下,SIP协议至少要在 TCP和UDP两个协议体系下都能够应用。
18
1. SIP协议体系的总体框架
• 1.5 头域和消息体 • 消息体(message body) 除了头域之外,请求和答复中还可能包 含消息体,在不同的情况下,消息体包含 不同的内容。具体情况请参见第5章。 • 其余:请求与答复中信息的主要载体就是 头域和消息体,但也还有其余的内容。如 在答复中,状态码就写在消息的头一行, 而不在任何头域之内。
33
3.答复
• 答复是服务器对请求的响应。但服务器对 请求的响应不只是答复。 • 答复中最重要的信息是状态码(statuscode)。其他信息则包含在头域和消息体中。 • 状态码写在答复消息的第一行,它是由3位 整数数字组成, • 状态码指明了接收请求的一方尝试理解和 满足所收到的请求的结果。
34
11
1. SIP协议体系的总体框架
• 1.3 请求、答复与SIP处理 • 发送和处理请求与答复就是SIP硬件的基本 功能,所有的SIP操作都是由一系列的请求 和答复的交互过程所组成的。 • 从一个SIP请求的产生到这个请求得到了最 终答复的整个过程中,通信各方所产生的 所有的请求与答复的总合称为一个 SIP处理 (transaction)。
19
1. SIP协议体系的总体框架
• 1.6 其他重要概念 • Call leg Call leg并不是某个具体的头域或参数, 它是由Call-ID,From和To三个头域中信息 共同组成的。 实际上,可以这样理解Call leg:Call leg唯一确定了一个会话(可能是双方会话, 也可能是多方会话。)中的一对连接。
20
2.请求
• • • • • • 2.1邀请(INVITE) 2.2确认(ACK) 2.3选择(OPTION) 2.4再见(BYE) 2.5取消(CANCEL) 2.6注册(REGISTER)
21
2.请求
• 客户端通过发送请求来触发一次创建、修 改及终止会话的SIP处理。请求的主要方法 也就是以下这几种: 邀请(INVITE) 确认(ACK) 选择(OPTION) 再见(BYE) 取消(CANCEL) 注册(REGISTER)
3.答复
• 3个数字中,第一个表示答复的种类,后两 个数字没有特别的分类。它们的基本含义 如下: • 1XX:通知形——收到请求,正在继续处理 请求。 • 2XX:表示成功——动作被成功的接收、理 解和操作。 • 3XX:重新进行请求——要完成请求还需要 进一步的信息和操作。
35
3.答复
• 4XX:用户方错误(由于用户方问题无法完 成操作)——请求中包含错误的语法或不 能被满足的内容。 • 5XX:服务方错误(由于服务方问题无法完 成操作)——对于一个明显是有效的请求, 服务器无法满足。 • 6XX:全球错误——该请求在任何服务器上 都无法完成。
5
1. SIP协议体系的总体框架
• 1.2 SIP协议的中的硬件组成 • 客户端(UAC:user agent client) • 服务器(server): 用户服务器(UAS:user agent server) 代理服务器(proxy server) 重定向服务器(redirect server) 注册器(register) 注:“硬件”在这里等于功能实体
22
2.请求
• 2.1邀请(INVITE) • 邀请请求是会话建立的第一步 • 在邀请请求的消息体中,呼叫方要向被叫 方提供会话描述 • 被叫方对邀请请求的成功的答复应当包括 被叫方可以接受的媒体类型和它希望发送 的媒体类型
23
2.请求
• 2.1邀请(INVITE) • 被叫方可能收到相同或重复的请求,若该 用户已经加入了这个特定的会话,用户服 务器就会自动答复一个200(OK) • 必须支持此方法的硬件有: 客户端、用户服务器、代理服务器、 重定向服务器。
32
2.请求
• 2.6注册(REGISTER) • Request-URI则是给登记请求的目的地(发 出请求的客户端)命名。 • Contact头域在注册请求中十分重要。如果 注册请求中含有Contact头域,那么在未来 有某个非注册请求要被发送到To头域中给 出的地址时,那么这个请求将直接被发送 到Contact头域给出的地址。
8
1. SIP协议体系的总体框架
• 1.3 请求、答复与SIP处理 • 请求 客户端通过发送请求最终实现与其他 一个或多个用户代理之间的创建、修改及 终止会话。 请求的方法(Method)主要有: 邀请(INVITE) 确认(ACK) 选择(OPTION) 再见(BYE) 取消(CANCEL)和注册(REGISTER)
13
1. SIP协议体系的总体框架
• 1.4 SIP地址 用户代理的URL的确定是通过客户端向 注册器发送注册请求来获得的。 • Request-URI(Uniform Resource Identify-统 一资源标识符) Request-URI 指 定 了 目 标 用 户 或 服 务 器 (请求将被发到的下一个 hop )的地址。 Request-URI 可以是 SIP URL ,也可以是一 般的URI。。
注: 2××答复表示成功 邀请失败可以有多种原因,如:被拒绝或 找不到被叫方等。
26
2.请求
• 2.3选择(OPTION) • 这个请求主要是让通信各方能够根据各种 情况来确定如何通话或不通话。 • 必须支持此方法的硬件有: 客户端、用户服务器、代理服务器、 重定向服务器、注册器。
27
2.请求
• 2.4再见(BYE) • 客户端用再见请求来告知服务器它想结束 此次呼叫 • 主叫方和被叫方都可以发出此请求 • 在客户端发出再见请求之前,不可以释放 当前呼叫(挂机)。 • 会话的参与各方在收到再见请求后应立即 停止对目标发送任何媒体流。
16
1. SIP协议体系的总体框架
• 1.5 头域和消息体 • 头域
虫形结构图
消息体 参数
…
参数
…
参数
………
头域
………
头域
其余
请求或答复
参数 头域
………
头域
………
头域
…
参数
17
1. SIP协议体系的总体框架
• 1.5 头域和消息体 • 头域(header field) SIP是通过附加在请求或答复中若干头域 来传递和处理与会话相关的若干信息,如 路由、呼叫标识、安全机制、会话描述等 一个头域中还会包含若干个参数。在特 定SIP处理中,不是所有参数都必须给出。 举例:From, To, Via;Call-ID, CSeq; Hide; Date
12
1. SIP协议体系的总体框架
• 1.4 SIP地址 • URL(Uniform Resource Locator-统一资源 定位) URL 是用户代理的地址,它的形式是 user@host。其中,user是一个用户名或电话 号码 , 而 host 则是一个域名或数字地址。为 了与Internet地址形式相区别,在写SIP地址 时一定要加上“sip:”,即sip:user@host。 • 比如sip:sales@example.com
SIP的基本原理与机制
1
总目录
• • • • • • • • 1.SIP协议体系的总体框架 2.请求 3.答复 4.头域 5.消息体 6.各种硬件的行为 7.SIP的安全机制 参考文献
2
1. SIP协议体系的总体框架
• • • • • • 1.1 SIP协议的通用性 1.2 SIP协议的中的硬件组成 1.3 请求、答复与SIP处理 1.4 SIP地址 1.5 头域和消息体 1.6 其他重要概念
6
1. SIP协议体系的总体框架
• 1.2 SIP协议的中的硬件组成
用 户 代 理 服 务 器
服 务 器
服 务 器
用 户 代 理
客户端(UAC)
用户代理 用户服务器(UAS)
7
1. SIP协议体系的总体框架
• 1.2 SIP协议的中的硬件组成 • 客户端是发出请求(request)的功能实体 • 服务器接收、处理请求和答复,并在一定 情况下也对请求做出答复(response)的 功能实体(包括UAS) • 用户代理是SIP处理的实际参与者。(SIP 处理后文介绍) • 用户是会话的实际参与者
28
2.请求
• 2.4再见(BYE) • 若邀请请求中有Contact头域,被叫方就要 把再见请求发送到这个头域中的地址,而 不是发送到From头域中的From地址。 • 必须支持此功能的硬件有: 客户端、用户服务器、代理服务器、 重定向服务器。
29
2.请求
• 2.5取消(CANCEL) • 取消请求把与其具有相同的Call-ID,To, From,CSeq头域值的请求取消 • 取消请求只能用于取消那些悬而未决的请 求。所谓“悬而未决”是指最终答复尚未 发出 • 客户端和代理客户端(proxy client )都可以发 出取消请求。