以下讲述的名词对SIP有着额外的意义:
Address-of-Record: 记录地址。一个address-of-record(AOR)是一个SIP或者SIPS URI它指向了一个具有定位服务的主机,这个主机可以把URI映射成为用户真正物理位置的URI。通常情况下,定位服务器是通过登记服务来建立的。一个AOR经常被认为是一个用户的”公共地址”
Back-to-Back UserAgent:背对背的用户代理(B2BUA)是一个逻辑实体,它就像用户
代理服务器(UAS)一样接收和处理请求。为了决定该如何应答一个请求,B2BUA就像UAC一样工作,并且发出请求。但是它不像
代理服务器(proxy),它维持对话状态,并且参与已经建立的对话中的每一个请求。由于它是直接的UAC和UAS的串连,所以,不需要对他有额外的定义。
Call:呼叫,一个呼叫是一个非正式的术语,它是指在端点之间一个一些通讯行为,通常用于建立多媒体对话。
Call Leg: 对话的别名;在本规范中没有使用。
Call Stateful: 如果一个
代理服务器(proxy)保存一个对话的状态(从最开始的INVITE到对话终结的BYE),那么这个
代理服务器就是请求有状态的。一个请求有状态(call stateful)的
代理服务器也一定是事务有状态的,但是事务有状态的不一定是请求有状态的。
Client:客户端。一个客户端是一个任意的网络元素,它发出SIP请求和接收SIP应答。客户端可能会也可能不会和人交互。用户代理客户端(UAC)和
代理服务器都是客户端。
Conference: 一个包含多个参与方的多媒体会话(见后)。
Core:核心。核心定义了SIP实体的特定类别。比如定义了一个有状态和无状态的
代理服务器,一个用户代理或者注册服务器(registrar)。所有的核心,除了无状态
代理服务器,都是事务用户。
Dialog:对话,一个对话是持续一段时间的两个UA之间的端到端的SIP关系。一个对话由SIP消息建立,就像用2xx响应INVITE请求。我们用Call identifier,local tag(本地tag),remote tag(对方tag)来标志一个对话,一个对话在RFC 2543中被正式叫做CALL LEG.
Downstream: 它是事务中的消息传递方向。它特指从UAC到UAS的请求流的方向,
Final Response:终结响应。一个响应终端SIP事务的应答,和事务中间的临时响应相反。所有的2xx,3xx,4xx,5xx,6xx响应都是终结响应。
Header:头。头域是在SIP消息头部用来描述这个SIP消息信息的部分。它由一堆头域字段组成。
Header Field:头域字段。头域字段是在SIP消息头域的字段。一个头域字段可以由多个头域字段行组成。一个头域字段由一个头域名和(零个或多个)头域值组成。多个头域值用’,’分割。某些头域字段只能有单个值,比如结果域(result)就只能有一个值。
Header Field Value:头域值。一个头域值是一个单个的值,一个头域字段可以有0个或者多个头域值。
Home Domain:宿主机。一个提供SIP服务的主机。一般指的是在登记服务中指明的记录地址中的URI的主机。
Informational Response:提示应答。和临时应答一样。
Initiator, Calling Party, Caller: 用INVITE初始一个会话(和对话)的那方。一个caller从发出INVITE请求建立对话开始,到对话终止都一直是这个角色。
Invitation: 一个INVITE请求。
Invitee,Invited User,Called Party, Callee:被叫方。收到INVITE请求并且建立会话的那方。一个被叫方从收到INVITE请求起,到终止INVITE建立的对话结束,都称作被叫方。
Location Service: 定位服务。定位服务是用来给SIP转发或者
代理服务器确定被叫方可能的位置使用的。它包含一张绑定了address-of-record的表,被叫方可能有0到多个记录。绑定的记录可以通过多种渠道添加和删除;本规范定义了REGISTER方法来更新绑定表。
Loop:环路。当请求抵达一个
代理服务器,
代理服务器转发这个请求,当这个请求再次来到同一个
代理服务器,就称之为环路。当第二次抵达的时候,Request-URI中包含了上次抵达的资料,并且由于并没有什么东西可以改变转发的策略,这样就导致这个请求还会再次被转发回来。环路请求是错误的,所以,处理程序需要检测和防止协议中出现的环路请求。
Loose Routing:丢失路由。
代理服务器在下述情况下会丢失路由。
A proxy is said to be loose routing if it follows the procedures defined in this specification for processing of the Route header field. These procedures separate the destination of the request (present in the Request-URI) from the set of proxies that need to be visited along the way (present in the Route header field). A proxy compliant to these mechanisms is also known as a loose router.
Message:消息。SIP元素之间传送的协议数据就是消息。SIP消息既可以是请求也可以是应答。
Method:方法。方法是在服务器请求处理的主要功能。方法是请求消息自身携带的。典型的方法就是INVITE和BYE。
Outbound Proxy:对外
代理服务器。一个
代理服务器接收到客户的请求,即使它不是由Request_URI所决定的服务器。通常一个UA会手工配置一个对外的
代理服务器,或者可以通过一个自动配置的协议自动配置一个。
Parallel Search: 并行搜索。并行搜索情况下,
代理服务器会向多个用户可能存在的地方发起请求,并且等待应答。同串行搜索不同的地方是,并行搜索不会等待上一个请求应答回来之后再发起下一个搜索,而是一个接一个的发起搜索请求。
Provisional Response: 临时应答。服务器用来标志自己正在处理的应答,但是本应答并不结束一个SIP事务。1xx应答就是临时的,其他应答标志着事务的结束。
Proxy,Proxy Server:代理、
代理服务器。一个中间的实体。它本身即作为客户端也作为服务端,为其他客户端提供请求的转发服务。一个
代理服务器首先提供的是路由服务,也就是说保证请求被发到更加”靠近”目标用户的地方。
代理服务器对某些强制政策有用(比如,确认一个用户是否允许建立一个呼叫等)。一个
代理服务器翻译,并且,如果有需要的话,再转发前会重写请求消息。
Recursion:回路、递归。一个客户端,在响应请求的时候产生新的到Contract包头域的URI请求的时候,会在3xx响应中陷入递归。A client recurses on a 3xx response when it generates a new request to one or more of the URIs in the Contact header field in the response.
Redirect Server:重定向服务器。一个重定向服务器是一个产生3xx应答的UAS服务器,指示客户端连接别的URI。
Registrar: 登记员。一个登记员(登记服务器)是一个接收REGISTER请求得服务器。他把请求得信息放到定位服务器中,这样可以让定位服务器很方便得查找位置信息。
Regular Transaction:常规事务。凡不包含INVITE,ACK,或者CANCEL方法得事务就是常规事务。
Request: 请求。 一个由客户端发到服务端得SIP信息,用于执行特定得功能。
Response:应答。一个由服务端发到客户端得SIP信息。用来标志从客户端发往服务端得请求处理得情况得。
Ringback: 回铃音。回铃音是一个信号音。是给呼叫方得一个信号表示被叫方正在振铃(Ringing)。
Route Set: 路由集。路由集合是一个顺序得SIP或者SIPS URI。这些URI描述了传递一个请求所必须经历得代理列表。一个路由集可以是自适应得,因为包头中包含了Record-Route(记录路由),也可以是依赖配置得到得。
Server:服务器。一个server是一个网络元素接收请求并且处理请求并且发送回应给请求方。典型得服务器就是
代理服务器(proxies),用户
代理服务器(user agent servers),重定向服务器,登记服务器。
Sequential Search:顺序查找。在顺序查找中,
代理服务器顺序尝试联系地址,在处理下一个之前必须等待上一个请求已经有一个结束应答。一个2xx或者6xx系列得最终应答总是结束一个顺序查找。
Session:会话。根据SDP得描述:”一个多媒体会话是一个由多媒体发送方和接受方组成得集合,并且包括在发送方和接受方之间得数据流。一个多媒体会议是一个典型得多媒体会话。”(RFC 2327[1])(一个session在SDP订一下可以是一个或者多个RTP sessino)。在定义中,一个被叫方可以被多次邀请,被不同得呼叫方邀请,到同一个会话。在SDP中,一个会话可以被SDP用户名,session id,网络类型,地址类型,地址元素得一个集合串所规定。
SIP 事务:一个SIP事务是在客户端和服务端得事件,包括了从第一个由客户端发送到服务端得请求,到最后一个(非1xx)服务端向客户端发出得终结应答。如果请求是一个INVITE请求,并且终结应答是一个非2xx得应答,那么事务还包括一个ACK给服务器做应答。给INVITE请求的2xx应答的ACK回应,是一个独立的事务。
Spiral:回溯。一个回溯是指一个SIP请求,路由给一个proxy,并且转发,但是又被路由回这个proxy,但是不同于回路(递归)的是,这次路由回来的请求包的包头中,包含了不同于原请求的请求包部分,使得本次proxy决定的路由转发与上次不同。通常,这是说,请求的Request-URI不同于上次的Request_URI。一个回溯不是一个错误,不同于回路(环路loop)。通常导致这样的现象是呼叫转发(call forwarding)。
一个用户呼叫joe@example.com。example.com
代理服务器转发请求到Joe的PC,并且Joe的pc呼叫转移到
bob@example.com。这个请求被转发回example.com
代理服务器。可是这个并不是一个环路(loop)。因为请求的目的地址变成了另一个用户,这就是回溯,是一个合法的情况。
Stateful Proxy:有状态的
代理服务器。在逻辑上,有状态的
代理服务器就是处理一个请求的过程中,维持的一个本规范所定义的客户端和服务端的事务状态机。也是一个事务又状态
代理服务器(transaction stateful proxy)。具体的stateful proxy在第16节定义。一个(事务)有状态
代理服务器和一个call stateful proxy不是一回事。
Stateless Proxy:无状态的
代理服务器。在逻辑上,无状态
代理服务器在处理请求中,并不维持客户和服务端的事务状态机。一个无状态的
代理服务器直接转发每一个接收到的请求和每一个接收到的响应。
Strict Routing:严格路由。路由处理规则如果复核RFC2543协议(and many prior work in progress versions of this RFC) 就是一个严格路由。在这个规则下,如果在包头中包含Route域,那么
代理服务器就会删除Request_URI域内容。本文档并不要求一定要有严格路由,本文档只要求松散路由就可以了。支持严格路由的
代理服务器也叫严格路由器。
Target Refresh Request: 目标刷新请求。一个Target Refresh Request是一个在对话中发出的请求,用来更改对话目标的请求。
Transaction User(TU):事务用户。在transaction 层之上的协议层。TU包括了UAC 核心,UAS core,和proxy core。
Upstream:上行流。一个在事务中的消息流向方向。它是指由用户
代理服务器(UAS)发出应答到用户代理客户端(UAC)的消息流向方向。
URL-encoded:一串根据RFC2396-2.4节编码的字符。
User Agent Client(UAC):用户代理客户端。用户代理客户端是一个逻辑的概念,他创建一个新请求,并且用客户事务状态机发送这个请求。UAC角色只在事务中存在。换句话说,UAC就是一小段代码初始化一个请求,并且在事务中遵循UAC的规则。如果它接下来收到一个请求,那么在那个事务中,它就是作为UAS来处理请求。
UAC Core:UAC核心。在transaction和transport层之上得UAC实现的功能集合。
User Agent Server(UAS): 用户
代理服务器.UAS是一个逻辑的实体,对SIP请求做响应的。应答接受、拒绝、或者转发对应的请求。UAS角色在事务中存在。换句话说,是响应请求的一小段软件,在事务中作为UAS存在。如果他发出请求,那么他就在事务中作为UAC存在。
UAS Core:UAS核心。在transaction和transport层智商的UAS实现的功能集合。
User Agent(UA)。一个逻辑实体的概念,包含UAC和UAS。
UAC和UAS,就像
代理服务器和转发服务器,是在事务by事务的原理(串行事务处理)上定义的。例如,当发出一个初始化INVITE请求的时候,UA作为UAC初始化一个呼叫动作,当从被叫方接收到一个BYE请求的时候,UA作为UAS响应。类似的,同样的代码可以对一个请求做为proxy服务器处理,对另一个请求作为重定向服务器。
相关推荐
**SIP协议解析与实现(c/c++)** SIP(Session Initiation Protocol)协议是一种用于创建、修改和终止多媒体通信会话的信令协议,广泛应用于VoIP、视频会议和即时消息等领域。根据RFC3261,SIP设计为简单、可扩展且...
根据标题“SIP协议解析与实现”和描述,我们将深入探讨SIP协议的基本概念、核心原理以及如何在C和C++中进行实现,同时还会涉及到osip库的使用。 SIP协议基于Internet Protocol (IP),它允许用户通过发送请求消息来...
基于C语言开发的通用HTTP、RTSP、SIP协议栈解析库(源码)(Windows,Unix,Android均可兼容),非常优质的资源! 基于C语言开发的通用HTTP、RTSP、SIP协议栈解析库(源码)(Windows,Unix,Android均可兼容),...
### TD-LTE_VoLTE-SIP完整信令解析 #### VoLTE-SIP呼叫流程解析 在TD-LTE网络中,VoLTE技术通过SIP协议实现语音业务,为用户提供高质量的语音服务。本节将详细解析主叫与被叫之间通过SIP协议进行呼叫的完整信令...
2. **消息解析与构建**:在C++中,需要实现对SIP消息的解析,将接收到的原始文本数据转换为内部结构,并能根据需求构建新的SIP消息。这通常涉及字符串处理和正则表达式,确保能够正确解析和验证消息格式。 3. **...
它提供了处理SIP消息、创建和解析SDP、连接到SIP服务器等功能。使用PHP-SIP可以创建Web应用程序,使用户通过网页进行VoIP通话。 ### 示例 在实际项目中,可能需要编写代码来创建一个简单的SIP客户端。首先,需要...
1. **源代码**:通常会有若干个Java类,如`SipClient`用于建立和维护与服务器的连接,`SipMessage`用于解析和构建SIP2消息,`SipConstants`定义了协议中的常量和枚举类型等。 2. **测试类**:为了确保接口正确无误...
在C#编程环境下,理解并解析SIP协议的代码是开发VoIP应用的关键步骤。以下是对SIP协议及其在C#中实现的详细解释。 1. SIP协议基础 - SIP协议主要由请求消息和响应消息组成,用于建立、修改和终止多媒体会话。 - ...
**华为SIP协议详解** SIP(Session Initiation Protocol)是一种用于控制多媒体通信会话(如语音、视频通话)的信令协议。华为在通信领域广泛使用SIP协议,为网络设备提供高效的通信能力。本篇文章将深入探讨华为...
对SIP协议做了详细的分析(中文),包括请求、响应消息的报头格式。
SIP(Session Initiation Protocol,会话初始协议)是一种应用层控制协议,主要设计用于创建、修改和终止多媒体通信会话,如Internet电话。SIP不仅适用于语音通信,还可以涵盖视频、文本等多种媒体形式的交互。它是...
5. **处理SIP事件**:解析接收到的SIP消息,根据消息类型执行相应的操作,如处理注册成功、邀请响应等。 6. **媒体协商**:SIP呼叫过程中,双方需协商编码、带宽等媒体参数,通常涉及SDP(Session Description ...
### 转换思科SCCP话机为SIP话机 #### 引言 Cisco 7940/7960 IP电话能够支持Skinny Call Control Protocol (SCCP)来与Cisco Call Manager协同工作,或者支持Session Initiation Protocol (SIP)(参考RFC 2543),...
osip库提供了构建和解析SIP消息的API,使得开发者可以轻松地集成SIP功能到自己的应用程序中。 为了实现SIP通信,开发者需要理解SIP协议的各个组件和流程,包括消息构造、错误处理、路由、会话管理和认证。同时,SIP...
以下是SIP信令在VoLTE呼叫中的完整解析流程: 1. 主叫用户A发起呼叫。用户A通过VoLTE功能,向AS(应用服务器)服务器发起一个INVITE请求。INVITE请求是一个SIP消息,用于邀请接收方参与一个会话。 2. AS服务器处理...
SIP(Session Initiation Protocol)协议是一种用于控制多媒体通信会话的应用层协议,如互联网电话。SIP协议的中文版提供了详细的解释,便于中文读者理解。SIP的主要目的是在Internet上的用户代理之间建立、修改和...
### 详细解析关键类和方法 #### 1. **SIP消息** - **Request**: 代表SIP请求消息。 - **Response**: 代表SIP响应消息。 - **MessageFactory**: 提供创建SIP消息的方法。 #### 2. **SIP头部** - **CSeq**: 包含...
《H248协议详解与SIP在VOIP SoftSwitch中的应用》 H248协议,全称为“媒体网关控制协议”(Media Gateway Control Protocol),是电信网络与IP网络融合过程中的关键协议之一。它主要用于控制媒体网关,即连接传统...