pjsip如何发送媒体声音_完整SIP/SDP媒体协商概论-SDP协商模式详解-offer初始化流程...

​当我们讨论SIP或者SDP的一些技术话题时,SDP的协商是一个绕不过的话题。具体的协商机制涉及了多个方面的内容。在我们的讨论中,笔者将会针对两个比较重要的话题进行讨论,一个是SDP offer/answer 模式,另外一个是在NAT场景中的SDP offer/answer交互模式拓展-ICE。在本章节中,我们将首先讨论SDP offer/answer交互模式,具体内容包括:offer/answer的背景介绍,基本操作,如何实现初始化的offer,重点讨论offer中的单播媒体操作,offer中关于指示方向的处理策略,编码协商优先级设置。在后续的章节中,我们将讨论answer如何回应offer,会话修改的细节处理,向对方指示协商能力,offer/answer交互模式的拓展ICE。

背景介绍和基本操作

首先,我们介绍一下我们讨论的基本背景环境。到目前为止,我们讨论的核心话题涉及了SDP和准备要讨论的offer/anser交互模式。基本上我们都是围绕两个核心的规范来讨论,其中,RFC4566(SDP)为基本蓝图,然后配合RFC3264关于offer/answer交互模式。关于SDP的内容,我们在前面的章节已经有完整的介绍(SDP基础),那个章节涵盖了SDP的核心定义/专有名词,语法,特征属性,使用场景等相关细节,读者可以查阅上一个章节的内容,这里不再赘述。根据上一个章节的内容,我们在本章节进一步讨论SDP协商时使用的交互模式-offer/answer模式。在本章节,我们将重点以RFC3264为蓝本,介绍offer/anwer交互模式。这里提醒读者,为了更好地支持IPv4,在RFC3264的基础上,RFC6157对媒体描述管理进行了更新。因此,如果读者涉及了在IPv6环境中关于SDP中的媒体描述,读者可以查阅RFC 6157-4.1章节的细节。如果读者对SDP协商模式有兴趣的话,可以结合具体的代码示例来做进一步的研究。以下示例是开源SIP协议栈-PJSIP中关于SDP协商状态机的处理流程示意图:

bb022b598463e85a0872c26890433719.png

PJSIP/SDP协商状态机流程示例

链接:https://www.pjsip.org/pjmedia/docs/html/group__PJMEDIA__SDP__NEG.htm#details

很多技术人员,一说到offer/answer交互模式,就不假思索说这个概念其实非常简单。事实上,很多人对此概念有不少误解或者还在半桶水的认知状态。因为很多技术人员经常排除的问题基本上都是一个简单的双方呼叫(单播会话),排查的交互会话描述也就双方的会话参数,并没有涉及到多播会话使用场景,例如IP广播,会议等处理。另外,关于单播和多播场景中的RTP媒体流的处理也非常不同(可参考RFC 6284-7.1.2的端口映射),需要读者对这些概念有一个充分的理解。因此,很多具体的协商需要大家了解。

47fca79343e4e00674be145669e2c24e.png

此图片以及以下图例均来自互联网资源

我们需要首先提醒读者这些问题,在offer/answer交互模式下,单播会话和多播会话的处理方式是有差别的。SDP(RFC 4566)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值