问题标签 [jingle]
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.
xmpp - 使用带有叮当声的候选冰块
我正在尝试使用 strophe 使用 webrtc videochat 来做我的第一个 xmpp 客户端。strophe.jingle
它的文档很少,所以我最终窃取了示例代码来尝试让它工作。
我通过 XMPP 成功地将视频聊天邀请发送给其他用户,并且该应用程序正在尝试设置聊天。然而,它给了我这样的关于 ICE 候选人的错误(它抛出 6-8):
addIceCandidate failed SyntaxError: 无法在“RTCPeerConnection”上执行“addIceCandidate”:无法添加 ICE 候选。a=candidate 2565634929 1 udp 41819903 66.228.45.110 64264 typ relay raddr 79.260.27.217 rport 58182 generation 0
我已经做了足够多的搜索,意识到我需要设置 ice 服务器 url 或其他东西。但我不知道怎么做。
我试过了:
我正在发送这样的邀请
在这一点上,我觉得这一切都在我的脑海中,如果没有任何真正的文档,真的很难阅读它。如果有人能给我一根骨头,我真的很高兴。
xmpp - WebRTC、Jingle 和 XMPP 有什么区别?
WebRTC 和 Jingle 有什么区别。我将使用 XMPP ejabberd 服务器构建基于 Android 的语音呼叫应用程序。那么,其中哪一个将是 Android 上语音通话的最佳选择?
java - 在android中,如何在从服务器下载视频文件时添加叮当声
在这段代码中,当视频从服务器下载到移动设备时,我需要应用叮当声
MainActivity.java 包 ivmshd.mcu.com.demo;
在视频视图中播放视频的位置。此视频是从服务器获取的视频
xmpp - 如何在 smack 4.2.0 中为没有命名空间的元素添加提供程序
我在谷歌搜索中找不到任何关于此的内容,但我离 XMPP 专家还很远,所以答案可能很明显。我想知道解析没有显式命名空间的自定义子元素的最佳方法。在这种情况下,我正在解析一些 jingle 元素,其中一些没有任何明确的命名空间(例如,payload-type
,或者parameter
没有明确声明命名空间而只是继承它)。
例如:
在这里,payload-type 和 parameter 都将从 description ( urn:xmpp:jingle:apps:rtp:1
) 继承父命名空间。但是参数也可以在其他地方使用:
在这里,参数将具有urn:xmpp:jingle:apps:rtp:ssma:0
命名空间。
向 ProviderManager 添加自定义提供程序时,它需要传入显式命名空间,因此我不能只传入一个空字符串(ProviderManager.addExtensionProvider 显式检查)。
一种选择是注册parameter
提供者,例如,在每个可能的命名空间下,但这感觉不太好。
另一种选择是更高级别的提供程序(具有显式命名空间的提供程序)解析任何没有命名空间的嵌套子元素,而不是仅仅递归地获取适当的扩展提供程序并调用 parse。似乎向 ProviderManager 注册所有内容是一种更惯用的方式。这可能会使用某种内部版本的提供程序管理器,它只适用于名称。因此,一个元素会首先在官方 ProviderManager 中查找任何匹配的内容,然后尝试其内部版本。
有没有一种惯用的方法来实现这一目标?也许我完全错过了什么?
我确实在这个问题中看到了名称空间是预期的,但我没有看到Jingle RTP spec中列出的任何名称。所以也许我上面的想法之一是正确的,但我想知道哪个最适合图书馆。
谢谢
dns - 为 ejabberd STUN 添加 DNS 记录
我正在使用 Ejabberd 服务器开发一个聊天应用程序。我想实现音频和视频通话。为此,我想使用 Jingle。
但是,jingle 需要一个 stun 服务器,所以我试图将 Ejabberd 配置为一个。
在文档(https://docs.ejabberd.im/admin/configuration/#stun-and-turn)中,据说您必须添加 DNS 记录,如下所示:
_stun._udp IN SRV 0 0 3478 stun.example.com.
_stun._tcp IN SRV 0 0 3478 stun.example.com.
_stuns._tcp IN SRV 0 0 5349 stun.example.com.
但是,我不知道在哪里进行此配置(我正在使用 Windows 机器)。有人能帮助我吗 ?
谢谢
node.js - Webrtc:无法处理 WebRTC 答案
我使用 ejabberd + stanza io 来构建一个实时消息和音频呼叫网站。我设法打了我的第一个音频电话
当我尝试拨打电话时出现问题
chrome浏览器日志显示
Could not process WebRTC answer
通过使用chrome://webrtc-internals
调试器工具,我发现setremotedescription
失败并出现错误:
这就是我用来开始通话的方法:
我究竟做错了什么?firefox如何成功建立呼叫但chrome无法(在opera上测试结果相同(失败))
java - 在java中创建一个具有公共IP和内部IP的套接字
我们正在尝试在我们的应用程序中实现 xmpp 叮当协议,叮当声结构如下:
如您所见,我们有两个 IP 和两个端口,一个是公共的,另一个是内部的(如果我没记错的话,在 NAT 后面)
所以在java中我们应该使用什么样的套接字来实现两个客户端之间的p2p。
android - How to use the ip and port returned from a STUN server
hope your having a nice day . im building a Video Call application using XMPP and Jingle and direct ByteStream from phone to phone . in order to do so i noticed i need a stun server to get public ip and port of android devices and send them to the other party , im getting the public ip like this
then i send the result to the other party and open up a SocketServer on this client using given port , but still i can not connect to this ServerSocket over internet , or probably i am doing some thing wrong ? can you please help me how should i use STUN or TURN results ? thanks
and here is my connecting side of Jingle just in case
video-streaming - JICOFO:参与者不支持捆绑包,这是必需的
我正在使用自定义客户端连接到 jitsi 中创建的会议室。但我得到以下异常:
org.jitsi.jicofo.AbstractChannelAllocator.log() 创建报价时出错 org.jitsi.jicofo.UnsupportedFeatureConfigurationException:参与者不支持捆绑包,这是 org.jitsi.jicofo.Participant.setSupportedFeatures(Participant.java:280) 所必需的org.jitsi.jicofo.ParticipantChannelAllocator.createOffer(ParticipantChannelAllocator.java:93) 在 org.jitsi.jicofo.AbstractChannelAllocator.doRun(AbstractChannelAllocator.java:178) 在 org.jitsi.jicofo.AbstractChannelAllocator.run(AbstractChannelAllocator.java:150)在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java :1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker。在 java.lang.Thread.run(Thread.java:748) 处运行(ThreadPoolExecutor.java:624)
我正在使用 LibJitsi ( https://github.com/jitsi/libjitsi ) 和 jirecon ( https://github.com/linhnv5/jirecon )。jirecon 是客户。客户说
无法获取 session-init 数据包,可能 MUC 已锁定
由于 jicofo 的错误,这就是 jingle session 也没有建立的原因。
任何人都可以帮助解决这个问题吗?
react-native - Stanza Jingle 无法在 React Native 中使用 XMPP 服务器进行 webRTC 信令
我正在使用 react-native 开发 XMPP 聊天应用程序。我正在使用节库与 XMPP 服务器进行通信。文字聊天工作正常。现在我正在使用 webRTC 集成视频聊天。我想使用 XMPP 服务器作为我的信令服务器。我正在使用jingle为 webRTC 通信创建媒体会话。但是当我试图创建一个 RTCPeerConnection 时,它总是返回未定义。
这是我的反应原生代码:
这就是我尝试建立会话的方式。但它抛出以下错误:
问题出现在SessionManager.js
这里的 stanza_shims_1.RTCPeerConnection 总是未定义的。所以我尝试用react-native-webrtc 替换 RTCPeerConnection(不是正确的方法)。然后会话被启动并且能够发送用于信令的数据包。但是该节中的侦听器不适用于react-native-webrtc。谁能帮我完成这项工作?