c++ - 调用应用程序 libjingle,用户自动从名册中删除。为什么?

标签 c++ p2p voip libjingle

好的,尝试在 2 台装有 ubuntu 11.10 的笔记本电脑上运行 libjingle-0.6.14 中编译的“call”程序,

当我从第一台笔记本电脑登录,并从另一台笔记本电脑再次登录(使用不同的帐户)时.. 上线的用户会立即从花名册中删除,我没有人可以打电话...

这是输出..

   <stream:stream from="gmail.com" id="1D65B8B570251398" version="1.0"xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
 XmppLoginTask::Advance - LOGINSTATE_STREAMSTART_SENT
 RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:51 2012
  <stream:features>
 <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
   <mechanism>
     PLAIN
   </mechanism>
   <mechanism>
     X-GOOGLE-TOKEN
   </mechanism>
   <mechanism>
     X-OAUTH2
   </mechanism>
 </mechanisms>
</stream:features>
XmppLoginTask::Advance - LOGINSTATE_STARTED_XMPP
XmppLoginTask::Advance - LOGINSTATE_AUTH_INIT
XmppLoginTask::Advance - LOGINSTATE_SASL_RUNNING
SEND >>>>>>>>>>>>>>>> : Tue Aug 21 18:37:51 2012


 <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN" auth:allow-
 non-google- 
  login="true" auth:client-uses-full-bind-result="true" 
 xmlns:auth="http://www.google.com/talk/protocol/auth">
 ## TEXT REMOVED ##
 </auth>
 RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:51 2012
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
XmppLoginTask::Advance - LOGINSTATE_SASL_RUNNING
XmppLoginTask::Advance - No error
XmppLoginTask::Advance - LOGINSTATE_STREAMSTART_SENT
SEND >>>>>>>>>>>>>>>> : Tue Aug 21 18:37:51 2012
<stream:stream to="gmail.com" xml:lang="*" version="1.0" 
xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:51 2012
<stream:stream from="gmail.com" id="2B727FCA62E71E0F" version="1.0" 
xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client">
XmppLoginTask::Advance - LOGINSTATE_STREAMSTART_SENT
RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:51 2012
<stream:features>
 <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>
 <session xmlns="urn:ietf:params:xml:ns:xmpp-session"/>
 </stream:features>
XmppLoginTask::Advance - LOGINSTATE_STARTED_XMPP
XmppLoginTask::Advance - LOGINSTATE_BIND_INIT
XmppLoginTask::Advance - LOGINSTATE_BIND_REQUESTED
SEND >>>>>>>>>>>>>>>> : Tue Aug 21 18:37:51 2012


<iq type="set" id="0">
 <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">
   <resource>
     call
   </resource>
 </bind>
 </iq>
RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:51 2012
<iq id="0" type="result">
  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">
   <jid>
     tejeshsmith@gmail.com/call6183138F
   </jid>
  </bind>
</iq>
XmppLoginTask::Advance - LOGINSTATE_BIND_REQUESTED
XmppLoginTask::Advance - LOGINSTATE_SESSION_REQUESTED
SEND >>>>>>>>>>>>>>>> : Tue Aug 21 18:37:51 2012
<iq type="set" id="1">
 <session xmlns="urn:ietf:params:xml:ns:xmpp-session"/>
</iq>
RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:51 2012
RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:51 2012

<iq type="result" id="1"/>
XmppLoginTask::Advance - LOGINSTATE_SESSION_REQUESTED
logged in...
Creating default VideoCapturer
Enumerating V4L2 devices
V4L2 device metadata found at /sys/class/video4linux/
Found V4L2 capture device /dev/video0
Trying /sys/class/video4linux/video0/name
Name for video0 is HP Webcam
Total V4L2 devices found : 1
Creating default VideoCapturer
Enumerating V4L2 devices
V4L2 device metadata found at /sys/class/video4linux/
Found V4L2 capture device /dev/video0
Trying /sys/class/video4linux/video0/name
Name for video0 is HP Webcam 
Total V4L2 devices found : 1
Selected PulseAudio sound system
Number of references: 1
<pre><code>Number of references: 0
Selected PulseAudio sound system
Number of references: 1
Number of references: 0
Enumerating V4L2 devices
V4L2 device metadata found at /sys/class/video4linux/
Found V4L2 capture device /dev/video0
Trying /sys/class/video4linux/video0/name
Name for video0 is HP Webcam
Total V4L2 devices found : 1
SEND >>>>>>>>>>>>>>>> : Tue Aug 21 18:37:51 2012
<presence>
 <status/>
 <priority>
   0
 </priority>
 <c xmlns="http://jabber.org/protocol/caps" node="http://code.google.com/p/libjingle
 /call" ver="0.6" ext=" pmuc-v1"/>
 <x xmlns="jabber:x:delay" stamp="20120821T13:07:51"/>
</presence>
RECV <<<<<<<<<<<<<<<< : Tue Aug 21 18:37:52 2012
<presence from="smithtejesh@gmail.com/callAB04C4D8"  
to="tejeshsmith@gmail.com/call6183138F">
 <status/>
 <priority>
   0
 </priority>
 <c node="http://code.google.com/p/libjingle/call" ver="0.6" ext=" pmuc-v1" 
 xmlns="http://jabber.org/protocol/caps"/>
 <x stamp="20120821T12:58:59" xmlns="jabber:x:delay"/>
 <x xmlns="vcard-temp:x:update"/>

从花名册中删除:smithtejesh@gmail.com/callAB04C4D8

smithtejesh@gmail.com 已从名册中删除..自动...这里可能出了什么问题?

最佳答案

调用“调用”示例的参数可能不完整。 libjingle 源附带的未经修改的示例不会从计算机硬件捕获视频/音频。它将播放包含音频/视频的 rtp 转储文件。源文件附带示例 rtp 转储文件,可用于向浏览器客户端播放音频/视频,或者可以“传输”到另一个“调用”示例客户端并在本地保存到第二个客户端上的 rtcp 转储文件。

使用调用示例程序的正确方法是(如果在 linux 上):

./call --videoinput ./test.rtpdump --voiceinput ./voice.rtpdump --videooutput ./vidoutput.rtpdump --voiceoutput ./voioutput.rtpdump

libjingle 谷歌代码网站上有几个问题讨论了这个问题,我目前正在努力寻找它们。如果我这样做,我将编辑这篇文章或添加带有链接的评论。

关于c++ - 调用应用程序 libjingle,用户自动从名册中删除。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12055892/

相关文章:

networking - 什么是点对点游戏中的同步?

java - 在 JXTA 中创建能力匹配/对等选择组件?

android - VoIP 应用程序开发问题(SIP 等)

ruby - 通过浏览器进行音频聊天和通话

python - 模仿OpenCV中的 "magic wand"photoshop工具

c++ - 如何从 Delphi 调用 "_pascal calling convention"的 dll?

c++ - 使用对函数和 IO 对象的引用(作为参数)的目的是什么?

c++ - 通过指向实例的静态指针访问成员变量

algorithm - 关于 p2p 算法的细节、书籍或开源项目?

audio - Asterisk - 将插件写入 "catch"语音流