首先消息类型采用的是INVITE,然后消息体的描述采用SDP协议。SDP协议的之前已经学习过了,还算简单:http://blog.csdn.net/longlong530/article/details/9004707
下面介绍下学习的是实况直播的流程,主要通过模拟SPVMN系统向源设备发送实况直播请求,在GBT28181标准文档中对应的是实况流程中SIP服务器和媒体流发送者交互的子过程。记录下交互的消息,详细研究了下:
转载请注明出处:http://blog.csdn.net/longlong530
一.环境搭建:
环境准备:http://blog.csdn.net/longlong530/article/details/9176989
UAC(模拟IPC):
IP:192.168.10.177(同事人不在~,直接用自己的机子模拟了下)
Port:5061
UAS(模拟SIP服务器):
IP:192.168.10.177
Port:5060
v=0 //Version 协议版本 o=34020000002020000001 0 0 IN IP4 192.168.43.178 //Origin 所有者/创建者和会话标识符 s=Play //Subject 会话名称 c=IN IP4 192.168.43.178 //Connection Data 连接信息 t=0 0 //Time 会话生命周期 m=video 6000 RTP/AVP 96 98 97 //Media(Type、Port、RTP/AVP Profile) a=recvonly //扩展属性定义 a=rtpmap:96 PS/90000 //扩展属性定义 a=rtpmap:98 H264/90000 //扩展属性定义 a=rtpmap:97 MPEG4/90000 //扩展属性定义 y=0100000001 //网上木有查到y的意思,最后在28181标准文档中查到:描述SSRC值 f= //网上木有查到y的意思,最后在28181标准文档中查到:描述媒体参数
BYE sip:34020000001320000001@192.168.10.177:5061 SIP/2.0 CSeq: 2 BYE From: <sip:34020000002000000001@3402000000>;tag=67051446_53173353_7e47bbc7-c29c-4299-803b-71f7367975bb To: <sip:34020000001320000001@3402000000>;tag=946196600 Call-ID: 5769dab035fe6ade9dafa5e544c3c6a5@0.0.0.0 Max-Forwards: 70 Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK7e47bbc7-c29c-4299-803b-71f7367975bb_53173353_20235498592802 Content-Length: 0 SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK7e47bbc7-c29c-4299-803b-71f7367975bb_53173353_20235498592802 From: <sip:34020000002000000001@3402000000>;tag=67051446_53173353_7e47bbc7-c29c-4299-803b-71f7367975bb To: <sip:34020000001320000001@3402000000>;tag=946196600 Call-ID: 5769dab035fe6ade9dafa5e544c3c6a5@0.0.0.0 CSeq: 2 BYE User-Agent: eXosip/3.6.0 Content-Length: 0
INVITE sip:34020000001320000001@3402000000 SIP/2.0 Call-ID: 1d7bbec98be4dfc5cf128e40ccde864e@0.0.0.0 CSeq: 1 INVITE From: <sip:34020000002000000001@3402000000>;tag=97895568_53173353_401bffa2-3ee4-4d32-81b1-3881df7957d3 To: <sip:34020000001320000001@3402000000> Max-Forwards: 70 Contact: "34020000002000000001" <sip:192.168.10.177:5060> Content-Type: application/sdp Route: <sip:34020000001320000001@192.168.10.177:5061;line=9a1ca01668b5778;lr> Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK401bffa2-3ee4-4d32-81b1-3881df7957d3_53173353_24913197787603 Content-Length: 227 v=0 o=34020000002020000001 0 0 IN IP4 192.168.43.178 s=Play c=IN IP4 192.168.43.178 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=0100000001 f=
SIP/2.0 101 Dialog Establishement Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK4b6c31ac-b631-4c5c-8576-0a82f27a8fbc_53173353_20235503434986 From: <sip:34020000002000000001@3402000000>;tag=03164492_53173353_4b6c31ac-b631-4c5c-8576-0a82f27a8fbc To: <sip:34020000001320000001@3402000000>;tag=3823092636 Call-ID: 6fdcb598554bcd699b314c3719c2ba50@0.0.0.0 CSeq: 1 INVITE Contact: <sip:34020000001320000001@192.168.10.177:5061> User-Agent: eXosip/3.6.0 Content-Length: 0
SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK4b6c31ac-b631-4c5c-8576-0a82f27a8fbc_53173353_20235503434986 From: <sip:34020000002000000001@3402000000>;tag=03164492_53173353_4b6c31ac-b631-4c5c-8576-0a82f27a8fbc To: <sip:34020000001320000001@3402000000>;tag=3823092636 Call-ID: 6fdcb598554bcd699b314c3719c2ba50@0.0.0.0 CSeq: 1 INVITE Contact: <sip:34020000001320000001@192.168.10.177:5061> Content-Type: application/sdp User-Agent: eXosip/3.6.0 Content-Length: 235 v=0 o=34020000001320000001 0 0 IN IP4 192.168.10.177 s=Embedded IPC c=IN IP4 192.168.10.177 t=0 0 m=video 6000 RTP/AVP 96 a=sendonly a=rtpmap:96 H264/90000 a=username:34020000001320000001 a=password:12345678 y=100000001 f=
ACK sip:34020000001320000001@192.168.10.177:5061 SIP/2.0 Call-ID: 6fdcb598554bcd699b314c3719c2ba50@0.0.0.0 CSeq: 1 ACK From: <sip:34020000002000000001@3402000000>;tag=03164492_53173353_4b6c31ac-b631-4c5c-8576-0a82f27a8fbc To: <sip:34020000001320000001@3402000000>;tag=3823092636 Max-Forwards: 70 Via: SIP/2.0/UDP 192.168.10.177:5060;branch=z9hG4bK4b6c31ac-b631-4c5c-8576-0a82f27a8fbc_53173353_20235513789448 Content-Length: 0