SIP呼叫流程典型流程图解及其详细解释
SIP协议呼叫流程及协议分析

SIP协议呼叫流程及协议分析SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的协议。
它在互联网通信中发挥着重要的作用,特别是在VoIP(Voice over Internet Protocol)中。
本文将详细介绍SIP协议的呼叫流程以及对协议的分析。
一、SIP协议呼叫流程1. 注册阶段:在SIP协议中,用户设备需要先进行注册,以便在网络中被识别和定位。
注册流程如下:- 用户设备发送REGISTER消息到SIP服务器,包含用户的身份信息和位置信息。
- SIP服务器接收到REGISTER消息后,将用户的信息记录在注册表中,并返回200 OK响应,表示注册成功。
2. 呼叫建立阶段:在完成注册后,用户可以发起呼叫请求。
呼叫建立流程如下:- 主叫用户设备发送INVITE消息到SIP服务器,包含被叫用户的地址信息和媒体协商信息。
- SIP服务器接收到INVITE消息后,查询被叫用户的位置信息,并将INVITE消息转发给被叫用户设备。
- 被叫用户设备接收到INVITE消息后,发送100 Trying响应给SIP服务器,表示正在处理呼叫请求。
- 被叫用户设备根据媒体协商信息,生成对应的SDP(Session Description Protocol)消息,并将200 OK响应发送给SIP服务器。
- SIP服务器将200 OK响应转发给主叫用户设备。
- 主叫用户设备接收到200 OK响应后,发送ACK消息给SIP服务器,表示呼叫建立成功。
3. 呼叫传输阶段:在呼叫建立成功后,主叫和被叫用户之间可以进行音视频传输。
呼叫传输流程如下:- 主叫用户设备根据SDP消息中的媒体协商信息,建立音视频传输通道。
- 主叫用户设备将音视频数据打包成RTP(Real-time Transport Protocol)数据包,并通过网络发送给被叫用户设备。
- 被叫用户设备接收到RTP数据包后,解析数据并播放音视频。
SIP协议呼叫流程及协议分析

SIP协议呼叫流程及协议分析SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的应用层协议。
它是一种基于文本的协议,使用类似HTTP的请求-响应模式进行通信。
SIP协议在VoIP(Voice over Internet Protocol)和实时通信领域得到广泛应用。
本文将详细介绍SIP协议的呼叫流程及协议分析。
一、SIP协议呼叫流程1. 呼叫建立阶段呼叫建立阶段是SIP协议中最重要的阶段之一。
它包括以下步骤:- 呼叫发起方(Caller)向呼叫接收方(Callee)发送INVITE请求,该请求包含了呼叫的相关信息,如被叫方的SIP地址、媒体类型等。
- 呼叫接收方收到INVITE请求后,可以选择接受或拒绝呼叫。
如果接受呼叫,接收方将返回一个200 OK响应,表示呼叫已被接受。
- 呼叫发起方收到200 OK响应后,会发送一个ACK请求,确认呼叫已被接受。
2. 媒体协商阶段媒体协商阶段用于协商呼叫双方之间的媒体传输参数。
它包括以下步骤:- 呼叫发起方和呼叫接收方通过SDP(Session Description Protocol)交换媒体传输参数,如音频编解码器、传输协议等。
- 呼叫双方根据SDP中的参数进行媒体传输的配置。
3. 呼叫保持与呼叫转移呼叫保持和呼叫转移是SIP协议中的两个重要功能。
它们可以在呼叫过程中进行:- 呼叫保持:当一方需要将呼叫保持时,它会发送一个INVITE请求给另一方,并在请求中添加一个"hold"参数。
对方收到请求后,可以选择接受或拒绝呼叫保持。
- 呼叫转移:当一方需要将呼叫转移到另一方时,它会发送一个REFER请求给另一方,并在请求中指定新的被叫方。
对方收到请求后,可以选择接受或拒绝呼叫转移。
4. 呼叫结束阶段呼叫结束阶段用于终止呼叫。
它包括以下步骤:- 任何一方可以发送BYE请求给对方,表示希望终止呼叫。
SIP协议呼叫流程及协议分析

SIP协议呼叫流程及协议分析SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的协议。
它允许用户在互联网上进行实时语音、视频通话以及即时消息传递等。
SIP协议的呼叫流程可以简要概括为:建立连接、呼叫邀请、会话建立、会话修改和会话终止。
1.建立连接:2.呼叫邀请:发起呼叫的一方(称为呼叫发起方)向被呼叫方发送一个INVITE请求,其中包括被呼叫方的SIP地址。
INVITE请求中还包含了与呼叫相关的会话描述信息(SDP)。
3.会话建立:被呼叫方收到INVITE请求后,可以采取以下步骤来进行会话建立:a.被呼叫方返回一个响应(称为200OK)给呼叫发起方,表示接受呼叫邀请。
b. 被呼叫方收到100 Trying响应后,表示已收到呼叫邀请。
c. 被呼叫方可以发送180 Ringing响应给呼叫发起方,表示正在被呼叫方正在响铃。
d.呼叫发起方接收到200OK响应后,表示会话建立成功。
4.会话修改:在会话建立后,呼叫发起方和被呼叫方之间可以根据需要对会话进行修改。
例如,可以设置音频编解码器、视频分辨率等参数。
SIP协议提供了多种消息来进行会话修改,如ACK、BYE、CANCEL、OPTIONS等。
5.会话终止:当通话结束时,任何一方可以发送BYE请求来终止通话。
接收到BYE请求的一方会发送一个200OK响应,表示通话已终止。
1.灵活性:SIP协议使用文本格式,易于阅读和理解,且允许在会话建立后对会话进行修改。
2.易于扩展:SIP协议定义了许多扩展机制,使其适应不断增长的需求和新的通信技术。
3.开放性:SIP协议是一个开放的协议,允许与其他协议(如H.323、XMPP等)进行互操作。
4.易于管理:SIP协议允许用户和终端设备具有自由度,可在各种网络环境和设备上进行使用和管理。
然而,SIP协议也存在一些挑战和问题:1.安全性:SIP协议的开放性也带来了安全问题,如拒绝服务攻击、身份伪造等。
SIP协议呼叫流程及协议分析

SIP协议呼叫流程及协议分析协议名称:SIP(Session Initiation Protocol)协议呼叫流程及协议分析一、引言SIP是一种应用层协议,用于建立、修改和终止多媒体会话,如语音和视频呼叫。
本文将详细介绍SIP协议的呼叫流程,并对其协议进行分析。
二、SIP协议呼叫流程1. 呼叫建立阶段a. 客户端(Caller)发送INVITE消息给服务器(Proxy Server)。
b. 服务器通过一系列的路由查找,找到被叫方(Callee)的位置。
c. 服务器向被叫方发送INVITE消息。
d. 被叫方响应INVITE消息,返回180 Ringing消息,表示呼叫正在进行中。
e. 被叫方接听后,返回200 OK消息,表示呼叫已建立。
2. 呼叫修改阶段a. 在呼叫过程中,可以进行呼叫的修改,如增加或删除媒体流。
b. 客户端发送INVITE消息给服务器,请求修改呼叫。
c. 服务器向被叫方发送INVITE消息,请求修改呼叫。
d. 被叫方响应INVITE消息,返回200 OK消息,表示呼叫修改已完成。
3. 呼叫终止阶段a. 客户端发送BYE消息给服务器,请求终止呼叫。
b. 服务器向被叫方发送BYE消息,请求终止呼叫。
c. 被叫方响应BYE消息,返回200 OK消息,表示呼叫已终止。
三、协议分析1. SIP协议的优点a. 灵活性:SIP协议支持多种媒体类型和会话控制功能,能够适应不同的通信需求。
b. 可扩展性:SIP协议可以通过添加新的扩展头字段来支持新的功能和服务。
c. 易于部署:SIP协议基于标准的互联网协议,易于部署和维护。
2. SIP协议的缺点a. 安全性:SIP协议本身没有提供强大的安全机制,容易受到攻击和欺骗。
b. NAT穿越问题:SIP协议在网络中存在NAT设备时,需要额外的配置和处理,增加了复杂性。
c. 可靠性:SIP协议依赖于底层传输协议(如UDP或TCP),在不可靠的网络环境下容易出现通信中断。
SIP协议呼叫流程及协议分析

SIP协议呼叫流程及协议分析一、协议概述SIP(Session Initiation Protocol)是一种基于文本的应用层协议,用于建立、修改和终止多媒体会话,如语音和视频通话。
它是互联网工程任务组(IETF)的标准协议,广泛应用于VoIP(Voice over IP)和实时通信领域。
本文将详细介绍SIP 协议的呼叫流程及协议分析。
二、SIP协议呼叫流程1. 注册过程SIP协议中,用户需要先进行注册才能参与呼叫流程。
注册过程主要包括以下步骤:a. 用户向SIP服务器发送注册请求(REGISTER)。
b. SIP服务器验证用户身份,并返回注册成功响应(200 OK)。
c. 用户收到注册成功响应后,完成注册过程。
2. 呼叫建立过程SIP协议中,呼叫建立过程主要包括以下步骤:a. 主叫用户向SIP服务器发送呼叫请求(INVITE),包括被叫用户的SIP地址。
b. SIP服务器根据被叫用户的SIP地址,向被叫用户发送呼叫请求。
c. 被叫用户收到呼叫请求后,可以选择接听或拒绝。
接听则向SIP服务器发送接听响应(200 OK),拒绝则发送拒绝响应(4xx或6xx)。
d. SIP服务器将接听响应转发给主叫用户,建立起主叫用户与被叫用户之间的媒体通道。
3. 呼叫修改过程SIP协议中,呼叫修改过程主要包括以下步骤:a. 呼叫过程中,主叫用户或被叫用户可以发送修改请求(UPDATE)来修改呼叫的参数,如音频编解码器、媒体传输协议等。
b. SIP服务器将修改请求转发给另一方用户,并等待对方的修改响应。
c. 对方用户收到修改请求后,可以接受或拒绝。
接受则发送修改响应(200 OK),拒绝则发送拒绝响应(4xx或6xx)。
d. SIP服务器将修改响应转发给发起修改请求的用户,完成呼叫修改过程。
4. 呼叫终止过程SIP协议中,呼叫终止过程主要包括以下步骤:a. 呼叫过程中,任一方用户可以发送终止请求(BYE)来结束呼叫。
SIP协议呼叫流程及协议分析

一、SIP协议介绍:会话发起协议SIP(Session Initiation Protocol)是一个应用层控制信令协议,用于建立、更改和终止多媒体会话或呼叫。
SIP作为一个基础,可以在其上提供很多不同的服务。
目前已经定义的媒体类型有音频、视频、应用、数据、控制。
二、SIP呼叫流程:注册流程:(1)用户首次试呼时,终端代理A 向代理服务器发送REGISTER 注册请求;(2)代理服务器通过后端认证/计费中心获知用户信息不在数据库中,便向终端代理回送401Unauthorized 质询信息,其中包含安全认证所需的令牌;(3)终端代理提示用户输入其标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER 消息报告给代理服务器;(4)代理服务器将REGISTER 消息中的用户信息解密,通过认证/计费中心验证其合法后,将该用户信息登记到数据库中,并向终端代理A 返回成功响应消息200 OK。
呼叫流程:(1)用户摘机发起一路呼叫,终端代理A 向该区域的代理服务器发起Invite 请求;(2)代理服务器通过认证/计费中心确认用户认证已通过后,检查请求消息中的Via 头域中是否已包含其地址。
若已包含,说明发生环回,返回指示错误的应答;如果没有问题,代理服务器在请求消息的Via 头域插入自身地址,并向Invite 消息的To 域所指示的被叫终端代理B 转送Invite 请求;(3)代理服务器向终端代理A 送呼叫处理中的应答消息,100 Trying;(4)终端代理B 向代理服务器送呼叫处理中的应答消息,100 Trying;(5)终端代理B 指示被叫用户振铃,用户振铃后,向代理服务器发送180 Ringing 振铃信息;(6)代理服务器向终端代理A 转发被叫用户振铃信息;(7)被叫用户摘机,终端代理B 向代理服务器返回表示连接成功的应答(200 OK);(8)代理服务器向终端代理A 转发该成功指示(200 OK);(9)终端代理A 收到消息后,向代理服务器发ACK 消息进行确认;(10)代理服务器将ACK 确认消息转发给终端代理B;(11)主被叫用户之间建立通信连接,开始通话;结束流程:(2)用户通话结束后,被叫用户挂机,终端代理B 向代理服务器发送Bye 消息;(3)代理服务器转发Bye 消息至终端代理A,同时向认证/计费中心送用户通话的详细信息,请求计费;(4)主叫用户挂机后,终端代理A 向代理服务器发送确认挂断响应消息200 OK;(5)代理服务器转发响应消息200OK;注:RFC3621上结束流程为:终端代理B直接发送Bye至终端代理A(未通过代理服务器转发),测试时使用的X-Lite软件Bye消息目的IP为代理服务器。
叙述sip呼叫信令过程

SIP(Session Initiation Protocol)呼叫信令过程如下:
1.用户接机发起一路呼叫,终端代理A向该区域的代理服务器发起Invite请
求。
2.代理服务器通过认证/计费中心确认用户认证已过过后,检查请求消息中的
Via头域中是否已包含其地址,若已包含,说明发生环回,返回指示错误的应答;如果没有问题,代理服务器在请求消息的Via头域插入自身地址,并向Invite消息的To域所指示的被叫终端代理B转送Invite请求。
3.代理服务器向终端代理A送呼叫处理中的应签消息,100Trying。
4.终端代理B向代理服务器送呼叫处理中的应答消息,100Trying。
5.终端代理B指示被叫用户振铃,用户振铃后,向代理服务器发送180Ringing
振铃消息。
6.代理服务器向终端代理A转发被叫用户振铃信息。
7.被叫用户摘机,终端代理B向代理服务器返回表示连接成功的应答(200 OK)。
8.代理服务器向终端代理A转发该成功指示(200 OK)。
sip呼叫流程

sip呼叫流程SIP呼叫流程。
SIP(Session Initiation Protocol)是一种基于文本的应用层控制协议,用于创建、修改和终止多媒体会话,如IP电话、多媒体会议、即时消息等。
在SIP协议中,呼叫流程是非常重要的,它决定了用户之间通信的建立和终止过程。
下面我们将详细介绍SIP呼叫流程的各个阶段。
1. 注册。
SIP注册是指用户向服务器注册自己的位置信息,以便其他用户可以找到并与之通信。
当用户使用SIP客户端登录时,客户端会向SIP服务器发送注册请求,其中包含用户的身份信息和位置信息。
SIP服务器将用户的信息存储在注册表中,以便其他用户可以查询到这些信息。
2. 呼叫建立。
当用户A要呼叫用户B时,SIP客户端A会向SIP服务器发送呼叫请求,请求服务器帮助建立与用户B的通信。
服务器会查询用户B的位置信息,并将呼叫请求转发给用户B。
用户B的客户端接收到呼叫请求后,可以选择接受或拒绝呼叫。
3. 会话描述。
一旦呼叫被接受,SIP客户端A和B之间就会开始交换会话描述信息,这些信息包括媒体类型、编解码器、媒体传输地址等。
客户端A和B会通过SDP(Session Description Protocol)来交换这些信息,以便彼此能够理解对方的媒体能力和需求。
4. 媒体传输。
在会话描述完成后,客户端A和B就可以开始进行媒体传输,如音频、视频等。
它们会通过RTP(Real-time Transport Protocol)来传输媒体数据,并通过RTCP(RTP Control Protocol)来进行媒体控制和反馈。
5. 呼叫终止。
当通话结束时,SIP客户端A或B会向SIP服务器发送呼叫终止请求,请求服务器帮助结束通话。
服务器会向对方发送呼叫终止通知,以便对方可以释放资源并结束通话。
总结。
SIP呼叫流程包括注册、呼叫建立、会话描述、媒体传输和呼叫终止等阶段,它们共同构成了一个完整的SIP通话过程。
了解SIP呼叫流程对于理解SIP协议和实现SIP应用非常重要,希望本文能够帮助您更好地理解SIP呼叫流程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.注册流程: ................................................................................................................................. 2 2.注销流程: ................................................................................................................................. 3 3. 基本呼叫建立过程: ............................................................................................................... 4 4. 会话更改流程: ....................................................................................................................... 5 5. 正常呼叫释放过程: ............................................................................................................... 6 6. 被叫忙呼叫释放: ................................................................................................................... 7 7.被叫无应答流程一: ................................................................................................................. 8 8.被叫无应答流程二: ................................................................................................................. 9 9.遇忙呼叫前转: ....................................................................................................................... 10 10.无应答呼叫前转流程: ......................................................................................................... 13 11.呼叫保持: ............................................................................................................................. 15 12.呼叫等等: ............................................................................................................................. 16 1.注册流程: 终端代理A代理服务器REGISTER (1)401(2)REGISTER(3)200 OK (4)
标题(1)用户首次试呼时,终端代理A 向代理服务器发送REGISTER 注册请求;(2)代理服务器通过后端认证/计费中心获知用户信息不在数据库中,便向终端代理回送401Unauthorized 质询信息,其中包含安全认证所需的令牌;(3)终端代理提示用户输入其标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER 消息报告给代理服务器;(4)代理服务器将REGISTER 消息中的用户信息解密,通过认证/计费中心验证其合法后,将该用户信息登记到数据库中,并向终端代理A 返回成功响应消息200 OK。 2.注销流程: 终端代理代理服务器REGISTER (1)200 OK (4)
标题(1) 终端向代理服务器送Register 消息注销,其头中expire 字段置0。(2) 代理服务器收到后回送200 OK 响应,并将数据库中的用户有关信息注销。 3. 基本呼叫建立过程: 终端代理A代理服务器Invite (1)100 Trying (3)终端代理BInvite (2)100 Trying (4)180 Ringing (5)180 Ringing (6)200 OK (7)200 OK (8)
ACK (9)ACK (10)
通话 (11)
标题(1) 用户摘机发起一路呼叫,终端代理A 向该区域的代理服务器发起Invite 请求;(2) 代理服务器通过认证/计费中心确认用户认证已通过后,检查请求消息中的Via 头域中是否已包含其地址。若已包含,说明发生环回,返回指示错误的应答;如果没有问题,代理服务器在请求消息的Via 头域插入自身地址,并向Invite 消息的To 域所指示的被叫终端代理B 转送Invite 请求;(3) 代理服务器向终端代理A 送呼叫处理中的应答消息,100 Trying;(4) 终端代理B 向代理服务器送呼叫处理中的应答消息,100 Trying;(5) 终端代理B 指示被叫用户振铃,用户振铃后,向代理服务器发送180 Ringing 振铃信息;(6) 代理服务器向终端代理A 转发被叫用户振铃信息;(7) 被叫用户摘机,终端代理B 向代理服务器返回表示连接成功的应答(200 OK);(8) 代理服务器向终端代理A 转发该成功指示(200 OK);(9) 终端代理A 收到消息后,向代理服务器发ACK 消息进行确认;(10) 代理服务器将ACK 确认消息转发给终端代理B;(11) 主被叫用户之间建立通信连接,开始通话; 4. 会话更改流程: 用户代理服务端用户代理客户端通话 (1)Invite (2)200 OK (3)ACK (4)
标题(2) 用户代理服务端向用户代理客户端发送Inivte消息,带有新的SDP协商信息。(3) 用户代理客户端回复200 OK,并将协商后的SDP信息带回。(4) 用户代理服务端发送ACK给用户代理客户端进行确认. 5. 正常呼叫释放过程: 终端代理A代理服务器通话 (1)终端代理BBye (2)Bye (3)
200 OK (4)200 OK (5)
标题(2)用户通话结束后,被叫用户挂机,终端代理B 向代理服务器发送Bye 消息;(3)代理服务器转发Bye 消息至终端代理A,同时向认证/计费中心送用户通话的详细信息,请求计费;(4)主叫用户挂机后,终端代理A 向代理服务器发送确认挂断响应消息200 OK;(5)代理服务器转发响应消息200 OK。 6. 被叫忙呼叫释放: 终端代理A代理服务器终端代理B100 Trying (4)100 Trying (3)486 Busy here (6)ACK (8)
Invite (1)Invite (2)
486 Busy here (5)ACK (7)
标题(1)用户A 发起一路呼叫,终端代理A 向代理服务器发送Invite 请求。(2)代理服务器收到呼叫请求后向被叫终端代理转发该Invite 消息。(3)代理服务器向终端代理A 回送100 Trying,告知终端代理A 呼叫正在处理。(4)终端代理B向代理服务器 回送100 Trying,告知代理服务器呼叫正在处理。(5)呼叫请求送到被叫终端代理B 后,被叫忙,终端代理B 向代理服务器送486 被叫忙响应。(6)代理服务器向终端代理A 转发该响应消息。(7)终端代理A 向代理服务器回送ACK 确认消息。(8)代理服务器向终端代理B 送ACK 确认消息。 7.被叫无应答流程一: 终端代理A代理服务器终端代理B
100 Trying (4)100 Trying (3)180 Ringing (6)Cancel (8)
Invite (1)Invite (2)
180 Ringing (5)Cancel (7)200 OK (9)200 OK (10)
487 Request Canceled (11)487 Request Canceled (12)ACK (13)ACK (14)
标题(1) 用户A 发起一路呼叫,终端代理A 向代理服务器发Invite 请求消息。(2) 代理服务器向被叫用户的终端代理B 转发该Invite 请求。(3) 代理服务器向终端代理A 回送100 Trying 响应,表示呼叫已在处理中。(4)终端代理B向代理服务器 回送100 Trying,告知代理服务器呼叫正在处理。(5) 被叫用户振铃,终端代理B 向代理服务器送180 Ring 响应。(6) 代理服务器向终端代理A 转发该响应消息。(7) 被叫久振铃无应答,终端代理A 判断超时后,向代理服务器送Cancel 消息放弃该呼叫。(8) 代理服务器收到Cancel 消息后,向终端代理A 回送200 OK 响应。(9) 代理服务器将Cancel 消息转发给终端代理B。(10) 终端代理B 向代理服务器回送200 OK 响应。(11) 终端代理B 向代理服务器送487 请求已撤销的响应消息。(12) 代理服务器收到后回送ACK 确认。(13) 代理服务器向终端代理A 送487 请求已撤销消息。(14) 终端代理A 向代理服务器回送ACK 确认。注:上述步骤中(10)和(12)无严格的顺序关系。