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

国标gb28181 SIP协商详细分析

前置知识

国标GB/T 28181协议_gb28181-CSDN博客

 sip交互流程图

注册信令需注意是插上电源线的时候触发,而不是视频入会。

字段详解 

开始注册请求

REGISTER sip:34020000002000000002@192.168.6.14:5060 SIP/2.0            // 请求行:向 192.168.6.14 平台(ID=34020000002000000002)注册
Via: SIP/2.0/UDP 192.168.9.200:5060;                                   // 首个 Via:指出本端(设备)IP:端口与所用传输层rport;                                                            // rport 参数让服务器把响应发回同一源口,解决 NAT 穿透branch=z9hG4bK1945009904                                          // branch 是事务唯一标识,以 “z9hG4bK” 开头
Route: <sip:34020000001110000011@192.168.6.14:5060;lr>                 // GB/T 28181 推荐携带上级平台路由;lr=Loose Route,允许中继逐跳转发
From: <sip:34020000001110000011@192.168.9.200:5060>;tag=321443940      // 主叫方身份;user part=设备国标 ID;tag 区分同一 URI 的多个注册实例
To:   <sip:34020000001110000011@192.168.9.200:5060>                    // 被叫方(对 REGISTER 来说等同 From,但无 tag)
Call-ID: 214776626@192.168.9.200                                       // 全局会话标识;所有往返消息保持一致,否则平台会报 “call/transaction does not exist”
CSeq: 1 REGISTER                                                       // 序列号;每发一次 REGISTER +1。首次注册为 1,平台通常先回 401 质询
Contact: <sip:34020000001110000011@192.168.9.200:5060>                 // 告诉平台之后如何直连设备;同一 UA 多地址时可出现多个 Contact
Max-Forwards: 70                                                       // 每经过一跳减 1;0 时丢弃,防环路
User-Agent: Dahua SIP UAS V1.0                                         // 设备/厂商软硬件版本信息(便于平台兼容性判断)
Expires: 3600                                                          // 注册有效期 3600 s;为 0 表示注销
Content-Length: 0                                                      // 无消息体

 服务器回复401校验

//服务器回复401校验
SIP/2.0 401 Unauthorized                                                // 状态行:401表示需要身份验证才能继续注册
C REGISTER                                                               // 序列号必须与请求保持一致,表明这是对第一次注册请求的回复
Call-ID: 214776626@192.168.9.200                                        
From: <sip:34020000001110000011@192.168.9.200:5060>;tag=793568880       // From字段必须与请求中的完全一致;注意:tag值可能与请求中不同,这里是由平台回复时自动生成
To: <sip:34020000001110000011@192.168.9.200:5060>                       // To字段从请求中拷贝,但在401回复中可能会添加tag参数(这里未添加)
Via: SIP/2.0/UDP 192.168.9.200:5060;rport;branch=z9hG4bK45766126        // Via字段必须完全拷贝自原始请求,包括所有参数,用于路由回复到正确位置
WWW-Authenticate: Digest realm="3402000000",                            // 最关键的认证质询头,包含客户端计算摘要所需的所有参数nonce="962535b552b6e29883ff988c0065ddc2"              // nonce是服务器生成的随机数,用于防止重放攻击;常见做法是用时间戳+设备ID等计算MD5
Content-Length: 0                                                       // 401响应通常无消息体

摄像头第二次注册

REGISTER sip:34020000002000000002@192.168.6.14:5060 SIP/2.0 //留意该文本,按照空格切割,uri为第二个字符串,第一个是方法,第三个是请求版本号,类似HTTP/1.1
Via: SIP/2.0/UDP 192.168.9.200:5060;rport;branch=z9hG4bK1647127273
Route: <sip:34020000001110000011@192.168.6.14:5060;lr>
From: <sip:34020000001110000011@192.168.9.200:5060>;tag=793568880
To: <sip:34020000001110000011@192.168.9.200:5060>
Call-ID: 214776626@192.168.9.200
CSeq: 2 REGISTER //第二次注册
Contact: <sip:34020000001110000011@192.168.9.200:5060>
Authorization: Digest username="34020000001110000011",                  // 认证头开始realm="3402000000",                                    // 与质询中 realm 保持一致nonce="962535b552b6e29883ff988c0065ddc2",              // 使用 401 提供的 nonceuri="sip:34020000002000000002@192.168.6.14:5060",      // 必须与请求行 URI 精确匹配response="77ed0f6d00ab1e0c1a871dd5e03edb65",          // MD5(MD5(username:realm:password):nonce:MD5(method:uri))algorithm=MD5                                         // 指定摘要算法
Max-Forwards: 70
User-Agent: Dahua SIP UAS V1.0
Expires: 3600
Content-Length: 0 

第二次校验成功的话直接响应200 之后摄像头会发起心跳保活

SIP/2.0 200 OK
CSeq: 2 REGISTER                                                     //回复第二次注册
Call-ID: 214776626@192.168.9.200                                     //唯一会话id
From: <sip:34020000001110000011@192.168.9.200:5060>;tag=793568880
To: <sip:34020000001110000011@192.168.9.200:5060>
Via: SIP/2.0/UDP 192.168.9.200:5060;rport;branch=z9hG4bK1647127273
Expires: 3600
Date: Fri, 10 Apr 2021 08:24:49                                     // 响应时间,可用于日志和时序分析
Content-Length: 0 

摄像头回复注销信息

这里注意Expires字段,为0代表注销 服务器收到后直接做业务操作回复200 

REGISTER sip:34020000002000000002@192.168.6.14:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.9.200:5060;rport;branch=z9hG4bK399301364
Route: <sip:34020000001110000011@192.168.6.14:5060;lr>
From: <sip:34020000001110000011@192.168.9.200:5060>;tag=793568880
To: <sip:34020000001110000011@192.168.9.200:5060>
Call-ID: 214776626@192.168.9.200
CSeq: 3 REGISTER 								 					// 序列号递增到 3,标识同一会话中的第三次请求
Contact: <sip:34020000001110000011@192.168.9.200:5060>
Max-Forwards: 70
User-Agent: Dahua SIP UAS V1.0
Expires: 0  														// 注销标志:0 表示注销设备注册
Content-Length: 0 

Keepalive保活信息

摄像头发送过来的Keepalive保活信息

MESSAGE sip:34020000002000000002@192.168.6.14:5060 SIP/2.0 		//MESSAGE 方法名,类似http的get/post方法
Via: SIP/2.0/UDP 192.168.1.8:5060;rport;branch=z9hG4bK700933079 //这个不用理会,但需要拷贝该字段,回复200要用
From: <sip:34020000001110000011@192.168.1.8:5060>;tag=1896094222 //同上
To: <sip:34020000002000000002@192.168.6.14:5060> //同上
Call-ID: 78119256@192.168.1.8 //同上
CSeq: 20 MESSAGE //唯一标识
Max-Forwards: 70
User-Agent: Dahua SIP UAS V1.0
Content-Type: Application/MANSCDP+xml //消息体格式
Content-Length:   178 //消息体长度,不带消息头,下面会空一行才会读到消息体,解析时注意下读到空行<?xml version="1.0" encoding="GB2312" ?> //编码
<Notify><CmdType>Keepalive</CmdType> //注意这里的消息体,大华发送的消息体有空格的,海康的消息体不带空格,需要做下处理,或者使用xml工具类,这里为了方便直接解析字符串<SN>0</SN><DeviceID>34020000001110000011</DeviceID> //设备编号<Status>OK</Status>
</Notify>

 服务器需要对其进行200回复,超过不回复次数就会断流

SIP/2.0 200 OK //回复200
CSeq: 20 MESSAGE //拷贝上面心跳信息
Call-ID: 78119256@192.168.1.8 //同上
From: <sip:34020000001110000011@192.168.1.8:5060>;tag=1896094222 //同上
To: <sip:34020000002000000002@192.168.6.14:5060> //同上
Via: SIP/2.0/UDP 192.168.1.8:5060;rport;branch=z9hG4bK700933079 //同上
Content-Length: 0 //没有消息体,直接写0 

sip协议

一个标准的 SIP MESSAGE 请求报文 (包含MANSCDP+xml格式的设备目录响应) 

Via: SIP/2.0/UDP 27.10.24.1:5061;branch=z9hG4bK8210143023101430fa101430b 
Call-ID: 9ae8ca0e3be8ca0ee2e8ca0ea0e8ca0e16e8c@27.10.24.1 
From: <sip:42010000012005000001@27.10.24.1:5061;transport=udp>;tag=63a161ccc2a161cc1ba161cc59a161cc 
To: <sip:45510000012005000001@27.10.30.98;transport=udp> 
CSeq: 134349445 MESSAGE 
Max-Forwards: 70 
Expires: 90 
User-Agent: IMOS/V3   // 标识用户代理软件/设备名称及版本,此处为IMOS系统V3版本。
Contact: <sip:42010000012005000001@27.10.24.1:5061> 
Content-Type: application/MANSCDP+xml 
Content-Length: 1288 <?xml version="1.0" encoding="GB2312"?> <Response> 
<CmdType>Catalog</CmdType>  // 命令类型:Catalog表示设备目录查询响应。
<SN>859327</SN> 
<DeviceID>4201010303</DeviceID> //设备编号,实际是上级组织编号
<SumNum>72</SumNum> 		// 设备总数:表示该组织下共有72个设备。
<DeviceList Num="1"> 		// 设备列表:Num="1"表示当前返回1个设备信息(分页返回)。<Item> //核心数据
<DeviceID>42010000011315000808</DeviceID> //真正的设备编号 
<Name>A xxxxxx-C79</Name> //名称
<Manufacturer>uniview</Manufacturer>  	// 制造商:设备制造厂商为uniview(宇视科技)。
<Model>h3c</Model> //型号
<Owner>h3c</Owner> //所属厂商
<CivilCode>4201010303</CivilCode> 	 // 民政区划代码:设备所在的行政区划代码。
<Block></Block> 					// 警务区划代码:警务管辖区划,此处为空。
<Address>27.10.24.1</Address> 		// 设备安装地址:此处记录的是信令源地址。
<Parental>0</Parental> 		// 父设备标识:0表示不是父设备,1表示是父设备(如编码器)。
<ParentID>4201010303</ParentID> //上级编号
<SafetyWay>0</SafetyWay> 		// 安全方式:0-不加密,2-TLS,3-国密算法等。
<RegisterWay>1</RegisterWay> 	// 注册方式:1-符合IETF RFC 3261标准的认证注册模式。
<CertNum>1</CertNum> 			// 证书序列号:设备证书编号。
<Certifiable>0</Certifiable> 	// 证书有效标识:0-无效,1-有效。
<ErrCode>400</ErrCode> 			// 错误码:设备状态错误码,400可能表示请求错误。
<EndTime>2011-11-11T19:46:17</EndTime> // 结束时间:设备离线或服务结束时间。
<Secrecy>0</Secrecy> 				// 保密属性:0-普通,1-秘密,2-机密,3-绝密。
<IPAddress>27.14.33.75</IPAddress>  // 设备实际IP地址:设备的真实网络地址。
<Port>8800</Port> 					// 设备端口号:设备提供服务的端口号。
<Password>admin</Password> 			// 设备密码:设备访问密码(生产环境不应明文传输)。
<Status>ON</Status> 				// 设备状态:ON-在线,OFF-离线。
<Longitude>114.306191347343</Longitude> 	// 经度:设备安装位置的地理经度坐标。
<Latitude>30.6136439824189</Latitude> 		// 纬度:设备安装位置的地理纬度坐标。
<Info> // 设备详细信息:包含设备的技术参数和能力信息。<CameraType>1</CameraType> 	// 摄像机类型:1-球机,2-半球,3-固定枪机,4-遥控枪机等。
<PTZType>1</PTZType> 		// 云台类型:0-无云台,1-有云台。
<PositionType>2</PositionType> // 位置类型:1-省际检查站,2-党政机关,3-车站码头,4-中心广场等。
<RoomType>1</RoomType> 			// 机房类型:1-室外,2-室内。
<UseType>1</UseType> 			// 用途类型:1-治安,2-交通,3-重点,9-其他。
<SupplyLightType>1</SupplyLightType> 	// 补光类型:1-无补光,2-红外补光,3-白光补光。
<DirectionType>1</DirectionType> 	// 监视方位:1-东,2-西,3-南,4-北,5-东南,6-西南,7-东北,8-西北。
<Resolution></Resolution> 	// 分辨率:设备支持的分辨率,此处为空。
<DownloadSpeed></DownloadSpeed> // 下载倍速:设备支持的下载倍速,此处为空。
<SVCSpaceSupportMode>0</SVCSpaceSupportMode>  // SVC空域支持模式:0-不支持,1-支持。
<SVCTimeSupportMode>0</SVCTimeSupportMode>  // SVC时域支持模式:0-不支持,1-支持。
<StreamNum>1</StreamNum></Info> 	// 码流数量:设备支持的码流数量。
</Item> 
</DeviceList> 
</Response>

订阅通知协议


注: 订阅通知相比catalog,主要是在head头里面多了一个event和expires

上级平台向下级平台发送流程:
一个简单的gb28181直播预览流程:
1接收下级域的注册请求
2发送catalog请求,查看设备信息
3选择设备进行预览
4catalog流程:
5向下级域发送catalog请求
6下级域回复200
7下级域发送设备信息,可能一次只发送两个设备的信息
8上级域回复200
9循环步骤3和4

实战

        当下级设备在收到200 OK后、发送ACK再紧接着发出BYE,通常是设备端对上级返回的 SDP 或消息头不满足自身解析/会话匹配规则而主动终止会话。排查要点包括抓包分析、SDP格式校验、SIP会话标识一致性和设备日志。

  1. 在客户端(平台)与设备之间双向抓取完整SIP对话(INVITE、200 OK、ACK、BYE)

  2. 会话匹配一致性检查,按以下时序核对关键字段:

    • Call-ID、From-Tag、To-Tag、CSeq(三者必须一致)

    • Via 分支(branch)与rport

    • Content-Length与消息体长度

  3. 确认设备发出BYE时,的确是同一次会话的ID和Tag,否则设备会因“找不到匹配事务”而发 BYE

  4. SDP 格式与私有扩展排查

    • 部分设备在解析SDP时,若遇到额外字段或非标准行会判定为“协议不兼容”,主动结束会话并发 BYE 。

    • 确认 m=audio/video 行及各rtpmap/fmtp映射在设备支持列表中,避免设备因不支持编码格式而退出。

BYE sip:33010600002000000009@172.25.24.21:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.110:11060;rport;branch=z9hG4bKPjb805348c-f9ff-4d86-8112-ff29fefdfc85
Max-Forwards: 70
From: <sip:34020000002000000001@192.168.1.110>;tag=e0a561ea-2087-44f2-8e93-d01ea517868d
To: <sip:33010600002000000009@172.25.24.21>;tag=b.IC9izlIQyYsPq-ZS4P0puD.LewSb9t
Call-ID: t4MmTL-bEylwjmGIeWc-TiyDEWzgfppb
CSeq: 16350 BYE
Content-Length: 0SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.110:11060;rport=11060;received=192.168.1.110;branch=z9hG4bKPjb805348c-f9ff-4d86-8112-ff29fefdfc85
From: <sip:34020000002000000001@192.168.1.110>;tag=e0a561ea-2087-44f2-8e93-d01ea517868d
To: <sip:33010600002000000009@172.25.24.21>;tag=b.IC9izlIQyYsPq-ZS4P0puD.LewSb9t
Call-ID: t4MmTL-bEylwjmGIeWc-TiyDEWzgfppb
CSeq: 16350 BYE
User-Agent: TP-Link IP-Camera
Content-Length: 0MESSAGE sip:33010600002000000009@172.25.24.21:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.110:11060;rport;branch=z9hG4bKPj15607e05-0895-47e7-b272-6ede72e7c480
Max-Forwards: 70
From: <sip:34020000002000000001@192.168.1.110>;tag=631b3544-8805-424b-b638-a611a184ae23
To: <sip:33010600002000000009@172.25.24.21>
Call-ID: d8eb0c5c-6e98-478f-a023-ea3e8717e88c
CSeq: 45366 MESSAGE
Content-Type: Application/MANSCDP+xml
Content-Length: 199<?xml version="1.0" encoding="UTF-8"?>
<Notify>
<CmdType>Broadcast</CmdType>
<SN>15</SN>
<SourceID>34020000002000000001</SourceID>
<TargetID>33010600001320000001</TargetID>
</Notify>SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.110:11060;rport=11060;received=192.168.1.110;branch=z9hG4bKPj15607e05-0895-47e7-b272-6ede72e7c480
From: <sip:34020000002000000001@192.168.1.110>;tag=631b3544-8805-424b-b638-a611a184ae23
To: <sip:33010600002000000009@172.25.24.21>;tag=OeKkJL6xwH98J4k0yWiN7e1x2N-CHXLs
Call-ID: d8eb0c5c-6e98-478f-a023-ea3e8717e88c
CSeq: 45366 MESSAGE
User-Agent: TP-Link IP-Camera
Content-Length: 0MESSAGE sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 172.25.24.21:5060;rport;branch=z9hG4bKYGgiR.DjAltJURhrja56yuKRCmWLoyvR
From: <sip:33010600002000000009@3402000000>;tag=Xf21stdQZlOzBpdTlaFEthJe24VF.LfL
To: <sip:34020000002000000001@3402000000>
Call-ID: po5Ry1sLB57CHHe-h5XvM-JRZQXNun14
CSeq: 4221 MESSAGE
Contact: <sip:33010600002000000009@172.25.24.21:5060>
Max-Forwards: 70
User-Agent: TP-Link IP-Camera
Content-Type: Application/MANSCDP+xml
Content-Length: 166<?xml version="1.0" encoding="GB2312"?>
<Response>
<CmdType>Broadcast</CmdType>
<SN>15</SN>
<DeviceID>33010600001320000001</DeviceID>
<Result>OK</Result>
</Response>SIP/2.0 200 OK
Via: SIP/2.0/UDP 172.25.24.21:5060;rport=5060;received=172.25.24.21;branch=z9hG4bKYGgiR.DjAltJURhrja56yuKRCmWLoyvR
Call-ID: po5Ry1sLB57CHHe-h5XvM-JRZQXNun14
From: <sip:33010600002000000009@3402000000>;tag=Xf21stdQZlOzBpdTlaFEthJe24VF.LfL
To: <sip:34020000002000000001@3402000000>;tag=z9hG4bKYGgiR.DjAltJURhrja56yuKRCmWLoyvR
CSeq: 4221 MESSAGE
Content-Length: 0INVITE sip:34020000002000000001@192.168.1.110:11060 SIP/2.0
Via: SIP/2.0/UDP 172.25.24.21:5060;rport;branch=z9hG4bKrTO5F2rdGSzyhHJqcL77xeIMPIW24jCr
From: <sip:33010600002000000009@172.25.24.21:5060>;tag=Vg0DcjMxXEZ7MZXJUEooNl.4OAGJHJvd
To: <sip:34020000002000000001@192.168.1.110:11060>
Call-ID: ELmBAPp1gYlSI3hD.Co4J3.BxoLpi9g1
CSeq: 4222 INVITE
Contact: <sip:33010600002000000009@172.25.24.21:5060>
Max-Forwards: 70
User-Agent: TP-Link IP-Camera
Content-Type: Application/SDP
Content-Length: 219
Subject: 34020000002000000001:1,33010600002000000009:2v=0
o=33010600002000000009 0 0 IN IP4 172.25.24.21
s=Play
c=IN IP4 172.25.24.21
t=0 0
m=audio 58361 TCP/RTP/AVP 8
a=recvonly
a=rtpmap:8 PCMA/8000
a=setup:active
a=connection:new
y=0200004125
f=v/////a/1/8/1SIP/2.0 100 Trying
Via: SIP/2.0/UDP 172.25.24.21:5060;rport=5060;received=172.25.24.21;branch=z9hG4bKrTO5F2rdGSzyhHJqcL77xeIMPIW24jCr
Call-ID: ELmBAPp1gYlSI3hD.Co4J3.BxoLpi9g1
From: <sip:33010600002000000009@172.25.24.21>;tag=Vg0DcjMxXEZ7MZXJUEooNl.4OAGJHJvd
To: <sip:34020000002000000001@192.168.1.110>
CSeq: 4222 INVITE
Content-Length: 0SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 172.25.24.21:5060;rport=5060;received=172.25.24.21;branch=z9hG4bKrTO5F2rdGSzyhHJqcL77xeIMPIW24jCr
Call-ID: ELmBAPp1gYlSI3hD.Co4J3.BxoLpi9g1
From: <sip:33010600002000000009@172.25.24.21>;tag=Vg0DcjMxXEZ7MZXJUEooNl.4OAGJHJvd
To: <sip:34020000002000000001@192.168.1.110>;tag=7399164a-29d2-4aed-bb1d-bf9295f5567b
CSeq: 4222 INVITE
Contact: <sip:34020000002000000001@192.168.1.110:11060>
Allow: INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY
Content-Length: 0SIP/2.0 200 OK
Via: SIP/2.0/UDP 172.25.24.21:5060;rport=5060;received=172.25.24.21;branch=z9hG4bKrTO5F2rdGSzyhHJqcL77xeIMPIW24jCr
Call-ID: ELmBAPp1gYlSI3hD.Co4J3.BxoLpi9g1
From: <sip:33010600002000000009@172.25.24.21>;tag=Vg0DcjMxXEZ7MZXJUEooNl.4OAGJHJvd
To: <sip:34020000002000000001@192.168.1.110>;tag=7399164a-29d2-4aed-bb1d-bf9295f5567b
CSeq: 4222 INVITE
Allow: INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY
Contact: <sip:34020000002000000001@192.168.1.110:11060>
Supported:
Content-Type: application/sdp
Content-Length: 222v=0
o=33010600001320000001 0 1 IN IP4 192.168.1.110
s=Play
c=IN IP4 192.168.1.110
t=0 0
m=audio 13203 TCP/RTP/AVP 8
a=sendonly
a=rtpmap:8 PCMA/8000
a=setup:passive
a=connection:new
y=1200007790
f=v/////a/1/8/1ACK sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 172.25.24.21:5060;rport;branch=z9hG4bKimDzHO8ppo5CkSi0dxVoOLSBaTgFQCdF
From: <sip:33010600002000000009@3402000000>;tag=Vg0DcjMxXEZ7MZXJUEooNl.4OAGJHJvd
To: <sip:34020000002000000001@3402000000>;tag=7399164a-29d2-4aed-bb1d-bf9295f5567b
Call-ID: ELmBAPp1gYlSI3hD.Co4J3.BxoLpi9g1
CSeq: 4222 ACK
Contact: <sip:33010600002000000009@172.25.24.21:5060>
Max-Forwards: 70
User-Agent: TP-Link IP-Camera
Content-Length: 0BYE sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 172.25.24.21:5060;rport;branch=z9hG4bK-IGMcuevqosp4WecoS-CDOFaKJRHtK5S
From: <sip:33010600002000000009@3402000000>;tag=Vg0DcjMxXEZ7MZXJUEooNl.4OAGJHJvd
To: <sip:34020000002000000001@3402000000>;tag=7399164a-29d2-4aed-bb1d-bf9295f5567b
Call-ID: ELmBAPp1gYlSI3hD.Co4J3.BxoLpi9g1
CSeq: 4222 BYE
Contact: <sip:33010600002000000009@172.25.24.21:5060>
Max-Forwards: 70
User-Agent: TP-Link IP-Camera
Content-Length: 0SIP/2.0 500 Invalid CSeq
Via: SIP/2.0/UDP 172.25.24.21:5060;rport=5060;received=172.25.24.21;branch=z9hG4bK-IGMcuevqosp4WecoS-CDOFaKJRHtK5S
Call-ID: ELmBAPp1gYlSI3hD.Co4J3.BxoLpi9g1
From: <sip:33010600002000000009@3402000000>;tag=Vg0DcjMxXEZ7MZXJUEooNl.4OAGJHJvd
To: <sip:34020000002000000001@3402000000>;tag=7399164a-29d2-4aed-bb1d-bf9295f5567b
CSeq: 4222 BYE
Content-Length: 0分析问题,为什么会500

案例原因:

  1. ACK后BYE的信息,branch已经改变说明是新的请求,但是CSeq并没有增加,没有按照sip规范处理,因此出现500 sip协议错误。
  2. ​​​​​​​sdp协商成功,ack确认。但是接到了bye,需要询问厂商售后。正常情况是协商结束,开始媒体传输阶段。

 

http://www.dtcms.com/a/308816.html

相关文章:

  • 《嵌入式C语言笔记(十七):进制转换、结构体与位运算精要》
  • .map文件中的0x40f (size before relaxing)是什么意思?
  • 这个项目有多急?
  • MySQL常用函数总结
  • 经典算法之美:冒泡排序的优雅实现
  • 多场景-阶梯式碳交易机制下考虑需求响应的综合能源系统优化(MATLAB模型)
  • 智能Agent场景实战指南 Day 27:Agent部署与可扩展性
  • 本地部署VMware ESXi,并实现无公网IP远程访问管理服务器
  • C++手撕简单KNN
  • 如何使用自定义@DS注解切换数据源
  • 中小企业数据保护指南:如何用群晖NAS构建高效备份体系?
  • pytorch程序语句固定开销分析
  • hive新增列之后插入新数据时,新列为NULL的解决办法
  • 火焰图(Flame Graph)深度指南:CPU性能分析与瓶颈定位
  • 2025.8-12月 AI相关国内会议
  • C基础 12_day
  • XL2422 无线收发芯片,可用于遥控玩具和智能家居等应用领域
  • 网络层概述
  • LLM残差流为何会超过1?
  • Lombok 字段魔法:用 @FieldDefaults 解锁“隐身+锁死”双重特效
  • Linux731 shell工具;[]字符
  • kettle插件-kettle http client plus插件,轻松解决https接口无法调用文件流下载问题
  • 数据库连接池性能优化实战
  • 【RH134 问答题】第 13 章 运行容器
  • 谷歌浏览器之f12打开控制台debugger模式实现条件控制打印输出及字节数组条件
  • Java 并发编程基础概念与常见问题梳理
  • 电商项目_性能优化_高并发缓存一致性
  • 【Unity笔记04】数据持久化
  • HTM 5 的离线储存的使用和原理
  • Unity游戏开发中的3D数学基础详解