在最近的开发工作中遇到了级联平台中以B2B模式进行互联接入的厂家,该厂家作为先入厂家提出对接规定:我方平台以用户模式进行注册,并且注册之后向该厂家发送Catalog进行资源获取。
大家熟悉国标对接的都知道,常规获取级联平台视频资源的做法是:本地平台作为上级,等待下级平台注册,本地平台发起Catalog信令进行查询下级资源;根据下级资源回复列表进行取流操作,进而实现业务拓展。
下面给大家展示一下信令流程图:
Catalog--------------------->资源查询
200 <---------------------发送本地资源
INVITE + SDP --------------------->发起视频邀请
200 + SDP <---------------------吐流
200 <---------------------KeepAlive
……
下面给大家展示一下具体的信令实现:
用户:
port:5061
ID: 13000000001400000002
国标服务器:
IP: 192.168.20.214
port:5061
ID:13000000002000000001
信令展示:
(1)注册阶段:
REGISTER sip:192.168.20.214:5061 SIP/2.0
Via: SIP/2.0/UDP 192.168.20.93:5061;rport;branch=z9hG4bK1896046667
From: <sip:13000000001400000002@192.168.20.93>;tag=3912989528
To: <sip:13000000001400000002@192.168.20.93>
Call-ID: 2368873270
CSeq: 2 REGISTER
Contact: <sip:13000000001400000002@192.168.20.93:5061>
Max-Forwards: 70
User-Agent: eXosip/4.1.0
Expires: 3600
Content-Length: 0
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.20.93:5061;rport=5061;branch=z9hG4bK1896046667;received=192.168.20.93
From: <sip:13000000001400000002@192.168.20.93>;tag=3912989528
To: <sip:13000000001400000002@192.168.20.93>
Call-ID: 2368873270
CSeq: 2 REGISTER
WWW-Authenticate: Digest realm="1300000000", nonce="1209087419", stale=false, algorithm=MD5
Content-Length: 0
REGISTER sip:192.168.20.214:5061 SIP/2.0
Via: SIP/2.0/UDP 192.168.20.93:5061;rport;branch=z9hG4bK2528980262
From: <sip:13000000001400000002@192.168.20.93>;tag=3912989528
To: <sip:13000000001400000002@192.168.20.93>
Call-ID: 2368873270
CSeq: 3 REGISTER
Contact: <sip:13000000001400000002@192.168.20.93:5061>
Authorization: Digest username="13000000001400000002", realm="1300000000", nonce="1209087419", uri="sip:192.168.20.214:5061", response="d6061a35add5dcbf63604676cd54a5ee", algorithm=MD5
Max-Forwards: 70
User-Agent: eXosip/4.1.0
Expires: 3600
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.20.93:5061;rport=5061;branch=z9hG4bK2528980262;received=192.168.20.93
From: <sip:13000000001400000002@192.168.20.93>;tag=3912989528
To: <sip:13000000001400000002@192.168.20.93>
Call-ID: 2368873270
CSeq: 3 REGISTER
Date: 2018-06-26T15:06:16.206
Expires: 3600
Content-Length: 0
(2)Catalog阶段:
MESSAGE sip:13000000002000000001@192.168.20.214:5061 SIP/2.0
Via: SIP/2.0/UDP 192.168.20.93:5061;rport;branch=z9hG4bK1838041315
From: <sip:13000000001400000002@192.168.20.93:5061>;tag=1528201331
To: <sip:13000000002000000001@192.168.20.214:5061>
Call-ID: 2833633196
CSeq: 20 MESSAGE
Content-Type: application/MANSCDP+xml
Max-Forwards: 70
User-Agent: eXosip/4.1.0
Date: 2018-06-26T15:07:50.652
Content-Length: 125
<?xml version="1.0"?>
<Query>
<CmdType>Catalog</CmdType>
<SN>3</SN>
<DeviceID>13000000002000000001</DeviceID>
</Query>
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.20.93:5061;rport=5061;branch=z9hG4bK1838041315;received=192.168.20.93
From: <sip:13000000001400000002@192.168.20.93:5061>;tag=1528201331
To: <sip:13000000002000000001@192.168.20.214:5061>
Call-ID: 2833633196
CSeq: 20 MESSAGE
Content-Length: 0
MESSAGE sip:13000000001400000002@192.168.20.93:5061 SIP/2.0
Via: SIP/2.0/UDP 192.168.20.214:5061;branch=z9hG4bK541664484
Via: SIP/2.0/UDP 192.168.20.214:5090;branch=z9hG4bK1985797824;received=192.168.20.214;rport=5090
Route: <sip:13000000001400000002@192.168.20.93:5061>
From: <sip:13000000002000000001@1300000000>;tag=1659246675
To: <sip:13000000001400000002@192.168.20.93:5061>
Call-ID: 2833633196
CSeq: 7 MESSAGE
Contact: <sip:13000000002000000001@192.168.20.214:5090>
Content-Type: Application/MANSCDP+xml
Max-forwards: 69
Content-Length: 652
<?xml version="1.0"?><Response><CmdType>Catalog</CmdType><SN>3</SN><DeviceID>13000000002000000001</DeviceID><SumNum>2</SumNum><DeviceList Num="1"><Item><DeviceID>13000000001310000001</DeviceID><DeviceType>IPC</DeviceType><Name>1</Name><Manufacturer>1</Manufacturer><Model>1</Model><Owner>1</Owner><CivilCode>1</CivilCode><Address>1</Address><Parental>0</Parental><ParentID></ParentID><RegisterWay>1</RegisterWay><Secrecy>0</Secrecy><Status>OK</Status><Longitude>0.000000</Longitude><Latitude>0.000000</Latitude><Online>ONLINE</Online><IPAddress>192.168.20.133</IPAddress><Port>8000</Port><Info><PTZType>3</PTZType></Info></Item></DeviceList></Response>SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.20.214:5061;branch=z9hG4bK541664484
Via: SIP/2.0/UDP 192.168.20.214:5090;branch=z9hG4bK1985797824;received=192.168.20.214;rport=5090
From: <sip:13000000002000000001@1300000000>;tag=1659246675
To: <sip:13000000001400000002@192.168.20.93:5061>;tag=966391482
Call-ID: 2833633196
CSeq: 7 MESSAGE
User-Agent: eXosip/4.1.0
Content-Length: 0
(3)视频邀请:
INVITE sip:13000000001310000001@192.168.20.214:5061 SIP/2.0
Via: SIP/2.0/UDP 192.168.20.93:5061;rport;branch=z9hG4bK3387426388
From: <sip:13000000001400000002@192.168.20.93:5061>;tag=3658905755
To: <sip:13000000001310000001@192.168.20.214:5061>
Call-ID: 3377427933
CSeq: 20 INVITE
Contact: <sip:13000000001400000002@192.168.20.93:5061>
Content-Type: application/sdp
Max-Forwards: 70
User-Agent: eXosip/4.1.0
Date: 2018-06-26T15:07:55.270
Subject: 13000000001310000001:13000000002000000001,13000000001400000002:13626876
Content-Length: 225
v=0
o=13000000001400000002 0 0 IN IP4 192.168.20.93
s=Play
c=IN IP4 192.168.20.93
t=0 0
m=video 6000 RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
y=0013626876
f=
jaK.SIP/2.0 101 Dialog Establishement
Via: SIP/2.0/UDP 192.168.20.93:5061;rport=5061;branch=z9hG4bK3387426388;received=192.168.20.93
From: <sip:13000000001400000002@192.168.20.93:5061>;tag=3658905755
To: <sip:13000000001310000001@192.168.20.214:5061>
Call-ID: 3377427933
CSeq: 20 INVITE
Content-Length: 0
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.168.20.93:5061;rport=5061;branch=z9hG4bK3387426388;received=192.168.20.93
From: <sip:13000000001400000002@192.168.20.93:5061>;tag=3658905755
To: <sip:13000000001310000001@192.168.20.214:5061>
Call-ID: 3377427933
CSeq: 20 INVITE
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.20.93:5061;rport=5061;branch=z9hG4bK3387426388;received=192.168.20.93
From: <sip:13000000001400000002@192.168.20.93:5061>;tag=3658905755
To: <sip:13000000001310000001@192.168.20.214:5061>;tag=1374188007
Call-ID: 3377427933
CSeq: 20 INVITE
Contact: <sip:13000000002000000001@192.168.20.214:5080>
Content-Type: application/sdp
Content-Length: 228
v=0
o=13000000001310000001 0 0 IN IP4 192.168.20.133
s=Play
c=IN IP4 192.168.20.133
t=0 0
m=video 27538 RTP/AVP 96
a=sendonly
a=rtpmap:96 PS/90000
m=audio 40192 RTP/AVP 8
a=sendonly
a=rtpmap:8 PCMA/8000
y=0000000001
jaK.
由此就完成了GB28181的B2B用户模式的全部信令,是不是感觉很简单;如果有对接需要的同学可以联系我哦:
QQ:1015787417
下面是我给出的测试平台软件,里面有我联系方式,多谢大家一直的支持。
https://download.csdn.net/download/qq_24798461/9820447?locationNum=1&fps=1
如果大家有对接方面的问题欢迎咨询我的Chat快问: