searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

RFC3261 SIP的四种事务介绍

2023-10-09 07:06:04
432
0

事务(Transaction)是SIP(Session Initiation Protocol)协议中的核心概念,它允许终端设备之间建立和管理通信会话。通过请求和响应的交互,SIP事务确保了通信的可靠性、一致性和灵活性,使得多媒体通信成为可能。这对于实现语音通话、视频通话、实时消息传输等各种通信应用都至关重要。

事务的核心是状态机,通过状态机来管理其状态和进展,用于建立、修改或终止会话。在RFC3261中定义了四种事务类型,分别是invite client transaction(ICT),invite server transaction(IST),NON-invite client transaction(NICT),NON-invite server transaction(NIST)。

 

INVITE Client Transaction(INVITE 客户端事务):

 


[RFC3261][Page 127][Figure5]: INVITE client transaction

角色:INVITE 客户端事务是指发起一个 SIP INVITE 请求的一方的角色,通常是发起呼叫的一方。

功能:发送 INVITE 以建立通话,并接收来自服务器的响应。

生命周期:INVITE 客户端事务的生命周期包括发送 INVITE 请求、等待初始响应(如 100 Trying、180 Ringing)、等待最终响应(如 200 OK 或 4xx、5xx、6xx 类型的响应),以及可能的 ACK 请求以确认通话建立。

 

INVITE Server Transaction(INVITE 服务器事务):

 


[RFC3261][Page 135][Figure7]: INVITE server transaction

角色:INVITE 服务器事务是接收和响应 SIP INVITE 请求的一方的角色,通常是被呼叫的一方。

功能:接收 INVITE 请求、发送初始响应(如 100 Trying、180 Ringing)、等待最终响应(如 200 OK 或 4xx、5xx、6xx 类型的响应),并等待可能的 ACK 请求。

生命周期:INVITE 服务器事务的生命周期在确认通话建立之前完成。它通常用于响应 INVITE 请求并建立通话。

NON-INVITE Client Transaction(非 INVITE 客户端事务):

 


[RFC3261][Page 132][Figure6]: non-INVITE client transaction

角色:非 INVITE 客户端事务用于处理非 INVITE 类型的 SIP 请求,如 REGISTER(用于用户注册)、SUBSCRIBE(用于订阅事件通知)等。

功能:发送非 INVITE 请求,并接收服务器的响应。

生命周期:非 INVITE 客户端事务的生命周期包括发送请求、等待初始响应和处理可能的重试。这些事务通常与建立通话无关,而是用于其他 SIP 功能,如注册和事件通知。

NON-INVITE Server Transaction(非 INVITE 服务器事务):

 


[RFC3261][Page 139][Figure8]: non-INVITE server transaction

角色:非 INVITE 服务器事务用于接收和响应非 INVITE 类型的 SIP 请求。

功能:接收非 INVITE请求、发送初始响应,并等待可能的重试或最终响应。

生命周期:非 INVITE 服务器事务的生命周期在响应请求之前完成。这些事务通常用于处理非 INVITE 请求,如注册响应和事件通知。

0条评论
作者已关闭评论
InuaNG
4文章数
1粉丝数
InuaNG
4 文章 | 1 粉丝
原创

RFC3261 SIP的四种事务介绍

2023-10-09 07:06:04
432
0

事务(Transaction)是SIP(Session Initiation Protocol)协议中的核心概念,它允许终端设备之间建立和管理通信会话。通过请求和响应的交互,SIP事务确保了通信的可靠性、一致性和灵活性,使得多媒体通信成为可能。这对于实现语音通话、视频通话、实时消息传输等各种通信应用都至关重要。

事务的核心是状态机,通过状态机来管理其状态和进展,用于建立、修改或终止会话。在RFC3261中定义了四种事务类型,分别是invite client transaction(ICT),invite server transaction(IST),NON-invite client transaction(NICT),NON-invite server transaction(NIST)。

 

INVITE Client Transaction(INVITE 客户端事务):

 


[RFC3261][Page 127][Figure5]: INVITE client transaction

角色:INVITE 客户端事务是指发起一个 SIP INVITE 请求的一方的角色,通常是发起呼叫的一方。

功能:发送 INVITE 以建立通话,并接收来自服务器的响应。

生命周期:INVITE 客户端事务的生命周期包括发送 INVITE 请求、等待初始响应(如 100 Trying、180 Ringing)、等待最终响应(如 200 OK 或 4xx、5xx、6xx 类型的响应),以及可能的 ACK 请求以确认通话建立。

 

INVITE Server Transaction(INVITE 服务器事务):

 


[RFC3261][Page 135][Figure7]: INVITE server transaction

角色:INVITE 服务器事务是接收和响应 SIP INVITE 请求的一方的角色,通常是被呼叫的一方。

功能:接收 INVITE 请求、发送初始响应(如 100 Trying、180 Ringing)、等待最终响应(如 200 OK 或 4xx、5xx、6xx 类型的响应),并等待可能的 ACK 请求。

生命周期:INVITE 服务器事务的生命周期在确认通话建立之前完成。它通常用于响应 INVITE 请求并建立通话。

NON-INVITE Client Transaction(非 INVITE 客户端事务):

 


[RFC3261][Page 132][Figure6]: non-INVITE client transaction

角色:非 INVITE 客户端事务用于处理非 INVITE 类型的 SIP 请求,如 REGISTER(用于用户注册)、SUBSCRIBE(用于订阅事件通知)等。

功能:发送非 INVITE 请求,并接收服务器的响应。

生命周期:非 INVITE 客户端事务的生命周期包括发送请求、等待初始响应和处理可能的重试。这些事务通常与建立通话无关,而是用于其他 SIP 功能,如注册和事件通知。

NON-INVITE Server Transaction(非 INVITE 服务器事务):

 


[RFC3261][Page 139][Figure8]: non-INVITE server transaction

角色:非 INVITE 服务器事务用于接收和响应非 INVITE 类型的 SIP 请求。

功能:接收非 INVITE请求、发送初始响应,并等待可能的重试或最终响应。

生命周期:非 INVITE 服务器事务的生命周期在响应请求之前完成。这些事务通常用于处理非 INVITE 请求,如注册响应和事件通知。

文章来自个人专栏
音视频后端技术
4 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
1
1