# SDP协议详解
- 会话描述
v=协议版本(protocol version),一般为0o=会话的创建者(owner/creator and session identifier)s=会话名(session name)t=会话时长(time the session is active)
 - 媒体描述
- 媒体信息
- m= 媒体描述
 - a=ssrc
 - a=rtpmap
 - a=fmtp
 
 - 网络描述
- c=
 - a=candidate
 - a=group:BUNDLE
 - a=rtcp-mux
 - a=sendrecv
 - a=ice-lite
 - a=ice-options
 - a=extmap
 - a=rtcp-resize
 
 - 安全描述
- a=crypto
 - a=ice-ufrag
 - a=ice-pwd
 - a=fingerprint
 - a=setup
 
 - 服务质量
- a=tcp-fb
 
 
 - 媒体信息
 
通常SDP种包含两个媒体描述:
- 音频媒体描述
 - 视频媒体描述
 
除了话描述是对整个SDP起约束作用外,各媒体描述之间的约束互不影响。
SDP的描述格式:
<type> = <value>
其中type描述描述的目标,它有单个字符组成;value是对type的解释或约束。
# 1、会话创建者
o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>
o=- 1954504395161900476 2 IN IP4 127.0.0.1
 1
2
2
- o=字段给出了会话的发起者(用户名和用户的主机地址)加上会话标识符和版本数量
 - username:用户登录是否在原始主机上,如果为-表示不支持用户id的概念,不能包含空格。
 - sess-id:会话ID
 - sess-version:会话的版本
 - nettype:网络类型
 - addrtype:地址类型,通常为IP4、IP6
 - unicast-address:发起者的地址,webrtc中并不适用这个
 
# 参考
https://zhuanlan.zhihu.com/p/609950122
← P2P通信原理与实现 turn服务器部署 →