UAC/UAS & sip domain设置

来源:互联网 发布:淘宝联盟淘宝身份认证 编辑:程序博客网 时间:2024/06/05 06:31

SIP domain可以设置为本机域名或者IP。如果是域名一般还要有个代理服务器

SIP代理服务器分两种:
1)无状态代理服务器:简单的转发功能,通过请求信息来选择转发的目的和路由。消息一旦转发立即丢弃。
2)有状态代理服务器:记录到来的请求和发送的请求的信息(特别是事务状态),并以此来控制以后的消息处理。还具有消息的分支(fork)功能。

1 有状态代理服务器
有状态代理服务器是一个纯粹的事务处理引擎。
如图1,有状态代理服务器包含一个服务器端事务及与其相关的一个或多个客户端事务,联系两者的是更高一层的代理处理模块:代理内核。
当一个请求到来之时,先建立一个服务器端事务来处理该请求,然后通过内核来决定请求的路由并选择一个或多个下一跳位置,所以再构建多个客户端事务把请求发送出去。
           +--------------------+
                             | +---+
                             | | C |
                             | | T |
                             | +---+
     +---+|      Proxy       | +---+   CT = ClientTransaction
     | S | |  "Higher"Layer    | | C|
     | T ||                   | | T |   ST = ServerTransaction
     +---+|                   | +---+
                             | +---+
                             | | C |
                             | | T |
                             | +---+
           +--------------------+

              Figure 1: Stateful Proxy Model
当一个请求到来之时,proxy处理请求必须:
1、 验证请求
2、 预处理路由信息
3、 决定请求的目的(targets)
4、 转发请求到每一个目的地
5、 处理所有的应答

2 验证请求
在proxy转发请求之前,它必须检查消息的合法性。一个合法的消息必须经过如下的检查:
1)、 合法的语法
2)、 URI scheme
3)、 最大转发次数
4)、 (可选)循环检测(loop detection)
5)、 proxy-require
6)、 proxy-authorization
(1)合法的语法
请求中的任何与检查相关的部分或者与请求转发节相关的部分都必须语法严格无误。在检查中,其他部分的严格与否,在检查中都被忽略,并且在转发消息过程中保持不变。
(3)最大转发次数
如果请求包含一个Max-Forwards头域,并且这个头域为0,那么这个proxy不能转发这个请求。但是,如果请求是OPTIONS请求,那么proxy可以作为最终响应者来响应这个请求。
(5)proxy-require 检查
本协议的以后的扩展可能会要求额外的proxy特性。所以终端会在请求中包含一个Proxy-Require头域来表明会使用到那些特性,这样proxy就可以根据Proxy-Require判定自己是否能够支持这些特性。
如果请求包含一个Proxy-Require头域(20.29)并且有一个或者多个本proxy不能理解的option-tags。那么这个proxy必须返回一个420(BadExtension)错误,并且这个错误应答必须包括一个Unsupported(20.40)头域列明了那些option-tags这个proxy不能支持。

3 预处理路由信息
proxy必须检查请求中的Request-URI部分。如果Request-URI包含了一个本proxy早先放在Record-Route头域中的值,proxy必须用Route头域中的最后一个值来替换Request-URI,并且从Route头域中删去这个值。proxy必须接着按照个修改后的请求进行处理。
如果Route头域的第一个值就是这个proxy,那么proxy必须从请求中把它移去。

3确定请求的目的
1)如果Request-URI的区域并非本proxy负责的区域,那么Request-URI必须放在目标集合中,并且作为唯一一个目标URI。
2)如果proxy是负责Request-URI所指明的区域的,proxy可以用任何机制来决定往哪里发送这个请求。proxy可以在请求转发的时候增加目的地。他可以在处理过程中,用任何可以获得的信息来决定新的目的地。例如,proxy可以选择把一个转发应答(3xx)所包含的联系地址合并到目的地集合中。

SIP代理服务器分两种:
1)无状态代理服务器:简单的转发功能,通过请求信息来选择转发的目的和路由。消息一旦转发立即丢弃。
2)有状态代理服务器:记录到来的请求和发送的请求的信息(特别是事务状态),并以此来控制以后的消息处理。还具有消息的分支(fork)功能。

1 有状态代理服务器
有状态代理服务器是一个纯粹的事务处理引擎。
如图1,有状态代理服务器包含一个服务器端事务及与其相关的一个或多个客户端事务,联系两者的是更高一层的代理处理模块:代理内核。
当一个请求到来之时,先建立一个服务器端事务来处理该请求,然后通过内核来决定请求的路由并选择一个或多个下一跳位置,所以再构建多个客户端事务把请求发送出去。
            +--------------------+
            |                    | +---+
            |                    | | C |
            |                    | | T |
            |                    | +---+
      +---+ |       Proxy        | +---+   CT = Client Transaction
      | S | |  "Higher" Layer    | | C |
      | T | |                    | | T |   ST = Server Transaction
      +---+ |                    | +---+
            |                    | +---+
            |                    | | C |
            |                    | | T |
            |                    | +---+
            +--------------------+

               Figure 1: Stateful Proxy Model
当一个请求到来之时,proxy处理请求必须:
1、 验证请求
2、 预处理路由信息
3、 决定请求的目的(targets)
4、 转发请求到每一个目的地
5、 处理所有的应答

2 验证请求
在proxy转发请求之前,它必须检查消息的合法性。一个合法的消息必须经过如下的检查:
1)、 合法的语法
2)、 URI scheme
3)、 最大转发次数
4)、 (可选)循环检测(loop detection)
5)、 proxy-require
6)、 proxy-authorization
(1)合法的语法
请求中的任何与检查相关的部分或者与请求转发节相关的部分都必须语法严格无误。在检查中,其他部分的严格与否,在检查中都被忽略,并且在转发消息过程中保持不变。
(3)最大转发次数
如果请求包含一个Max-Forwards头域,并且这个头域为0,那么这个proxy不能转发这个请求。但是,如果请求是OPTIONS请求,那么proxy可以作为最终响应者来响应这个请求。
(5)proxy-require 检查
本协议的以后的扩展可能会要求额外的proxy特性。所以终端会在请求中包含一个Proxy-Require头域来表明会使用到那些特性,这样proxy就可以根据Proxy-Require判定自己是否能够支持这些特性。
如果请求包含一个Proxy-Require头域(20.29)并且有一个或者多个本proxy不能理解的option-tags。那么这个proxy必须返回一个420(Bad Extension)错误,并且这个错误应答必须包括一个Unsupported(20.40)头域列明了那些option-tags这个proxy不能支持。

3 预处理路由信息
proxy必须检查请求中的Request-URI部分。如果Request-URI包含了一个本proxy早先放在Record-Route头域中的值,proxy必须用Route头域中的最后一个值来替换Request-URI,并且从Route头域中删去这个值。proxy必须接着按照个修改后的请求进行处理。
如果Route头域的第一个值就是这个proxy,那么proxy必须从请求中把它移去。

3 确定请求的目的
1)如果Request-URI的区域并非本proxy负责的区域,那么Request-URI必须放在目标集合中,并且作为唯一一个目标URI。
2)如果proxy是负责Request-URI所指明的区域的,proxy可以用任何机制来决定往哪里发送这个请求。proxy可以在请求转发的时候增加目的地。他可以在处理过程中,用任何可以获得的信息来决定新的目的地。 例如,proxy可以选择把一个转发应答(3xx)所包含的联系地址合并到目的地集合中。



4 请求转发

对于上一步确定的每一个目的地,proxy转发请求都遵循下列步骤:
1)、 拷贝一个接收到的请求
2)、 更新Request-URI
3)、 更新Max-Forwards头域
4)、 可选增加一个Record-Route头域
5)、 可选增加附加的头域
6)、 路由信息后处理
7)、 决定下一个节点地址、端口、通讯协议。
8)、 增加一个Via头域值
9)、 如果需要,增加一个Content-Length头域
10)、 转发这个新的请求
11)、 设置定时器C
(2) 更新Request-URI
在拷贝好的请求中的Request-URI必须用目的地的URI进行替换。
(3) Max-Forwards
如果拷贝的头域包含一个Max-Forwards,proxy必须把这个域值减一。
如果拷贝的头域没有包含一个Max-Forwards头域,proxy必须自己增加一个头域,缺省值是70。现在有一些UA不会在请求中填写Max-Forwards头域。
(4)Record-Route
在建立一个对话的请求时,如果希望保留这个请求创建的对话中,后续的请求依旧是要经过本proxy,那么本proxy必须增加一个Record-Route头域值在这个拷贝中,并且增加的这个头域值应当是在其他现存的Record-Route头域之前。
而在对话建立之后的请求中,即使不再增加Record-Route,对话之中的请求还是会经过该代理服务器,除非终端UA重建一个对话。
在Record-Route头域中防止的URI必须是SIP或者SIPS URI。这个URI必须包含一个lr参数。
当proxy需要查看所有对话中的消息的时候,我们就需要Record-routeing,即一般在建立对话的请求INVITE中包含Record-Route头域。
(6)处理路由信息
如果请求的拷贝中包含了Route头域,这个proxy必须检查这个Route头域的第一个值。如果这个URI并没有包含lr参数,那么proxy必须根据下列步骤修改这个请求:
- proxy必须把Request-URI放在Route头域中的最后一个值。
- proxy必须把第一个Route头域的值放在Request-URI中,并且从Route头域中删去。
(7)确定下一个节点的地址,端口和通讯协议。
proxy可以有自己的策略来决定发送请求到特定的IP地址,端口和transport,可以和Route的值或者Request-URI的值无关。
proxy还可以应用RFC 3263的步骤来决定应当向哪里发送这个请求。
(8)增加一个Via头域值 。
proxy必须在请求的拷贝中增加一个Via头域值,并且在其他Via头域值之前增加。proxy需要计算自己的分支参数,并且应当是全局唯一的分支,并且包含必要的magic cookie。
在proxy构造分支参数的值上,有一个附加的约束,用来进行循环的检测。一个要检测循环的proxy应当创建一个由两部分组成的分支参数。第二部分是用来做循环检测的,并且是从螺旋中判定是否存在循环。
(8)设置定时器C。
为了能够处理INVITE请求没有产生终结应答的情况,TU使用一个定时器。

5 应答的处理
当proxy收到一个应答的时候,它首先尝试定位一个与这个应答匹配的客户端事务。如果没有匹配,proxy必须作为无状态的proxy来处理这个应答(即使这个应答是信息性质的应答)。如果与应答匹配的客户端事务找到了,那么这个应答将转给这个客户端事务进行处理。
当客户端事务把应答交给proxy层,将会执行下列步骤:
1)、 寻找适当的应答上下文。
2)、 用临时应答来更新定时器C
3)、 从最上边移除Via
4)、 在应答上下文中增加应答
5)、 检查这个应答是否需要立刻发送
6)、 如果需要,从应答上下文中选择最好的终结应答。
7)、 需要合并认证头域值。
8)、 可选的重写Record-Route头域值
9)、 转发应答
10)、 产生合适的CANCEL请求。

(3)从最上边移除Via
如果在这个应答中没有这个Via头域值,那么应答的含义就是说这个应答不应当被这个proxy转发。
(4)在应答上下文中增加应答
收到的终结应答都会保存在应答的上下文中,直到收到一个由服务端事务产生的针对这个上下文的终结应答为止。这个应答是从那个服务端事务中收到最佳终结应答的一个候选。即使这个应答不会被选中作为最佳应答,这个应答的信息也需要用来构造成为最佳应答。
(5)检查这个应答是否需要立刻发送
当终结应答到达服务端事务的时候,下列应答包必须立刻转发。
- 任何非100(trying)的临时应答
- 任何2xx应答。
如果收到一个6xx应答,那么就不立刻进行转发,如果是有状态的proxy,那么还需要cancel所有的依赖于这个事务的客户端(在10节中描述的那样),并且不能在上下文中创建新的分支。
在服务端事务上发送了终结应答之后,下列的应答应当立刻被发送:
- 任何给INVITE请求的2xx应答。
一个有状态的proxy必须不能立刻转发其他的应答。特别是,一个有状态的poxy必须不能转发任何100(Trying)应答。这些应答是作为后续将被转发”最佳”应答的候选,通过上边的”在上下文中增加应答”的步骤增加到应答上下文中。
(6)选择最佳的应答 (略)
(8)Record-Route
如果最终发送的应答中包含Record-Route头域值,并且是这个proxy所原创提供的值,那么在发送这个应答前,proxy可能需要重写这个值。
(9)转发应答
当”合并认证头域”和”Record-Route”步骤完成以后,proxy可以对这个应答做其他的附加处理。但是这个proxy不能增加、修改、删除消息体。并且除非另有指示,除了Via头域值之外,proxy不能删除任何头域值。
proxy必须把应答传递到跟这个应答上下文相关的服务端事务。这会导致应答发送到最上的Via头域值的地方。

6 Proxy Route处理的总结
在没有本地策略的情况下,proxy对于包含Route头域的请求处理可以归结于如下的步骤:
1、 proxy会检查Request-URI。如果它指向的是本proxy所负责的区域,那么proxy会用位置服务的结果来替换这个URI。否则,proxy不改变这个URI。
2、 proxy会检查Route头域的最上URI。如果这个URI指向这个proxy,这个proxy从Route头域中移除(这个路由节点已经到达)。
3、 proxy会转发请求到最上的Route头域值所标志的URI,或者Request-URI(如果没有Route头域)。proxy通过RFC 3263的步骤来产生地址,端口,通讯协议等等用来转发请求所必须的参数。

如果在请求的路径中,没有严格路由节点,Request-URI会始终标志着请求的目的地。

7 无状态的Proxy
当作为无状态的时候,proxy就是一个简单的消息转发者。很多无状态的处理步骤和有状态的时候很类似。不同的地方在下边描述。
一个无状态的proxy并没有事务的概念,或者用于描述有状态proxy行为的应答上下文。相反的是,无状态的proxy处理消息,无论是请求还是应答,都是直接从通讯层处理的。当然,无状态proxy自己也不重发这些消息。他们只是转发他们收到的任何重发的消息(他们本身并没有能力来分辩那些消息是重发的,那些消息是原始消息)。进一步说,当无状态的处理一个请求的时候,这个节点并不产生它自己的100(Trying)或者其他临时应答。


SIP协议是会话启动协议。那么对于这个协议的一些基础内容,以及相关的SIP代理服务器的知识,我们在下面做了具体的讲解。那么就让我们一起来详细了解一下这些内容吧。希望对大家能够有所帮助。

结构图

SIP:The Session Initiation Protocol(会话启动协议)

SIP协议是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以好似Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。

SIP是类似于HTTP的基于文本的协议。SIP可以减少应用特别是高级应用的开发时间。由于基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的深远意义。

使用SIP,服务提供商可以随意选择标准组件。不论媒体内容和参与方数量,用户都可以查找和联系对方。SIP对会话进行协商,以便所有参与方都能够就会话功能达成一致以及进行修改。它甚至可以添加、删除或转移用户。

SIP它既不是会话描述协议,也不提供会议控制功能。为了描述消息内容的负载情况和特点,SIP使用Internet的会话描述协议(SDP)来描述终端设备的特点。SIP自身也不提供服务质量(QoS),它与负责语音质量的资源保留设置协议(RSVP)互操作。它还与若干个其他协议进行协作,包括负责定位的轻型目录访问协议(LDAP)、负责身份验证的远程身份验证拨入用户服务(RADIUS)以及负责实时传输的RTP等多个协议。

SIP的一个重要特点是它不定义要建立的会话的类型,而只定义应该如何管理会话。有了这种灵活性,也就意味着SIP可以用于众多应用和服务中,包括交互式游戏、音乐和视频点播以及语音、视频和Web会议。SIP消息是基于文本的,因而易于读取和调试。新服务的编程更加简单,对于设计人员而言更加直观。SIP如同电子邮件客户机一样重用MIME类型描述,因此与会话相关的应用程序可以自动启动。SIP协议重用几个现有的比较成熟的Internet服务和协议,如DNS、RTP、RSVP等。不必再引入新服务对SIP基础设施提供支持,因为该基础设施很多部分已经到位或现成可用。

对SIP的扩充易于定义,可由服务提供商在新的应用中添加,不会损坏网络。网络中基于SIP的旧设备不会妨碍基于SIP的新服务。例如,如果旧SIP实施不支持新的SIP应用所用的方法/标头,则会将其忽略。

SIP独立于传输层。因此,底层传输可以是采用ATM的IP。SIP使用用户数据报协议(UDP)以及传输控制协议(TCP),将独立于底层基础设施的用户灵活地连接起来。SIP支持多设备功能调整和协商。如果服务或会话启动了视频和语音,则仍然可以将语音传输到不支持视频的设备,也可以使用其他设备功能,如单向视频流传输功能。

SIP会话使用多达四个主要组件:SIP用户代理、SIP注册服务器、SIP代理服务器和SIP重定向服务器。这些系统通过传输包括了SDP协议(用于定义消息的内容和特点)的消息来完成SIP会话。

SIP用户代理(UA)是终端用户设备,如用于创建和管理SIP会话的移动电话、多媒体手持设备、PC、PDA等。用户代理客户机发出消息。用户代理服务器对消息进行响应。

SIP注册服务器是包含域中所有用户代理的位置的数据库。在SIP协议通信中,这些服务器会检索参与方的IP地址和其他相关信息,并将其发送到SIP代理服务器

SIP代理服务器接受SIPUA的会话请求并查询SIP注册服务器,获取收件方UA的地址信息。然后,它将会话邀请信息直接转发给收件方UA(如果它位于同一域中)或代理服务器(如果UA位于另一域中)。

SIP重定向服务器允许SIP代理服务器将SIP会话邀请信息定向到外部域。SIP协议重定向服务器可以与SIP注册服务器和SIP代理服务器同在一个硬件上。


海康威视8800平台级联问题

海康威视8800平台级联问题下级分享给上级监控点和组织机构后,上级接收时,有一层组织机构无法接收。导致监控点最后在组织资源里显示不出来下级的监控点。请问这是怎么回事。步骤应该没错,级联服务器也重安装了,但是不管怎么级联都不显示下级监控点。求海康...展开
知名不惧942| 浏览 19 次
发布于55 分钟前最佳答案
请按下面方法进行级联一次:一、下级平台配置 : 1、组织机构的添加首先,下级平台添加组织机构时,编码必须按照GB/T28181-2011或DB33-2011标准。方法:在添加组织机构时,单击“组织机构名称”右方的按钮。在弹出的界面中选择省、市、区等组织,可根据实际情况,选择任意级别的组织。保存组织机构之后可对组织的名称进行修改。添加监控区域时,监控区域的编号自动生成即可,不可人为修改,否则可能导致目录无法推送。对所有需要级联的区域,均要启用流媒体转发,否则上级平台无法预览到下级的视频。2、设备与监控点的添加 添加设备时要注意编号,系统自动生成即可,不可修改。   同样的,监控点的编号也不要修改,否则可能会导致监控点无法推送到上级平台。3、互联模块服务器的添加 在服务器TAB页中,先在左侧组织机构树中选择本级平台所在组织,例如“XX市”,然后单击页面上方的按钮,开始添加一个互联模块服务器。 服务器类型:互联模块服务器编号:自动生成即可,可以根据需要修改,不可以和组织编码相同。 IP地址:安装“联网网关-信令服务器”与“联网网关-媒体服务器”的服务器地址。若存在多网域,则需要配置多网域IP地址。其他配置信息默认即可。最后单击保存即可。4、联网网关配置。(1) 信令网关配置 在对应的级联服务器所在组织下,点击“网关配置”即可以登录到级联网关的配置界面。联网网关也可以通过“http://IP地址:7088”的地址打开。登录后在左侧菜单栏中选择“网关配置”—“信令网关”。  基本信息: 域标识:填写级联服务器的编号(请复制CMS中级联服务器的编码),且必须与上级平台中添加的下级域的信令网关编号一致。 IP地址:即安装“联网网关-信令服务器”的IP地址。 Sip端口、客户端端口、心跳时间、超时时间、MQPort默认即可。注意:Sip端口是GB28181平台之间通信的外部端口。 CMSIp:即本级平台CMS服务器的IP地址。 CMSPort:即本级平台CMS服务器的访问端口。 MQIp:即本级平台MQ服务器的IP地址(与本级平台CMS服务器IP一致)。高级选项: 控制端口、网管端口默认即可。 转发IP地址:“联网网关-媒体服务器”的IP地址,一般情况下与“联网网关-信令服务器”的IP地址一致。配置完成后单击保存。保存成功后,网关会自动重启。“备份数据库”与“清空数据库”的操作对象是联网网关的数据库,而非平台的数据库。 (2) 媒体网关配置登录联网网关配置界面后在左侧菜单栏中选择“网关配置”—“媒体网关”。  单击界面上方的按钮,弹出媒体网关配置界面。[媒体名称:可自定义  媒体IP地址:安装“联网网关-媒体服务器”的IP地址  媒体端口:7010  最大连接数:默认300],此参数根据测试得出的单台服务器最大能力,可以服务器建议配置为标准,降低此参数。  勾选配置详细信息可以对媒体网关的媒体信息进行详细的配置。  最后单击完成添加。   添加完成后在媒体网关的配置界面下会产生一条新的记录,“IP映射状态”中可以对网域信息进行配置,单网域情况下无需配置,系统会自动识别。但在多网域时必须正确的配置此参数,具体请参考下一章节的网络(多网域)设置。(3)网络设置 网络设置相当于iVMS-8800管理平台中参数配置中的网域的概念,当NCG存在多个网络环境时需要启用该功能,具体配置方法如下:登录联网网关配置界面后在左侧菜单栏中选择“网关配置”—“网络设置”。单击网络设置界面的左上方的“添加”按钮,弹出对应的网络设置界面。  信令网关对外地址:信令网络映射后IP地址媒体网关对内地址:媒体网关对内级联的IP地址媒体网关对外地址:媒体网关映射后对外的IP地址   点击“保存”后完成当前网域的网络设置,若需要再次增加网域时,则再次执行添加操作即可。完成网络配置还需要在网络设置界面中勾选“是否启用映射”选项,勾选后当前配置的多网域功能方可实现。    单击勾选菜单后弹出提示信息,确定后完成网络设置功能。    完成网络设置后,返回到媒体网关配置界面,点击媒体网关的名称,配置详细信息打钩,然后启用IP映射。  点击上图中之前配置的媒体网关信息中的“IP映射状态”下方对应的“启用”。弹出“设置IP映射”配置界面。点击上方的添加弹出对应信息配置界面  IP映射状态配置仅需在相对应的上级平台中配置下级平台的信息,下级平台无需配置。  下级域编码:下级域NCG编码 映射IP地址:上级NCG对下级平台的用于级联的IP。 点击“保存”完成配置。  5、联网配置 登录联网网关配置界面后在左侧菜单栏中选择“联网配置”—“上级域”。单击界面上方的按钮,添加一个上级域。信令网关名称:可自定义 信令网关编号:填写上级信令网关的域标识(需由上级提供)IP地址:上级级联网关的IP地址端口:上级级联网关的端口(默认为7100)级联协议:选择GB/T28181-2011或DB33-2011。是否开启鉴权:根据上级平台情况,若上级平台要求鉴权则勾选此选项,否则不用勾选。鉴权realm、鉴权登录名、鉴权密码:根据上级平台提供填写。上级NCG允许下级NCG接入的鉴权信息,必须与下级NCG请求接入上级NCG的鉴权信息一致。平台厂家类型:可根据实际填写。配置完成后会将级联信息同步到平台,可在系统配置—级联配置中查看到级联信息。6、资源管理 登录联网网关配置界面后在左侧菜单栏中选择“资源管理”—“资源共享”。  选择上级域,然后单击“共享资源”。  可在组织资源树上右键单击,在弹出的快捷菜单中选择“一键共享(全部)”,一次将所有的资源共享到上级平台,只有将资源共享后才能将目录推送到上级平台。也可以在资源树中逐级共享,即根据组织资源依次单击展开并勾选左侧组织资源后,单击后将资源共享。注意:共享资源时请逐级共享资源,不支持未共享父节点的情况下,直接共享子节点。   勾选右侧已共享的组织或者监控点,单击,即可取消资源共享。   下级资源共享到上级之后,在上级平台同样需要将资源共享到本级平台,否则在上级CMS无法看到下级共享上来的资源。在组织机构树中选择监控区域,右侧列出已共享的监控点,可针对这些监控点单个或者多个同时配置权限,权限类型包含实时预览、云台控制、录像查询与录像回放。勾选或者对应权限后单击后保存即可。二、上级平台配置 1、 联网配置登录联网网关配置界面后在左侧菜单栏中选择“联网配置”—“下级域”。单击界面上方的按钮,添加一个下级域。   信令网关名称:可自定义 信令网关编号:填写下级信令网关的域标识 IP地址:下级级联网关的IP地址端口:下级级联网关的端口(默认为7100)级联协议:选择GB/T28181-2011或DB33-2011。是否开启鉴权:根据项目实际情况,选择是否需要启用,若上级平台启用鉴权,则下级平台也要启用鉴权。鉴权realm、鉴权登录名、鉴权密码:根据需要填写即可。平台厂家类型:可根据实际填写。  配置完成后会将级联信息同步到平台,可在系统配置—级联配置中查看到级联信息。2、 资源管理 登录联网网关配置界面后在左侧菜单栏中选择“资源管理”—“资源共享”。  选择本级域,然后单击“共享资源”。可在组织资源树上右键单击,在弹出的快捷菜单中选择“一键共享(全部)”,一次将所有的资源共享到本级平台,只有将资源共享后推送的目录才能在本级平台中显示。  也可以在资源树中逐级共享,即根据组织资源依次单击展开组织资源树后,单击后将资源共享。也可以单击再取消共享。注意: NCG往CMS共享资源时需要逐级共享,不支持未共享父节点的情况下,直接共享子节点。3、 组织机构的配置 目录推送成功之后,在组织资源中能够看到下级推送上来的资源。下级推送的资源在组织机构树中图标与本级资源的图标不同。为级联组织;为级联区域;为级联监控点。级联推送的区域默认没有启用流媒体转发,需要将启用流媒体转发勾选。  其余级联监控点的预览、回放等功能与普通监控点一致。

两个用户分注册在不同SIP服务器上,如何互相拨打

这个需要服务器有级联的功能,如果没有那么根本没有办法通的


SIP协议采用Client/Server模型。每一个请求(Request)触发服务器的一个操作;每个操作被称为方法(Method);每个请求除了指明具体方法外,还携带了一系列的头域(Header field),这些头域携带了各种业务信息;除了头域外,消息中还可以携带任意类型的消息体(Body),呼叫中最常使用的SDP信息就是通过消息体在Client和Server之间传递的。Server从接收到请求到处理完毕,要回复多个临时响应(Response),和一个终结响应(Response),终结响应有且只有一个。

请求和他的所有响应构成一个事务(Transaction),一个完整的呼叫过程包含多个事务,比如呼叫建立和呼叫释放就是
两个相互独立的事务。
用户代理(User Agent)是发起或者接收呼叫的逻辑实体。
用户代理客户端-UAC(User Agent Client),用于发起请求;
用户代理服务器-UAS(User Agent Server),用于接收请求。UAC/UAS的划分是针对一个事务的。在一个呼叫中的多个事务里,UAC和UAS的角色是可以互换的。例如在A和B的呼叫中,A向B发起呼叫,在呼叫建立的事务中,A是UAC,B是UAS;呼叫结束时,B先挂机,在呼叫释放的事务中,B是UAC,A是UAS。换句话说,每个一般的UA都是UAS和UAC的结合体。
UA的实际物理形态有:IP Phone,SoftPhone,GateWay......
Proxy Server作为一个网络逻辑实体代理客户端转发请求或者响应;同Proxy Server类似的还有一种设备是B2BUA,
顾名思义,就是背背的两个UA组成的一个逻辑实体,它作为UAS终结一个事务,同时作为UAC发起另外一个事务。Proxy Server同B2BUA相比,Proxy Server是一个事务传递过程中的中间节点,而B2BUA将一个事务转变成另一个事务。
在SIP组网中还包括Location Server、Registrar、Redirect Server,分别负责维护地址映射表,注册管理,呼叫重定向。他们和Proxy Server 可以在同一台设备上也可以运行于不同的设备上。SIP Server是Proxy Server、Location Server、Registrar、Redirect Server的总称。
SIP Server采用B2BUA模型。接受请求端为UAS端,代理转发或主动发起请求端为UAC端,整个SIPServr为UAC/UAS的组合体。通过UAC/UAS之间消息交互完成会话的建立、改变、结束的阶段。SIP Server协助网关交换媒体信息,

但不参与会话建立后媒体流传输。


用户代理(User Agent)是发起或者接收呼叫的逻辑实体。
用户代理客户端-UAC(User Agent Client),用于发起请求;
用户代理服务器-UAS(User Agent Server),用于接收请求。
UAC/UAS的划分是针对一个事务的。在一个呼叫中的多个事务里,UACUAS的角色是可以互换的。例如在A和B的呼叫中,A向B发起呼叫,在呼叫建立的事务中,A是UAC,B是UAS;呼叫结束时,B先挂机,在呼叫释放的事务中,B是UAC,A是UAS。换句话说,每个一般的UA都是UASUAC的结合体。

183 Session Progress:在UE2收到invite的时候,将自己的支持能力发给UE1。The media stream capabilities of the destination are returned along the signalling path, in a 183 Session Progress provisional(临时的,暂时的) response.

PRACK:the Provisional Response ACKnowledgement, PRACK用来保证临时消息(101-199)的可靠传输. PRACK就是仿照200 OK的可靠性响应,对除100以外的1xx临时响应消息进行可靠性传输。PRACK一般是对收到183 call in progress/180 ringing的确认,
UACUAS对是否支持该扩展的协商是通过一个option tag – 100rel。为达到该目的,UAC有两种选择,在INVITE消息中加入Require:100rel或者Supported:100rel。UAS在接受到上述消息中,也存在选择的问题。
1、当INVITE中含有Supported:100rel,UAS在发送临时消息时,如果支持PRACK则临时消息中加入Require:100rel和Rseq字段,接到该消息UAC发送PRACK;否则不加上述参数,UAC不发PRACK。
2、当INVITE中含有Require:100rel而UAS不支持PRACK时,需要使用420(不正确的扩展)来拒绝呼叫。否则临时消息中加入Require:100rel和Rseq字段,接到该消息UAC发送PRACK。

例如:UAC发起的INVITE中含有Supported:100 rel,而UAS也支持该扩展并且在183响应中有Require:100rel,说明接下来的会话中,对所有100以外的1xx临时响应消息,均要有PRACK回应。


既然是国际上通用协议,那肯定就可以借助开源组织的力量了,要知道这是全球最大的软件组织,几乎所有的程序员都为之敬佩!开源组织给了推进计算机技术发展的很好良方。SIP协议实现完全可以用osip来作为基础协议栈(至少我看到绝大多数厂家是如此实现,海康、大华。。。。),使用开源没什么不好的,至少我们知道他们是稳定的,可靠的,会一直维护的。

           我采用的是libosip+libexosip+libxml来实现IPC和平台协议功能,前面两者负责sip协议的实现,libxml用来封装和解析实体信令。通过3~4年的市场应用感觉挺稳定的。

           流媒体方面:从编码中获取的h.264+g711的视音频帧,进行PS媒体协议封装(自己写的PS封装协议),再经过RTP传输协议(自己实现)发送至平台。

           平台对收到的RTP流媒体进行解RTP,解PS,再进行h.264+g711的解码。

  GB28181协议已经慢慢的进行了规范完善,现在大的趋势也已经是这样,虽然以前有很多的私有协议平台,但新建的平安城市等政府都需要能支持GB28181的互联互通,GB28181协议还有互联功能,这个功能比ONVIF好很多,因为可以进行大面积的组网,可以有上下级平台的区分,这一点是ONVIF不能做到的。

           ONVIF协议其实也有很多不足,如对事件的具体定义,如对视频分析的定义都是模糊的。用户开发自己的需要自己定义,而且没有对流媒体的方面的定义,因为媒体是通过RTSP协议进行的。

http://blog.csdn.net/zhangrui_fslib_org/article/details/50535266

流媒体 rtsp hls h264 高并发 低延时 系统 设计 录像 视频合成 转发 点播 快进 快退 单步播放 分布式集群 http://blog.csdn.net/zhangrui_fslib_org/article/details/50535266

具有注册登记、建立/终止会话连接、接收和播放视音频流等功能,主要包括用户界面、用户代理(UA)、媒体解码模块和媒体通信模块。用户代理应符合RFC3261的规定,用来建立/修改/终止会话连接,是进行会话控制的主要模块,媒体通信模块应能用来实现媒体传输和媒体回放控制。25、SIP设备SIPdevice具有注册、建立/终止会话连接和控制、采集/编解码以及传送视音频
平安福州_图文

具有注册登记、建立/终止会话连接、接收和播放视音频流等功能,主要包括用户界面、用户代理(UA)、媒体解码模块和媒体通信模块。用户代理应符合RFC 3261的规定,用来建立/修改/终止会话连接,是进行会话控制的主要模块,媒体通信模块应能用来实现媒体传输和媒体回放控制。

25、SIP设备 SIP device

具有注册、建立/终止会话连接和控制、采集/编解码以及传送视音频流等的功能实体,主要包括用户代理(UA)、媒体采集/编解码模块和媒体通信模块。用户代理应符合RFC 3261规定,用来建立/修改/终止会话连接,是进行会话控制的主要模块,媒体通信模块主要用来实现媒体传输和媒体回放控制。

注:联网系统中SIP设备的实现形式主要有支持SIP协议的网络摄像机、视频编/解码设备、数字硬盘录像机(DVR)和报警设备等。若SIP设备具有多路视音频编解码通道,每个通道宜成为一个SIP逻辑UA,具有唯一的SIP URI,并向SIP服务器注册。SIP设备本身也应具有唯一的SIP URI,并向SIP服务器进行注册。

26、中心信令控制服务器 center control server

具有向SIP客户端、SIP设备、媒体服务器和网关提供注册、路由选择以及逻辑控制功能,并且提供接口与应用服务器通信。组成中心信令控制的逻辑实体包括代理服务器、注册服务器、重定向服务器、背靠背用户代理等的一种或者几种,是负责核心SIP信令应用处理的SIP服务器。

27、媒体服务器 media server

提供实时媒体流的转发服务,提供媒体的存储、历史媒体信息的检索和点播服务。媒体服务器接收来自SIP设备、网关或其他媒体服务器等设备的媒体数据,并根据指令,将这些数据转发到其它单个或者多个SIP客户端和媒体服务器。

28、信令安全路由网关 secure signal routing gateway

具有接收或转发域内外SIP信令功能,并且完成信令安全路由网关间路由信息的传递以及路由信令、信令身份标识的添加和鉴别等功能,是一种具有安全功能的SIP服务器。

29、级联 cascaded networking

两个信令安全路由网关之间按照上下级关系连接,上级中心信令控制服务器通过信令安

全路由网关可调用下级中心信令控制服务器所管辖的监控资源,下级中心信令控制服务器通过信令安全路由网关向上级中心信令控制服务器上传本级中心信令控制服务器所管辖的监控资源或共享上级资源。

30、互联 Peer-to-Peer networking

两个信令安全路由网关之间按照平级关系连接,中心信令控制服务器之间经授权可相互调用对方中心信令控制服务器的监控资源。

15.3.2 缩略语

下列缩略语适用于本文件。

AES:高级加密标准(Advanced Encryption Standard)

B2BUA:背靠背用户代理(Back to Back User Agent)

CIF:通用中间格式(Common Intermediate Format)

DES:数据加密标准(Data Encryption Standard)

DNS:域名系统(Domain Name System)

DVR:数字硬盘录像机(Digital Video Recorder)

IP:因特网协议(Internet Protocol)

IPsec:因特网安全协议(Internet Protocol Security)

MANSCDP:监控报警联网系统控制描述协议(Monitoring and Alarming Network System Control Description Protocol)

MANSRTSP:监控报警联网系统实时流协议(Monitoring and Alarming Network System Real-Time Streaming Protocol)

MD5:信息摘要5(Message Digest Algorithm 5)

NAT/FW:网络地址翻译/防火墙(Network Address Translator and FireWall) NTP:网络时间协议(Network Time Protocol)

NVR:网络硬盘录像机(Network Video Recorder)

PS:节目流(Program Stream)

RTCP:实时传输控制协议(Real-time Transport Control Protocol)

RTP:实时传输协议(Real-time Transport Protocol)

RTSP:实时流化协议(Real-Time Streaming Protocol)

SDP:会话描述协议(Session Description Protocol)

SHA:安全哈希算法(Secure Hash Algorithm)

SIP:会话初始协议(Session Initiation Protocol)

SVAC:安全防范监控数字视音频编码(Surveillance Video and Audio Coding)

S/MIME:安全多用途网际邮件扩充协议(Secure Multipurpose Internet Mail Extensions)

TCP:传输控制协议(Transmission Control Protocol)

TLS:传输层安全(Transport Layer Security)

UA:用户代理(User Agent)

UAC:用户代理客户端(User Agent Client)

UAS:用户代理服务端(User Agent Server)

UDP:用户数据报协议(User Datagram Protocol)

URI:全局资源标识符(Universal Resource Identifier)

XML:可扩展标记语言(EXtensible Markup Language)

15.4 互联结构

15.4.1 SIP监控域互联结构

15.4.1.1 概述

联网系统的信息传输、交换、控制方面的SIP监控域互联结构见图1,描述了在单个SIP监控域内、不同SIP监控域间两种情况下,功能实体之间的连接关系。功能实体之间的通道互联协议分为会话通道协议、媒体(本标准主要指视/音频)流通道协议两种类型,会话通道协议见4.3.2~4.3.4的规定,媒体流通道协议见4.3.5和4.3.6的规定。

会话控制信令

媒体传输

图1 SIP监控域互联结构示意图

15.4.1.2 区域内联网

区域内的SIP监控域由SIP客户端、SIP设备、中心信令控制服务器、流媒体服务器和信令安全路由网关等功能实体组成。各功能实体以传输网络为基础,实现SIP监控域内联网系统的信息传输、交换和控制。

15.4.1.3 跨区域联网

若干个相对独立的SIP或非SIP监控域以信令安全路由网关和流媒体服务器为核心,通过IP传输网络,实现跨区域监控域之间的信息传输、交换、控制。

15.4.1.4 联网方式

15.4.1.4.1 级联

两个信令安全路由网关之间是上下级关系,下级信令安全路由网关主动向上级信令安全路由网关发起注册,经上级信令安全路由网关鉴权认证后才能进行系统间通信。

级联方式的多级联网结构示意图如图2、图3所示,信令流都应逐级转发;媒体流宜采用图3所示方式传送,也可跨媒体服务器传送。


(1)osip
一个基于 osip 库的 UAC 和 UAS 的代码整理
http://blog.csdn.net/aflyeaglenku/article/details/51601270
(2)pjsip
介绍一个开源的SIP(VOIP)协议库PJSIP
http://blog.csdn.net/aflyeaglenku/article/details/51198686
(3)opal,vocal,sipx,resiprocate,osip
几种开源SIP协议栈对比
http://blog.csdn.net/aflyeaglenku/article/details/50467769
(4)eXosip
官网

http://savannah.nongnu.org/projects/exosip/

Osip2和eXosip协议栈的简析

http://blog.csdn.net/aflyeaglenku/article/details/51830775


GB28181以SIP为基础。它所使用的方法如下:

其中,最重要的方法就是REGISTER,INVITE,和MESSAGE方法了。它们是所有方法中使用频率最高的几种。

在开发和对接过程中,大多数朋友会对REGISTER和INVITE疑问较多。原因是这两个方法内部的字段较多,且设置获取复杂。

而MESSAGE方法并不难,但它所承载的内容却非常多。下面图是MESSAGE方法所携带的消息的体系结构。