做一个网站完整的网页,苏州和城乡建设局网站,珠海建设网站公司简介,贵州建设厅培训中心网站subscribe 现在基本明白了 但说实在的#xff0c;不太懂 pubish#xff0c;可能是 publish 和 subscribe 配合使用#xff0c;实现 N-to-N media forwarding 功能 先看看手册是怎样讲的#xff1a; # publish 类似于 Offer 消息#xff0c;但用于 Offer/Answer 场景之外…subscribe 现在基本明白了但说实在的不太懂 pubish可能是 publish 和 subscribe 配合使用实现 N-to-N media forwarding 功能先看看手册是怎样讲的# publish 类似于 Offer 消息但用于 Offer/Answer 场景之外。由 SDP 描述的媒体直接发布到 rtpengine随后其他对端可以订阅已发布的媒体以接收副本。 该消息必须包含键 sdp其应描述仅发送sendonly的媒体以及键 call-id 和 from-tag用于标识发布者。Offer 所支持的大多数其他键和选项也适用于 Publish。 响应消息将在 sdp 中包含一个 Answer SDP但与 Offer 不同的是这不是对接收到的 SDP 的重写版本而是由 rtpengine 本地生成的仅接收recvonlyAnswer SDP。每个媒体分段仅列出一个编解码器默认情况下这将是从已发布媒体中选出的第一个受支持的编解码器。这可以通过上述编解码器选项特别是 accept 选项来影响。 accept 选项中给出的编解码器列表被视为编解码器偏好列表列表中第一个编解码器是最优先接受的以此类推。允许列出不支持转码的编解码器。如果 Offer 中不存在 accept 列表里的任何编解码器则选择第一个支持转码的编解码器。如果不存在这样的编解码器则拒绝该 Offer。可以在 accept 列表中给出特殊字符串 any 来影响此行为如果列出了 any则接受 Offer 中的第一个编解码器即使它不支持转码。 # subscribe_request 此消息用于请求订阅即接收媒体副本一个或多个现有的通话参与者这些参与者必须已通过 Offer/Answer 机制或 Publish 机制创建。 可以选择单个通话参与者方式与阻止 DTMF 下描述的方式相同。可以选择多个通话参与者要么使用 all 关键字此时将选择所有通过 Offer/Answer 机制创建的通话参与者要么在 from-tags 列表中提供标签from-tags列表。 然后此消息会创建一个新的通话参与者该参与者对应此次订阅。这个新的通话参与者将由一个新生成的唯一标签来标识或者由 to-tag 键中给出的标签来标识。如果要为新创建的订阅设置标签可以通过 set-label 进行设置。 响应消息将在 sdp 中包含一个仅发送sendonly的 Offer SDP默认情况下该 SDP 将镜像所订阅通话参与者的 SDP。如果同时订阅了多个通话参与者则该 SDP 将包含多个媒体分段这些分段由所有选定通话参与者的媒体分段组合而成。此 Offer SDP 可以使用与 Offer 消息中相同的标志进行操作包括操作编解码器的选项。响应消息还将包含 from-tags对应于被订阅的通话参与者和 to-tag对应于订阅可能是生成的也可能是从接收到的消息中获取的。 如果对一个已存在的 to-tag 发起订阅请求则在创建新订阅之前该 to-tag 对应的所有现有订阅都将被删除。 # subscribe_answer 此消息预期在对订阅请求消息的响应之后接收。该消息应包含与订阅请求响应相同的 to-tag以及 sdp 中的 Answer SDP。 默认情况下Answer SDP 必须接受 Offer SDP在订阅请求的响应中给出中呈现的所有编解码器。如果并非所有编解码器都被接受则订阅应答将被拒绝。通过在消息中包含 allow transcoding 标志可以改变此行为。如果存在此标志则只要至少存在一个有效的编解码器Answer SDP 就会被接受并且媒体将根据需要进行转码。如果某些编解码器是在订阅请求消息中添加用于转码的此规则同样适用这意味着如果要允许任何转码则必须在订阅应答中包含 allow transcoding。 响应消息将简单地指示成功或失败。如果成功媒体转发将开始指向 Answer SDP 中给出的端点。找到2个链接https://github.com/sipwise/rtpengine/issues/1851https://groups.google.com/g/rtpengine/c/ttErJ5QPfTY/m/eeWnSnqyAwAJ