问题标签 [signaling]

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 投票
0 回答
47 浏览

c - 如何在 C 中获取事务 ID 或与 Dialogic DSI 库相关的消息?

我正在使用 Dialogic 的 DSI 库,它用于网络编程。我在一个项目中使用 C,在我现在所处的阶段,我需要从 SIGTRAN 连接获取 IDP 消息和 ETC 消息,然后确定每个 ETC 对应的 IDP。我知道我可以使用事务 ID 关联这些消息,就像我在 Wireshark 中通过 otid 和 dtid 过滤消息时所做的那样。但是对于 DSI 库,我找不到这样做的方法。

我已经在手册中搜索并没有找到获取交易ID的功能。在 Dialogic 论坛中也没有找到解决方案。

DSI 是否以其他方式在消息之间建立这种关系?如何判断 ETC 对应于特定的 IDP?

我的代码使用 INTU,所以我可以访问 INAP 层。我正在为消息使用 HDR 结构。

我需要的是识别没有余额的呼叫,所以我需要ETC来获取余额信息和IDP来获取主叫方号码和被叫方号码等信息。如果有另一种方法可以在不需要获取事务 ID 的情况下建立这种关系,那将非常有用。

提前感谢您提供的任何帮助!

0 投票
0 回答
1074 浏览

p2p - VoIP 客户端之间的点对点 (P2P) 通信?

我正在寻找一种解决方案来使用(UDPTCP)在** NAT ** 分离的android 终端或节点之间交换信息,让我们假设A并且B是两个android 客户端。


我正在开发一个客户端直接相互通信的“远程 VoIP 应用程序”


对于 STUN Server 和 NAT Traversal 的实现,我使用了一个开源STUN server软件STUNTMAN

在客户端,为了从中获取Public IP: PORTSTUNTMAN我集成了一个开源的 stun-client 作为“ JSTUN ”,它是一个基于 Java 的 STUN 客户端。

在 Client-A,** STUNTMAN Server ** 的示例结果如下:

为了在 Android 客户端之间进行点对点通信,我维护了一个在客户端 A 和 B 之间signaling server准确共享映射地址的方法。

但是,当我尝试使用UDP 或 TCP 套接字启动对等通信时,它们之间没有这样的通信。


我还在 StackOverflow 上尝试了这个解决方案,作为混淆-关于-stun-serverandroid-iOS-peer-to-peer-arhitechture。我无法理解我在哪里做错了?

  • 是否有可能维持 VoIP 的 P2P 通信?

  • 是否有任何具有 P2P 功能的 VoIP 应用程序?(最初,Skype是基于对等架构的)


我需要的是一个程序示例,而不是基于理论的答案。

0 投票
0 回答
214 浏览

javascript - Webrtc 媒体流正在工作,但数据通道关闭(根本不启动)

我正在尝试启动从本机客户端到 Web 浏览器的桌面屏幕流式传输。当我开始连接时,sdp 交换正常并且媒体流按它应该开始。但是数据通道会立即触发“关闭”事件。据我了解,数据通道应该在 sdp 交换之前创建,并且我将协商设置为 false。所以它应该自动通知其他对等方这个通道并启动数据通道。但这不是我的情况。

我尝试了许多不同的方法,例如使用选项设置数据通道或使用或不使用选项的对等连接。

我错过了什么吗?

以下是来自 Web 浏览器的启动器代码。

0 投票
1 回答
107 浏览

javascript - WebRTC - 找出 MediaStreamTrack 类型?

我想知道 VideoTrack 是否包含屏幕共享或网络摄像头流。我找不到任何属性,也没有合适的约束我可以应用于轨道并稍后读出。

有人知道这样做的聪明方法吗?

我想避免通过 dataChannel 发送带有类型的 streamId。

谢谢 :)

EDIT1:到目前为止没有解决方案......所以我必须通过数据通道发送streamType和StreamId

0 投票
0 回答
1932 浏览

javascript - 无法在“RTCPeerConnection”上执行“setRemoteDescription”

我正在尝试使用SignalHubSimplePeer设置 webrtc 信令服务。但是在执行时出现以下错误:Uncaught (in promise) Error: InvalidStateError: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Called in wrong state: kStable.

这是代码:

我已经按照Kyle Robinson Young的 SignalHub 学习了这两个教程P2P Video Chat with JavaScript / WebRTC & P2P Signaling for WebRTC。

0 投票
2 回答
1873 浏览

javascript - 如何使用 simple-peer webRTC SDK 进行屏幕共享

我正在尝试为我的聊天实现 webrtc 和简单的对等点。一切正常,但我想添加屏幕共享选项。为此,我尝试了:

但是我停止了摄像头,然后什么也没做,并且我对等计算机上的视频流被阻止了。没有错误,仅此而已。

当事件流被触发时,我已经放置了一个 console.log 。第一次触发,但是当我调用addStream方法时,它没有

如果有人可以帮助我,那将非常有帮助。

0 投票
0 回答
337 浏览

javascript - WebRTC-问题:无法在稳定中创建答案(没有 Chrome,但涉及 AJAX 信号)

有人可以帮帮我吗?我有点卡住了。

我正在尝试使用 ajax 和涉及的数据库编写一个信令过程(这只是为了学习 WebRTC 的基础知识)。我似乎从 JSON 对象收到了 SDP 罚款,但是当我尝试在 get_remote_offer() 中为 pc_partner 创建答案时,我总是收到错误“无法在稳定中创建答案”。

我很确定这是显而易见的,但我对 WebRTC 很陌生,只是看不到什么。我在这里使用 Firefox,只是尝试连接它的两个实例(一个处于私有模式,一个处于“正常”模式,但我正试图使其适用于远程用户。

这是我的代码:

对不起,承诺和回调的混合......我尝试了一些事情以防万一......当它工作时,我将重写回调部分。非常感谢您提前给我的任何提示:)。

最好的问候和感谢您到现在为止的阅读;)。

富丘尔

0 投票
1 回答
484 浏览

spring-boot - 单元测试用 Spring Boot 编写的 WebSocket Signaling 服务器

我的任务是为以下信令服务器编写单元测试用例。任何人都可以帮助我解决至少一个成功运行的测试用例吗?我可以从那里捡起来。目前,我对这项任务一无所知,我似乎对如何处理这个问题甚至连最微弱的想法都没有。请有人给我一些光。

这是课程:

}

这就是我编写单元测试用例的方式:

}

当我运行它时,我得到这些错误:

请以某种方式帮助我,现在仅帮助我编写一个测试用例就足够了,因为我将尝试基于此编写剩余的用例。在上面提到的所有事情上,我在概念上都非常薄弱,所以请尽量体谅。提前非常感谢。

0 投票
2 回答
690 浏览

webrtc - 在无法访问 Internet 的本地网络中使用 WebRTC 运行应用程序

我希望在一个项目中使用 WebRTC,在该项目中,我需要从一台计算机、一个带有 wifi 热点和 USB 摄像头的机器人通过本地网络将视频直播到另一台计算机、机器人的控制器。在这种情况下,两台计算机都是单板计算机,视频流是单向的。我还希望两台计算机在两个方向上相互通信数据。我在研究中发现了 WebRTC,它似乎具有我正在寻找的这两种功能。

从演示 NodeJS 程序的初始测试来看,WebRTC 似乎几乎正是我正在寻找的。不过,我一直试图克服的一个大问题是,默认情况下,它似乎需要在两个客户端之间使用在线信号服务器。我研究并发现可以使用第三台计算机在本地网络中创建信令服务器,但这样的设置不适合我的项目。

我研究了其他解决方案并遇到了OpenVidu,它实现了 WebRTC,但允许将信令服务器内置到其中一台客户端计算机中(至少这是我在另一篇堆栈溢出帖子中读到的)。我还没有测试这个工具,看看它是否能解决我的问题,但我目前被项目使用的 docker 映像阻止,不支持我的单板计算机使用的 ARM 处理器,因此需要特殊安装。

在我完成可能会或可能不会工作的过程之前,我想问一下是否有另一种更简单的解决方案来运行 WebRTC,无需互联网访问且不需要第三台计算机作为信令服务器,或者是否有任何关于 WebRTC 以外的工具的建议对我的申请会更好。我对这项技术非常陌生,肯定会错过一个简单的或现有的解决方案。对此问题的任何帮助将不胜感激。

对于那些好奇的人,正在使用的单板计算机是 NVidia Jetson Nanos。

0 投票
1 回答
1415 浏览

node.js - React Native + WebRTC TypeError: Undefined is not and Object(Evaluating: 'data.type')

我一直在尝试用 React Native 学习 WebRTC,所以我一直在做这个视频通话项目。我以为我已经弄清楚了,直到这件事出现。

首先,这是我的 React Native 代码

此时值得一提的是,我的 STUN/TURN 服务器完美运行,这是我的信号套接字

但是这里是问题开始的地方。

当我使用应用程序登录时,这是 Socket 显示的内容。

但立即,该应用程序显示了这一点。

socket连接后出现红框错误

如果我解除错误并尝试呼叫另一个已连接的对等方,则错误会显示在我尝试呼叫的设备上。

呼叫尝试后的红框

React Native cli,告诉我与错误相同

这是当我尝试调用另一个已连接的对等点时套接字显示的内容。

我不知道我做错了什么,但是对于我的问题的任何帮助将不胜感激。