问题标签 [sdp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7737 浏览

java - 如何在 SIP/SDP 呼叫中启动 RTP 流

我已经设法使用 Java 的 JAIN-SIP API 建立了一个 SIP 呼叫。

现在我想在建立对话后播放一些视频。我读过 SDP 和 RTP 可以做到这一点,并且我找到了多个关于如何在 SIP 数据包中定义 SDP/RTP 主体的示例。

但是一旦你在节点上协商了能力等,你如何实际启动 RTP 流?您是在 Java 应用程序外部还是内部启动 RTP 流服务器?如果是这样,怎么做?链接是什么?

在我能在网上找到的内容中,节点只是“开始交换 RTP 数据包”。

谢谢你。

0 投票
3 回答
2290 浏览

java - SDP消息构造?

我想知道任何人都可以向我指出一个关于如何构建 SDP 消息的好教程。

我已经阅读了基础知识并且可以构建和理解参数,但我似乎无法让它工作。

我要么在这里收到不可接受的回复,要么根本没有回复,这是在我收到 100 次尝试和 180 次回铃之后。

所以我的 SIP 有效,但它不喜欢 SDP 数据。

它目前的结构是这样的:

虽然这样我得到 100 次尝试然后 180 次响铃,但是当我在另一端接听电话时,我什么也没得到,它似乎只是崩溃了,我在我尝试响铃的 pc 客户端上也收到“音频设备错误” .

有人有什么想法吗?

0 投票
4 回答
24792 浏览

base64 - 如何解码 H264 SDP 中的 sprop 参数集?

对于 h264 流,SDP 中 sprop-parameter-sets 中 Base64 解码字节的含义是什么?我如何从这个例子中知道视频大小?

SDP 示例:

第一部分从 Base64 解码到 Base16:

第二部分(逗号分隔):

解答: 获取 H264Video 流的尺寸

0 投票
1 回答
504 浏览

java - 将 SDP 数据从 byte[] 转换为 Object?

我目前正在通过网络发送和接收 SIP 消息。

当我想将 SDP 数据添加到 SIP 消息时,我使用 jrtp 中的 SessionDescription 对象。

然后将该对象添加到 SIP 消息中。

但是当我从服务器收到一条 SIP 消息时,它的 SDP 位于 byte[] 数组中。

所以我想知道无论如何将 byte[] 转换回 SessionDescription 对象,以便我可以使用 SessionDescription 对象的方法来解析数据?

0 投票
2 回答
1325 浏览

sip - 修改 SIP 消息的 SDP 正文有多大的错误?

我为公司创建的 SIP PBX 的一个要求是记录通过它的所有呼叫。我通过强制所有 SIP 消息通过 PBX 并修改 SDP 主体以使流通过它并被记录来解决它。它运作良好。

我最近发现这是不允许的。

有没有其他方法可以实现通话录音,这在协议方面有多“错误”?

0 投票
1 回答
3635 浏览

bluetooth - 如何获取蓝牙服务的 SDP 记录?

我是winsock和蓝牙编程的新手。我需要开发一个蓝牙服务才能在电脑上运行。查看 MSDN 库,他们说要使用 WSASetService( http://msdn.microsoft.com/en-us/library/aa362921%28VS.85%29.aspx ) 函数发布服务。

问题是必须传递给 WSASetService 的 WSAQUERYSET( http://msdn.microsoft.com/en-us/library/aa362920%28VS.85%29.aspx ) 结构需要一个二进制 SDP 记录并且我不知道如何得到它。

在 MSDN 库的 Windows 嵌入式部分,他们描述了使用Bthnscreate获取 SDP 记录的过程。

我安装了 Windows CE 6 来使用这个工具,但我在安装目录和整个系统中都找不到它。

如何获得 SDP 记录?

谢谢!

0 投票
1 回答
210 浏览

bluetooth - 澄清有关蓝牙网络中微微网和 SDP 的问题

据我了解,微微网中最多有 7 个从站。SDP 协议使用 L2CAP 协议作为传输协议。因此,在建立物理连接时,搜索其他设备的设备与被搜索设备之间的通信是可用的。所以我得出结论,在一个搜索查询中只能看到 7 台设备。我对吗?

0 投票
1 回答
2866 浏览

networking - 通过 SDP 和陆线将 RTP 与 SIP 连接的过程

我在启动媒体会话并将其与我的 SIP 客户端结合时遇到问题。我设计了一个递归 SIP 客户端,它根据 RFC 中记录的可接受序列和我阅读的示例,重用相同的请求模板将下一个请求发送到服务器。据我所知,SIP 部分工作正常,可以很好地注册服务器邀请并进行身份验证。我还没有完成对客户端的任何调用,因为需要填充内容标头(我还没有,所以我从服务器得到一个 503,我猜这没问题)。

很长一段时间我不知道从哪里开始媒体会话,慢慢学会了如何使用JMF,我已经构建了一个处理RTP传输的对象,现在我站在十字路口,在一个一方面我有我的 SIP 信令,但它需要 SDP 内容标头来完成邀请,另一方面我有知道如何 p2p 的 RTP。

为了完成我的设计,我需要您帮助解决以下问题:

  1. 是否有一种简单的//一种简单的//一种将音频/视频格式从 JMF 转换为 SDP 媒体标头的实施方法?甚至是一个生成器,我可以输入内容头的所有参数,它会快速生成一个内容头,还是我必须自己实现这个?

  2. 一旦我完成了 SDK 的构建并且 SIP 启动并运行并且我从服务器获得了 OK 响应(在响铃之后),我如何启动媒体会话?如何根据我在 SIP 邀请中发送的呼叫者详细信息连接 p2p?

  3. 如果 2 是正确的,那么如何连接到陆线?陆线是否知道一旦他们将 OK 发送回服务器,他们会在特定端口上侦听/启动 RTP 会话?

还是我把一切都弄错了?:-/

我真的很感谢我能得到的任何帮助,我到处寻找答案,但他们并不清楚,他们忽略了问题 2,就好像这是一件显而易见的事情,但对我来说,事实并非如此。

在此先感谢亚当·泽哈维。

添加:

首先感谢您的回复以及您花时间帮助我。

我会回到问题2:

一旦您收到 Ok 响应,您就会知道 SIP 用户代理服务器 (UAS) 正在侦听的 IP 套接字(您的意思是 ADDRESS:PORT 正确吗?)以及它接受并可以开始发送您的 RTP 的编解码器。

好吧,我明白了,我想知道另一件事,在我向 UAS 发送 RTP 数据包的这段对话期间,UAS 用作两个 UAC 之间的桥梁。

现在...我可以使用 SIP 实例化会话,然后将客户端信息从一台计算机发送到另一台计算机,并在两台计算机之间建立 P2P,无需任何中间人(UAS),然后处理 SIP 会话吗?

我希望我现在能更好地解释我自己...

谢谢,亚当。

0 投票
3 回答
7736 浏览

media - SDP媒体字段格式

我想用它的属性创建一个SDP媒体字段,有一些我不明白的地方。我已经浏览并阅读了相关的RFC,并且我了解每个字段的大部分含义,但我不明白的是如何从 JMF 的音频/视频格式派生,格式的哪些参数组成 rtpmap 注册表我需要使用的条目。我多次看到田野

这些是从我正在连接的 pbx 服务器接收的,它们在 JMF 音频格式属性方面是什么意思。(我明白这些是电信中常用的标准音频格式

更新:

我更想知道末尾的格式参数' 0 8 101 '

我知道它们是从这个列表中引用的,但是我如何根据 JMF 媒体格式确定使用哪一种呢?

提前致谢,

亚当泽哈维。

0 投票
2 回答
3933 浏览

media - SIP UAS 请求选项

我有注册到 UAS 的 UAC,注册后 UAS 向我发送 OPTIONS 请求,我应该如何回答?

只有音频媒体流?

更新一:

请允许我更好地解释一下自己……如果我想邀请某人参加会议,我会使用 INVITE 方法并针对该特定会议与媒体协商。但是一旦我注册到服务器,它要求我提供选项,那么我应该提供什么,我的客户支持的一切?一旦我回答,它会推断出我从现在开始请求的每个邀请都会使用这些媒体吗?还是我需要为每个请求提供新媒体?

更新二:

嗨 Wiz,我正在构建一个协商系统,所以我尝试了一下并回答 UAS 这里是我们的排序对话:

响应 102 的选项:

这个响应导致服务器停止向我发送选项请求,这是否意味着我现在只能在服务器上使用这些参数?还是如您所说,没关系?

谢谢,亚当。