2017-12-09 11 views
0

ejabberd + stanza.ioを使用してリアルタイムのメッセージングWebサイトを作成しました。 すべてが完全に機能しています。 今、私はジングルプロトコールを使ってWebrtcオーディオ/ビデオを実装したいと考えています。 これは私が接続するために使用私のJSコードです:Stanza.io WebRTCの回答を作成できません

var client = XMPP.createClient({ 
    jid: xmpp_user+'@'+XMPP_DOMAIN, 
    password: cu.auth.user_password, 
    transport: 'websocket', 
    wsURL: "ws://"+xms+":5280/websocket/" 
}); 


client.jingle.config.debug = true; 


client.on('session:started', function() { 
    client.enableCarbons(); 
    client.getRoster(function (err, resp) { 
    client.updateCaps(); 
    client.sendPresence({ 
     caps: client.disco.caps 
    }); 
    }); 
}); 

client.connect(); 

問題は、私は他のアプリ(AstraChat:ジングルをサポートするiOSアプリ)からユーザーを呼び出したときである私は、ブラウザのログにこれを取得する:

Jingle: 67bzrsog243: session-initiate undefined undefined 
Jingle: 67bzrsog243: Could not create WebRTC answer undefined undefined 

これはastrachatが送信されるXMLです:

<iq xmlns='jabber:client' xml:lang='en' to='[email protected]/352555070032013318140962' from='[email protected]/AstraChat-iOS-21820150' type='get' id='3e8kjajc22'><query xmlns='http://jabber.org/protocol/disco#info'/></iq> 
<r xmlns='urn:xmpp:sm:3'/> 
<a h='1' xmlns='urn:xmpp:sm:3'/> 
<a h='2' xmlns='urn:xmpp:sm:3'/> 
jingle:created 
iq:set:jingle 
<iq xmlns='jabber:client' xml:lang='en' to='[email protected]/352555070032013318140962' from='[email protected]/AstraChat-iOS-21820150' type='set' id='3e8kjajc23'><jingle xmlns='urn:xmpp:jingle:1' action='session-initiate' initiator='[email protected]/AstraChat-iOS-21820150' responder='[email protected]/352555070032013318140962' sid='3e8kjajc24'><content creator='initiator' name='voice'><description xmlns='urn:xmpp:jingle:apps:rtp:1' media='audio'><payload-type id='101' name='speex' clockrate='8000'/></description><transport xmlns='urn:xmpp:jingle:transports:ice-udp:1' pwd='TC5NsD6IEQGXeDO8d5/3OU' ufrag='yA0z'/></content></jingle></iq> 
<r xmlns='urn:xmpp:sm:3'/> 
Jingle: 3e8kjajc24: session-initiate undefined undefined 
Could not create WebRTC answer undefined undefined 

私は本当にすべてのヘルプは理解されるであろう、という解決方法についての見当もつかない。

+0

あなたはastrachatが送信しているjingle session initiate stanzaのxmlを表示できますか?そのボップのものはWebRTCと互換性がないかもしれません。 –

+0

@PhilippHancke iveはastrachatが送っているスタンザをカバーするために私の答えを更新しました –

答えて

1

アストラチャットから-開始したセッションは、あなたのログによると、このです: <iq xmlns="jabber:client" xml:lang="en" to="[email protected]/352555070032013318140962" from="[email protected]/AstraChat-iOS-21820150" type="set" id="3e8kjajc23"> <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" initiator="[email protected]/AstraChat-iOS-21820150" responder="[email protected]/352555070032013318140962" sid="3e8kjajc24"> <content creator="initiator" name="voice"> <description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"> <payload-type id="101" name="speex" clockrate="8000" /> </description> <transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" pwd="TC5NsD6IEQGXeDO8d5/3OU" ufrag="yA0z" /> </content> </jingle> </iq> のみのWebRTCは、(作品やG.711は必須です)をサポートしていませんSpeexのオーディオコーデックを提供しています。また、WebRTCでは必須の暗号化もありません。

+0

あなたはopusをサポートするジングルクライアントを知っていますか? 暗号化はSSLを使用しているのですか? –

+0

よく、それは、他のコンピュータ上で私の問題を解決した(他のコンピュータ上で)letsencrypt証明書と他のwebrtcインスタンスを使用することが判明しました ありがとう4 urヘルプ –

関連する問題