SIP和SDP协议简介
创作时间:
作者:
@小白创作中心
SIP和SDP协议简介
引用
CSDN
1.
https://blog.csdn.net/weixin_46056189/article/details/143212737
在现代通信中,SIP(Session Initiation Protocol)和SDP(Session Description Protocol)是两个至关重要的协议。它们广泛应用于VoIP(Voice over Internet Protocol)、视频会议和即时消息等多媒体通信领域。本文将对这两个协议进行介绍,探讨它们的工作原理及应用。
1. 引言
在现代通信中,SIP(Session Initiation Protocol)和SDP(Session Description Protocol)是两个至关重要的协议。它们广泛应用于VoIP(Voice over Internet Protocol)、视频会议和即时消息等多媒体通信领域。本文将对这两个协议进行介绍,探讨它们的工作原理及应用。
2. SIP(会话发起协议)
2.1 SIP的概述
SIP是一种信令协议,用于发起、维护和终止会话。它定义了一组用于控制多媒体会话的消息格式和流程,能够支持多种类型的媒体,包括音频、视频和即时消息。SIP是应用层协议,通常基于UDP或TCP传输。
2.2 SIP的主要功能
- 用户定位 :通过SIP服务器可以找到用户的当前位置。
- 用户注册 :用户可以向SIP服务器注册其位置信息,以便接收呼叫。
- 会话管理 :支持多个用户间的会话管理与控制。
3. SDP(会话描述协议)
3.1 SDP的概述
SDP是一种用于描述多媒体会话信息的协议。它通常与SIP配合使用,以提供有关媒体类型、编码格式、传输协议等的信息。SDP本身并不提供会话的控制功能,而是作为描述信息的载体。
3.2 SDP的主要功能
- 媒体描述 :提供有关媒体流的详细信息,包括格式和传输方式。
- 会话参数协商 :在会话建立过程中,双方可以协商媒体参数。
简而言之,SIP协议用于发起、管理和终止多媒体会话,而SDP协议提供有关媒体流的描述信息,以便于双方协商和确认会话参数。
4. 字段解析
以一次呼叫为例子进行说明,以下是呼叫操作的SIP交互过程:
请求头:
INVITE sip:1234@example.cn;user=phone SIP/2.0 // 请求行,表示发起一个新的会话(如音频、视频呼叫)
Call-ID: af4ea960fb22ec10@example.cn // 呼叫标识符,唯一标识一个会话,确保 SIP 会话的全局唯一性
Via: SIP/2.0/UDP 1.0.0.127:5080;branch=z9hG4bKacf3d638f8c3f400 // 记录了请求从客户端到服务端的路径,每经过一个代理,都会插入一个 Via 头
Max-Forwards: 70 // 表示此请求可以通过70个代理(或跳数)转发。每经过一个代理,该值会减少,防止请求无限转发。
Contact: <sip:1000000016@192.168.2.235:5081> // 指定发送方的联系 URI,在192.168.2.235 IP的5081端口上接收SIP消息
From: "1000000016"<sip:1000000016@example.cn;user=phone>;tag=0b8ea6a0 // 表示呼叫发起者的 SIP URI
To: <sip:1234@example.cn;user=phone> // 表示被呼叫者的 SIP URI
CSeq: 1 INVITE // 序列号,用于标识请求的顺序
Content-Type: application/sdp // 指定请求消息体的类型为 SDP
Content-Length: 1972 // 表示消息体长度为1972字节
消息体:
v=0 // SDP 协议的版本号,固定为 0
o=sipua 1746157443 2 IN IP4 192.168.2.235 // 起始行,表示 建立者用户名+会话标识符+会话版本号+网络类型+地址类型+IP地址
s=IADCall // 会话名
c=IN IP4 192.168.2.235 // 连接信息,网络类型+地址类型+IP地址
t=0 0 // 开始时间和结束时间,0 0表示永久会话
m=audio 10054 RTP/AVP 126 9 8 // 描述音频媒体流, 端口+传送协议+编码类型列表
a=rtpmap:126 OPUS/48000/2 // rtpmap表示对编解码器的详细描述
a=rtpmap:9 G722/8000
a=rtpmap:8 PCMA/8000
a=fmtp:126 useinbandfec=1;sprop-maxcapturerate=48000;stereo=0;sprop-stereo=0;maxplaybackrate=48000 // 编解码器配置的特定参数
a=sendrecv // 媒体方向,sendrecv-双向传输、sendonly-只发送不接收、recvonly-只接收不发送、inactive-不发送也不接收
m=video 10056 RTP/AVP 104 // 描述视频媒体流
a=rtpmap:104 H264/90000
a=fmtp:104 profile-level-id=64e01f;max-br=2048;max-mbps=108000;max-fs=3600;packetization-mode=1
a=rtcp-fb:* ccm fir // rtcp-fb指定RTCP反馈机制
a=rtcp-fb:* nack
a=rtcp-fb:* ccm tmmbr
a=rtcp-fb:* transport-cc
a=sendrecv
a=content:main // 媒体流为主要内容
a=label:11 // 标签,用于识别媒体流
热门推荐
糖尿病腎病變的飲食原則-了解第三期腎臟病變怎麼吃
智慧平台助力破获案件:科技力量为维护社会保驾护航
“小步快跑”式升温来了 北京已经入春了吗?
大家都知道林徽因,却不知道林徽因还有一个为国捐躯的亲弟弟!
个性与价值观的形成:青春期孩子如何塑造独特的自我
科创板投资门槛高?可借道基金布局
耐水耐化阳离子固化UV单体:性能解析与应用指南
项目管理培训框架怎么写
12薪与13薪:揭秘这两种工资制的差异
12薪13薪是什么意思
产品研发部门工作职责有哪些?深入解析研发流程与岗位职责
服用羟氯喹药物需定期做眼部检查
英国秋天的丰收
超敏C反应蛋白88,身体炎症的信号?
红枣的热量高吗?一次搞懂红枣的营养与热量
陈罗庭道长带您探寻宇宙与人生的和谐之道
减肥,要吃够基础代谢!这条公式,告诉你每天吃多少热量
37.5℃算不算发烧?看测量部位再判断!
中国最新研究:空腹血糖持续升高,或可致冠脉钙化风险增加179%
植物为什么发育丰富多彩的苞片?
植物为什么发育丰富多彩的苞片?
喝牛奶也要讲究时间
以月为单位的法律条款:定期审查与更新机制探析
个体工商户营业执照名字:命名规则与注意事项
徒步线路强度、风险划分研究
股票市场供需关系如何影响定价?
测速摄像头和违章摄像头是同一个设备吗?
高考语文作文成功四法,备战2024年高考必备秘籍!
狗狗如何训练才能更听话
在闲鱼二手市场购买CPU,如何避免踩坑?