当前位置: 首页 > news >正文

哔哩哔哩官方网站首页手机免费自助建站系统

哔哩哔哩官方网站首页,手机免费自助建站系统,镇江手机网站制作,如何利用模板建站我的音视频/流媒体开源项目(github) GB28181系列目录 目录 一、SIP消息Header字段 二、SIP URI(URL) 三、SIP路由机制 1、路由机制介绍 2、严格路由#xff08;Strict Routing#xff09;与松散路由#xff08;Louse Routing#xff09; 3、总结 四、SIP消…        我的音视频/流媒体开源项目(github) GB28181系列目录 目录 一、SIP消息Header字段         二、SIP URI(URL) 三、SIP路由机制 1、路由机制介绍 2、严格路由Strict Routing与松散路由Louse Routing 3、总结  四、SIP消息示例 1、注册-带鉴权 2、呼叫 3、MESSAGE示例 一、SIP消息Header字段         上一篇文章介绍了SIP的各种信令和两个用户之间通话的SIP信令交互流程本篇将详细介绍SIP的消息格式。常见的SIP方法有INVITE、ACK、PRACK、BYE、CANCEL、REGISTER、OPTIONS。在这些类型的SIP消息头部中包含的常见字段如下表所示 Header含义说明举例Call-ID由本地设备(Client)生成全局唯一每次呼叫这个值唯一不变Call-ID: asd88asd77a1.2.3.4From表示请求的发起者From: sip:user1domain.com;tag49583To表示请求的接收者To: sip:user2domain.comViaVia头域是被服务器插入request中用来检查路由环的并且可以使response根据via找到返回的路 Via: SIP/2.0/TCP user1pc.domain.com;branchz9hG4bK776sgdkse Max-Forwards用于表示这个包最多可以传送多少跳每经过一跳都会减一当Max-Forwards0系统会返回483。默认为70Max-Forwards: 70Contact包含源的URI信息用来给响应方直接和源建立连接用 Contact: sip:192.168.100.1:1111 Content-Type指明消息体的类型 (SDP会话描述协议)Content-Type: text/plainContent-Type: application/sdp; Content-Type: application/cpim;Content-Length指明消息体的字节大小Content-Length: 18 下面解释一下其中比较难理解的几个字段之前已经解释了dialog对话、session会话、transaction事务忘了的可以去上一篇再看一下。 1、Via: Via头域是收集经过的设备信息。一个SIP消息每经过一个Proxy包括主叫都会被加上一个Via头域当消息到达被叫后Via头域就记录了请求消息经过的完整路径。被叫将这些Via头域原样copy到响应消息中包括各Via的参数以及各Via的顺序然后下发给第一个Via中的URI每个Proxy转发响应消息前都会把第一个Via也就是它自己添加的Via删除然后将消息转发给新的第一个Via中的URI直到消息到达主叫。 如下图所示表示了Via的作用 2、tag 用于在SIP消息中的 To 和 From 头部区分和标识不同的参与者。区分同一个会话中不同的SIP实体尤其是当一个用户或服务器有多个可能的通信终端时。Tag 允许SIP协议区分从同一源发起的多个请求通常是随机字符串或特定标识符。 From: From: Alice sip:aliceatlanta.com;tagclient1         To: To: Bob sip:bobbiloxi.com;tagclient2         在这个例子中发起方 Alice 使用了 client1 作为 From 的Tag接收方 Bob 则使用了 client2 作为 To 的Tag。 Call-ID、Fromtag、To tag这三个字段相同代表是同一个dailog对话。 3、branch branch值相同代表同一个 transaction(事务) Branch每发起一个transaction(事务)都要重新生成一个branch对于遵循RFC3261规范的实现这个branch参数的值必须用magic cookie”z9hG4bK”打头. 其它部分是对“To, From, Call-ID头域和Request-URI”按一定的算法加密后得到。 二、SIP URI(URL) 再来看一下SIP URI格式SIP消息中有很多地方都用到了SIP URI,其中包括To、From、Contact这些头域还有说明请求目的端的Request-URI。SIP URI里的信息说明了联系SIP资源(用户)的具体方式。 SIP URI以方案名sip打头紧接着是一个冒号“:”然后是用户名加后面是主机名或IPv4/ IPv6地址端口是可选的如果有端口用冒号“:”分隔最后是URI参数列表参数列表中的参数以分号“;”作为分割符。示例如下 sip:joseph.fouriertransform.example.org:5060;transportudp;userip;methodINVITE;ttl1;maddr240.101.102.103?SubjectFFT 示例中的用于分隔查询参数Query Parameters与 URI的路径部分。它后面的内容通常是一些附加的参数用于为SIP请求提供额外的信息。查询参数是键值对形式的多个参数之间用 分隔。  有些SIP URI没有用户名只有主机名或IP比如说REGISTER请求的Request-URI。在上面实例中端口使用的是SIP的标准端口5060。对于SIP URI来说如果没有描述端口那么就假定它使用的是默认端口5060对于SIPS URL来说则是5061。transport参数说明传输协议选用UDP这也是SIP的缺省选择。transport参数的可选值还有TCP、TLS和SCTP。 user参数来说明URI的用户名部分是否为电话号码。它的缺省值为ip说明不是电话号码。如果是电话号码那么它的值为应该设为phone。 method参数说明所使用的方法。默认值是INVITE。这个参数对To、From头域及Request-URI来说没有意义但对于注册的Contact头域或转移的Refer-To头域来说是有用处的。 ttl参数是生存时间只有当maddr参数包含多播地址而transport参数包含udp时才能使用该参数。默认值是1。此值作用于多播会话广播。 maddr通常包含请求应当被定向到的多播地址覆盖URI中主机部分的地址。它还可以携带备用服务器的单播地址。 method、maddr、ttl及header这几个参数不允许出现在To或From头域中但可以在Contact头域或Request-URI使用。除了这些参数之外SIP URI可以包含其它用户定义参数。 三、SIP路由机制 参考 【SIP协议路由机制】_sip路由机制-CSDN博客 SIP 协议路由规则详解_sip route-CSDN博客 1、路由机制介绍 SIP的路由机制是SIP协议很重要的部分通过路由机制才使得一个呼叫请求在VOIP网络的众多Proxy节点中找到正确的目的端。 SIP路由包括请求路由Route与响应路由Via响应路由Via已经在上面说明下面重点看一下请求路由Route。 请求路由Route的生成是通过头域Record-Routes进行收集。 路由收集Record-Route请求消息被代理转发前由代理服务器插入请求消息中这样可以使该对话中将来的请求仍能经过该Proxy。 路由Route发起端收到响应确认消息后根据响应消息中的Record-Route头域获得一个Proxy列表用来指示后续请求消息的路由同样目的端收到请求消息后根据请求消息的Record-Route头域获得一个Proxy列表用来指示后续请求消息的路由。 Route和Record-Route具体处理过程如下 在一个请求消息的传输过程中Proxy也可能会添加一个Record-Route头域这样当消息到达被叫后里面就有会有0个或若干个Record-Route头域。被叫会将这些Record-Route头域并入自己的路由集随后被叫在发送请求(和Record-Route属于同一个dialog里面)消息时就会使用该路由集构造一系列Route头域以便对消息进行路由。 另外被叫会像上面对待Via头域一样将Record-Route头域全部原样copy到响应消息中返回给主叫。主叫收到响应消息后也会将这些Record-Route头域并入路由集只是它会将其反序。该会话中的后续请求(和Record-Route属于同一个dialog里面)消息的Route头域就会通过路由集构造。 目的Contact联系人或最终的目的地地址。不管是请求端还是目的端当发起请求是目的地址就是Contact。请求消息或响应消息必须携带Contact头域告诉对方自己的联系地址。 如下图所示是Contact头域示例 2、严格路由Strict Routing与松散路由Louse Routing 严格路由Strict Routing可以理解为比较“死板”的理由机制这种路由机制在SIP协议的前身RFC 2534中定义其机制非常简单。松散路由Louse Routing该路由机制较为灵活也是SIP路由机制的灵魂所在在RFC 3261中定义。混合路由如果在一条路由的路径中既有严格路由又有松散路由我们称之为混合路由。   如何判断一个Proxy是否为严格路由还是松散路由 根据请求消息中的Route字段中设置的SIP URI一个lr的属性进行判断当携带有“lr”属性就表明该Proxy为松散路由Proxy否则就是严格路由。如 Route:sip:a.b.c.d;lr 这就是表示这个地址所在的Proxy是一个Loose Router。需要注意的是lr属性是在Proxy添加Record-Roud时设置的。 严格路由的处理步骤如下 接收到的消息的request-URI必须是自己的URI把第一个Route头域“弹”出来并把其中的URI作为新的request-URI然后把该消息路由到新的request-URI 松散路由的处理步骤如下 Proxy首先会检查消息的request-URI是不是属于自己所负责的域。如果是它就会通过定位服务将该地址“翻译”成具体的联系地址并以此替换掉原来的request-URI否则它不会动request-URIProxy检查路由表中的第一个地址是否为自己如果是则从表中删除Loose Router首先会检查Request URI是否为自己插入到路由表中的地址,如果不是则不作处理如果是则取出Route字段的最后一个地址作为Request URI地址并从Route字段中删去最后一个地址Loose Router检查下一跳是否为Strict Router。如果不是不处理否则将Request URI插入到路由表表尾并用下一跳地址Strict Router的地址更新Request URI如果路由表为空则路由给Request URI否则路由到路由表表首地址。 3、总结  Via头域是为了给一个请求消息的响应消息留后路而Record-Route就是为了给该请求消息之后的请求消息留后路。 Record-Route头域不用来路由而只是起到传递信息的作用。 Route头域才是用来指示路由。 Contact头域是用来告诉对方我的联系地址。 再来看一个交互示例就可以很清晰的知道路由的机制了。 四、SIP消息示例 1、注册-带鉴权 过程如下 请求端192.168.2.161发送注册消息给192.168.2.89服务器服务器对192.168.2.161发送“401 Unauthorized”信息给请求端提示请求端需要带上鉴权信息重新注册请求端带上鉴权信息后带有“Authorization”头字段重新向服务器注册服务器验证鉴权头的正确性如果鉴权成功给请求端发送200 OK消息。若失败继续发送401消息。 请求端192.168.2.161发送注册消息给192.168.2.89服务器 REGISTER sip:192.168.2.89 SIP/2.0Via: SIP/2.0/UDP 192.168.2.161:8021 Max-Forwards: 70 From: sip:01062237493192.168.2.89;tagefca469543ce4788a6a6a2c7b66cd01f;epidde4504430d To: sip:01062237493192.168.2.89 Call-ID: c88a247a74b54a8c9e676bdde3bba6c9192.168.2.161 CSeq: 1 REGISTER Contact: sip:192.168.2.161:8021;methodsINVITE, MESSAGE, INFO, SUBSCRIBE, OPTIONS, BYE, CANCEL, NOTIFY, ACK, REFER User-Agent: RTC/1.2.4949 (BOL SIP Phone 1005) Event: registration Allow-Events: presence Content-Length: 0服务器对192.168.2.161发送401 Unauthorized信息给请求端提示请求端需要带上鉴权信息重新注册 SIP/2.0 401 UnauthorizedVia: SIP/2.0/UDP 192.168.2.161:8021 From: sip:01062237493192.168.2.89;tagefca469543ce4788a6a6a2c7b66cd01f;epidde4504430d To: sip:01062237493192.168.2.89;tag-001893-38ba013ba3dde36e Call-ID: c88a247a74b54a8c9e676bdde3bba6c9192.168.2.161 CSeq: 1 REGISTER Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,UPDATE,PRACK,REFER,SUBSCRIBE,NOTIFY,MESSAGE Contact: sip:192.168.2.89:14010 Content-Length: 0 WWW-Authenticate: Digest realm192.168.2.89, qopauth, noncee17d377c3d2d9c343e26576a7fd04738481dfc10, opaque, staleFALSE, algorithmMD5请求端192.168.2.161通过Authorization头字段带上鉴权头信息发送一个新的REGISTER消息 REGISTER sip:192.168.2.89 SIP/2.0Via: SIP/2.0/UDP 192.168.2.161:8021 Max-Forwards: 70 From: sip:01062237493192.168.2.89;tagefca469543ce4788a6a6a2c7b66cd01f;epidde4504430d To: sip:01062237493192.168.2.89 Call-ID: c88a247a74b54a8c9e676bdde3bba6c9192.168.2.161 CSeq: 2 REGISTER Contact: sip:192.168.2.161:8021;methodsINVITE, MESSAGE, INFO, SUBSCRIBE, OPTIONS, BYE, CANCEL, NOTIFY, ACK, REFER User-Agent: RTC/1.2.4949 (BOL SIP Phone 1005) Authorization: Digest username01062237493, realm192.168.2.89, qopauth, algorithmMD5, urisip:192.168.2.89, noncee17d377c3d2d9c343e26576a7fd04738481dfc10, nc00000001, cnonce12660455546344082314666316435946, responsef57e47ce03162293b9ced07362ce2b79 Event: registration Allow-Events: presence Content-Length: 0服务器验证鉴权头的正确性如果鉴权成功给请求端发送200 OK消息。若失败继续发送401消息 SIP/2.0 200 OKVia: SIP/2.0/UDP 192.168.2.161:8021 From: sip:01062237493192.168.2.89;tagefca469543ce4788a6a6a2c7b66cd01f;epidde4504430d To: sip:01062237493192.168.2.89;tag-001894-a5eb977c8969aa51 Call-ID: c88a247a74b54a8c9e676bdde3bba6c9192.168.2.161 CSeq: 2 REGISTER Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,UPDATE,PRACK,REFER,SUBSCRIBE,NOTIFY,MESSAGE Contact: sip:192.168.2.161:8021 Content-Length: 0 Expires: 3600关于鉴权的方式参考我的另外一篇文章RTSP系列二RTSP协议鉴权_rtsp鉴权-CSDN博客 2、呼叫 主叫端发起INVITE请求 INVITE sip:3301060200131001932510.64.49.218:7100 SIP/2.0 Via: SIP/2.0/UDP 10.64.49.44:7100;rport;branchz9hG4bK1839167633 From: sip:13090911522930092010.64.49.44:7100;tag868569348 To: sip:3301060200131001932510.64.49.218:7100 Call-ID: 2074790969 CSeq: 20 INVITE Contact: sip:13090911522930092010.64.49.44:7100 Content-Type: Application/SDP Max-Forwards: 70 User-Agent: Hikvision Subject: 33010602001310019325:0,130909115229300920:0 Content-Length: 216v0 o33010602001310019325 0 0 IN IP4 10.64.49.44 sPlay cIN IP4 10.64.49.44 t0 0 mvideo 5494 RTP/AVP 96 97 98 artpmap:96 PS/90000 artpmap:97 MPEG4/90000 artpmap:98 H264/90000 arecvonly y0999999999 被叫端振铃 100 Trying SIP/2.0 100 Trying Via: SIP/2.0/UDP 10.64.49.44:7100;rport7100;branchz9hG4bK1839167633 From: sip:13090911522930092010.64.49.44:7100;tag868569348 To: sip:3301060200131001932510.64.49.218:7100 Call-ID: 2074790969 CSeq: 20 INVITE User-Agent: Hikvision Content-Length: 0 被叫端返回200 OK SIP/2.0 200 OK Via: SIP/2.0/UDP 10.64.49.44:7100;rport7100;branchz9hG4bK1839167633 From: sip:13090911522930092010.64.49.44:7100;tag868569348 To: sip:3301060200131001932510.64.49.218:7100;tag3330812776 Call-ID: 2074790969 CSeq: 20 INVITE Contact: sip:13090911331942742010.64.49.218:7100 Content-Type: Application/SDP User-Agent: Hikvision Content-Length: 162v0 o33010602001310019325 0 0 IN IP4 10.64.49.44 sPlay cIN IP4 10.64.49.218 t0 0 mvideo 5514 RTP/AVP 96 artpmap:96 PS/90000 asendonly y0060205514 主叫端收到200 OK向被叫端返回ACK确认连接 ACK sip:13090911331942742010.64.49.218:7100 SIP/2.0 Via: SIP/2.0/UDP 10.64.49.44:7100;rport;branchz9hG4bK3589109049 From: sip:13090911522930092010.64.49.44:7100;tag868569348 To: sip:3301060200131001932510.64.49.218:7100;tag3330812776 Call-ID: 2074790969 CSeq: 20 ACK Contact: sip:13090911522930092010.64.49.44:7100 Max-Forwards: 70 User-Agent: Hikvision Content-Length: 0 主叫端结束通话 BYE BYE sip:13090911331942742010.64.49.218:7100 SIP/2.0 Via: SIP/2.0/UDP 10.64.49.44:7100;rport;branchz9hG4bK2928302365 From: sip:13090911522930092010.64.49.44:7100;tag868569348 To: sip:3301060200131001932510.64.49.218:7100;tag3330812776 Call-ID: 2074790969 CSeq: 21 BYE Contact: sip:13090911522930092010.64.49.44:7100 Max-Forwards: 70 User-Agent: Hikvision Content-Length: 0 被叫端返回200 OK SIP/2.0 200 OK Via: SIP/2.0/UDP 10.64.49.44:7100;rport7100;branchz9hG4bK2928302365 From: sip:13090911522930092010.64.49.44:7100;tag868569348 To: sip:3301060200131001932510.64.49.218:7100;tag3330812776 Call-ID: 2074790969 CSeq: 21 BYE User-Agent: Hikvision Content-Length: 0 3、MESSAGE示例 以上面的流程为例 步骤1User1发送MESSAGE请求到代理服务器。 MESSAGE sip:user2domain.com SIP/2.0Via: SIP/2.0/TCP user1pc.domain.com;branchz9hG4bK776sgdkse Max-Forwards: 70 From: sip:user1domain.com;tag49583 To: sip:user2domain.com Call-ID: asd88asd77a1.2.3.4 CSeq: 1 MESSAGE Content-Type: text/plain Content-Length: 18user2, come here.步骤2代理服务器转发User1的MESSAGE请求给USER2。代理服务器收到步骤1请求到数据库中查找User2注册过程中生成数据库随后生成步骤2的数据。 MESSAGE sip:user2domain.com SIP/2.0 Via: SIP/2.0/TCP proxy.domain.com;branchz9hG4bK123dsghds Via: SIP/2.0/TCP user1pc.domain.com;branchz9hG4bK776sgdkse;received1.2.3.4 Max-Forwards: 69 From: sip:user1domain.com;tag49394 To: sip:user2domain.com Call-ID: asd88asd77a1.2.3.4 CSeq: 1 MESSAGE Content-Type: text/plain Content-Length: 18user2, come here.步骤3User2收到User1的消息后回复200 OK给代理服务器。直接回应200-OK 没有Body也不携带Contact头域。 SIP/2.0 200 OK Via: SIP/2.0/TCP proxy.domain.com;branchz9hG4bK123dsghds;received192.0.2.1 Via: SIP/2.0/TCP user1pc.domain.com;;branchz9hG4bK776sgdkse;received1.2.3.4 From: sip:user1domain.com;tag49394 To: sip:user2domain.com;tagab8asdasd9 Call-ID: asd88asd77a1.2.3.4 CSeq: 1 MESSAGE Content-Length: 0步骤4代理服务器转发200 OK回复给User1。代理服务器收到回复后去掉最顶端的Via转发如下消息给User1。 SIP/2.0 200 OKVia: SIP/2.0/TCP user1pc.domain.com;branchz9hG4bK776sgdkse;received1.2.3.4 From: sip:user1domain.com;;tag49394 To: sip:user2domain.com;tagab8asdasd9 Call-ID: asd88asd77a1.2.3.4 CSeq: 1 MESSAGE Content-Length: 0系列四将会对SIP的其他内容进行讲解。
http://www.zqtcl.cn/news/466650/

相关文章:

  • 自己做网站需要的技术个人简历表格下载
  • 做网站建设小程序ukidc做电影网站
  • 网站内容分析软文范例100字
  • 网站建站策划用vs做网站
  • 如何建自己的网站做农村电子商务的网站有哪些内容
  • 手机销售网站设计怎么推广软件让别人下载
  • 贵州三蒲建设工程有限公司网站莱阳网站制作
  • 外贸买家网站适合初学者模仿的网站
  • 安徽蚌埠怀远县建设局网站米卓网站建设
  • 网站框架怎么建设微信旧版本下载
  • 速贝网站友情链接怎么做企业网站开发的设计流程
  • 网站建设 安庆网站开发免责合同
  • 天津深圳网站开发定制网络工程考研方向
  • 做app网站的公司哪家好济南网站建设市场
  • 自己做网站页面网站国内空间和国外空间
  • 桂城网站制作公司asp.net jsp 网站
  • 太原免费静态网页制作网站如何搭建钓鱼网站
  • 英语门户网站织梦源码修改wordpress登录页面
  • 网络建设和网站建设网站快速收录提交
  • 免费的建设网站软件北京电力交易中心谢开
  • 建设一个网站需要提供什么手续好看的美食网站设计
  • 西宁网站seo公司网站建设和维护释义
  • 建站平台有哪些免费一键搭建网站wordpress ent 主题
  • 国内比较大的源码网站营销型网站与普通网站的区别
  • 眼镜企业网站建设方案广州最新新闻
  • 茶业网站设计方案绍兴网站建设方案托管
  • 怎样免费建设网站网站建设规划书txt微盘
  • 邯郸网站设计培训做网站建设公司crm在线的培训服务
  • 网站建设文化案例萧山网页设计
  • 融安有那几个网站做的比较好的林州网站建设熊掌号