问题标签 [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.
java - 如何在 SIP/SDP 呼叫中启动 RTP 流
我已经设法使用 Java 的 JAIN-SIP API 建立了一个 SIP 呼叫。
现在我想在建立对话后播放一些视频。我读过 SDP 和 RTP 可以做到这一点,并且我找到了多个关于如何在 SIP 数据包中定义 SDP/RTP 主体的示例。
但是一旦你在节点上协商了能力等,你如何实际启动 RTP 流?您是在 Java 应用程序外部还是内部启动 RTP 流服务器?如果是这样,怎么做?链接是什么?
在我能在网上找到的内容中,节点只是“开始交换 RTP 数据包”。
谢谢你。
java - SDP消息构造?
我想知道任何人都可以向我指出一个关于如何构建 SDP 消息的好教程。
我已经阅读了基础知识并且可以构建和理解参数,但我似乎无法让它工作。
我要么在这里收到不可接受的回复,要么根本没有回复,这是在我收到 100 次尝试和 180 次回铃之后。
所以我的 SIP 有效,但它不喜欢 SDP 数据。
它目前的结构是这样的:
虽然这样我得到 100 次尝试然后 180 次响铃,但是当我在另一端接听电话时,我什么也没得到,它似乎只是崩溃了,我在我尝试响铃的 pc 客户端上也收到“音频设备错误” .
有人有什么想法吗?
base64 - 如何解码 H264 SDP 中的 sprop 参数集?
对于 h264 流,SDP 中 sprop-parameter-sets 中 Base64 解码字节的含义是什么?我如何从这个例子中知道视频大小?
SDP 示例:
第一部分从 Base64 解码到 Base16:
第二部分(逗号分隔):
java - 将 SDP 数据从 byte[] 转换为 Object?
我目前正在通过网络发送和接收 SIP 消息。
当我想将 SDP 数据添加到 SIP 消息时,我使用 jrtp 中的 SessionDescription 对象。
然后将该对象添加到 SIP 消息中。
但是当我从服务器收到一条 SIP 消息时,它的 SDP 位于 byte[] 数组中。
所以我想知道无论如何将 byte[] 转换回 SessionDescription 对象,以便我可以使用 SessionDescription 对象的方法来解析数据?
sip - 修改 SIP 消息的 SDP 正文有多大的错误?
我为公司创建的 SIP PBX 的一个要求是记录通过它的所有呼叫。我通过强制所有 SIP 消息通过 PBX 并修改 SDP 主体以使流通过它并被记录来解决它。它运作良好。
我最近发现这是不允许的。
有没有其他方法可以实现通话录音,这在协议方面有多“错误”?
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 记录?
谢谢!
bluetooth - 澄清有关蓝牙网络中微微网和 SDP 的问题
据我了解,微微网中最多有 7 个从站。SDP 协议使用 L2CAP 协议作为传输协议。因此,在建立物理连接时,搜索其他设备的设备与被搜索设备之间的通信是可用的。所以我得出结论,在一个搜索查询中只能看到 7 台设备。我对吗?
networking - 通过 SDP 和陆线将 RTP 与 SIP 连接的过程
我在启动媒体会话并将其与我的 SIP 客户端结合时遇到问题。我设计了一个递归 SIP 客户端,它根据 RFC 中记录的可接受序列和我阅读的示例,重用相同的请求模板将下一个请求发送到服务器。据我所知,SIP 部分工作正常,可以很好地注册服务器邀请并进行身份验证。我还没有完成对客户端的任何调用,因为需要填充内容标头(我还没有,所以我从服务器得到一个 503,我猜这没问题)。
很长一段时间我不知道从哪里开始媒体会话,慢慢学会了如何使用JMF,我已经构建了一个处理RTP传输的对象,现在我站在十字路口,在一个一方面我有我的 SIP 信令,但它需要 SDP 内容标头来完成邀请,另一方面我有知道如何 p2p 的 RTP。
为了完成我的设计,我需要您帮助解决以下问题:
是否有一种简单的//一种简单的//一种将音频/视频格式从 JMF 转换为 SDP 媒体标头的实施方法?甚至是一个生成器,我可以输入内容头的所有参数,它会快速生成一个内容头,还是我必须自己实现这个?
一旦我完成了 SDK 的构建并且 SIP 启动并运行并且我从服务器获得了 OK 响应(在响铃之后),我如何启动媒体会话?如何根据我在 SIP 邀请中发送的呼叫者详细信息连接 p2p?
如果 2 是正确的,那么如何连接到陆线?陆线是否知道一旦他们将 OK 发送回服务器,他们会在特定端口上侦听/启动 RTP 会话?
还是我把一切都弄错了?:-/
我真的很感谢我能得到的任何帮助,我到处寻找答案,但他们并不清楚,他们忽略了问题 2,就好像这是一件显而易见的事情,但对我来说,事实并非如此。
在此先感谢亚当·泽哈维。
添加:
首先感谢您的回复以及您花时间帮助我。
我会回到问题2:
一旦您收到 Ok 响应,您就会知道 SIP 用户代理服务器 (UAS) 正在侦听的 IP 套接字(您的意思是 ADDRESS:PORT 正确吗?)以及它接受并可以开始发送您的 RTP 的编解码器。
好吧,我明白了,我想知道另一件事,在我向 UAS 发送 RTP 数据包的这段对话期间,UAS 用作两个 UAC 之间的桥梁。
现在...我可以使用 SIP 实例化会话,然后将客户端信息从一台计算机发送到另一台计算机,并在两台计算机之间建立 P2P,无需任何中间人(UAS),然后处理 SIP 会话吗?
我希望我现在能更好地解释我自己...
谢谢,亚当。
media - SIP UAS 请求选项
我有注册到 UAS 的 UAC,注册后 UAS 向我发送 OPTIONS 请求,我应该如何回答?
只有音频媒体流?
更新一:
请允许我更好地解释一下自己……如果我想邀请某人参加会议,我会使用 INVITE 方法并针对该特定会议与媒体协商。但是一旦我注册到服务器,它要求我提供选项,那么我应该提供什么,我的客户支持的一切?一旦我回答,它会推断出我从现在开始请求的每个邀请都会使用这些媒体吗?还是我需要为每个请求提供新媒体?
更新二:
嗨 Wiz,我正在构建一个协商系统,所以我尝试了一下并回答 UAS 这里是我们的排序对话:
响应 102 的选项:
这个响应导致服务器停止向我发送选项请求,这是否意味着我现在只能在服务器上使用这些参数?还是如您所说,没关系?
谢谢,亚当。