首页 > 解决方案 > 'sdparta' 在 Firefox webRTC 会话描述中代表什么?

问题描述

在Firefox中的 webRTC 信令期间生成提议和回答对象时,Mozilla 通过返回显示“THIS_IS_SDPARTA”的答案和提议添加了关于会话描述协议的双关语。

除了搞笑之外,“SDParta”的“arta”部分还有什么意义吗?


以下是两个 SDP。一个是在 Chrome 中制作的,另一个是在 Firefox 中制作的,每个都使用相同的 Web 应用程序、STUN 服务器和信令服务器。

Chrome 生成的 webRTC 应答对象:

"answer": {
    "type": "answer",
    "sdp": "v=0\r\no=-```numbers omitted``` 2 IN IP4 123.4.5.6\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:CYLs\r\na=ice-pwd:```pwd omitted```\r\na=ice-options:trickle\r\na=fingerprint:sha-256 ```sha-256 omitted```\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n"
}

Firefox 生成的 webRTC 应答对象:

"answer": {
    "type": "answer",
    "sdp": "v=0\r\no=mozilla...THIS_IS_SDPARTA-61.0.2```numbers omitted``` 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 ```sha-256 omitted``` \r\na=group:BUNDLE sdparta_0\r\na=ice-options:trickle\r\na=msid-semantic:WMS *\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=sendrecv\r\na=ice-pwd:```pwd omitted```\r\na=ice-ufrag:8e051271\r\na=mid:sdparta_0\r\na=sctpmap:5000 webrtc-datachannel 256\r\na=setup:active\r\na=max-message-size:1073741823\r\n"
}

'THIS_IS_SDPARTA' 指的是电影300和随后的 meme 这是斯巴达,.

根据RFC 4566概述会话描述协议,原始值由SDP 字符串中的'o= value ' 分配:

o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>

我假设 'THIS_IS_SDPARTA 根据协议被视为会话 ID 的非正式前缀。

我找不到任何使用“ARTA”作为与 SDP 或 webRTC 有任何关系的首字母缩写词。作为一个词,“阿尔塔”可以是一个人的名字,也可以是希腊、吉布提或阿尔巴尼亚的一个地方。除了都是希腊人之外,我找不到古代斯巴达和阿尔塔之间的任何关联。维基百科关于“阿尔塔”的消歧页面。

搜索 'this_is_sdparta' 或 'sdparta' 的堆栈溢出会返回用户对其 SDP 和信号进行故障排除的代码片段,没有人在标题中询问 sdparta 的问题SO 搜索 'sdparta',也没有任何答案直接讨论 'sdparta' 或 ' this_is_sdparta' 我能找到。

我发现了两个开发人员专门谈论“this_is_sdparta”的例子。一个是来自 Iñaki Baz Castillo的推文,没有技术解释:

Firefox Nightly #WebRTC 中的幽默感:

v=0 o=mozilla...THIS_IS_SDPARTA-37.0a1 44108 0 在 IP4 0.0.0.0 a=group:BUNDLE sdparta_0 sdparta_1

另一篇是一篇文章,我很难找到作者的名字,他大多只是在享受幽默。这是一个屏幕截图: 这是 SDPARTA

注意:这是我删除的一个问题的转贴,因为它包含个人网络连接详细信息。对困惑感到抱歉。

除了搞笑之外,“SDParta”的“arta”部分还有什么意义吗?

标签: firefoxwebrtcp2pmozillapeer

解决方案


早在 2014 年,五位 Mozilla 开发人员(包括我自己)将他们自己锁在 AirBnB 中一周,以便为 Firefox 添加多流支持。周一晚上,我们得出结论,使用当前的代码库是不可能实现这一点的,当时该代码库包含来自思科的完整 SIP 堆栈。周二早上,我们开始删除所有我们不想再次使用的代码,并开始用从头开始编写的代码替换它,但适用于更高级的 WebRTC 用例。

你可以想象,到本周末,我们所有人都已经厌倦了神秘的会话描述协议。因此,当 Adam 打开 bug 时,Byron 开始研究 SDP 语法以及它允许​​我们放置 Firefox 版本号的位置。那时我们意识到这将是增加一些乐趣的理想场所。

所以 TL;DR: 只是一个典型的复活节彩蛋,开发人员想要从中获得一些乐趣。而已。


推荐阅读