问题
I am using ejabberd-16.04
on my mac and XMPPFramework
from robbiehanson.
It works fine for chatting, no problem.
But now I want to add voice calling into my application.
I am using Jingle Protocol
for call establishment and it works fine for direct communication (i.e. both caller and callee are in same network).
The problem I am facing is for cross-network and I want to implement Jingle ICE
for this, NATed clients.
1 Can any one tell me how can I enable and use STUN/TURN module on ejabberd server
and same thing at client side.
1.1 Iam also facing problems with urn:xmpp:extdisco:2
for external service discovery.
2 Is there any library for XMPP which implements Jingle-ICE
for iOS?
回答1:
The community version of ejabberd includes STUN and TURN. https://docs.ejabberd.im/admin/guide/configuration/#stun-and-turn You'll need to configure SRV records for both STUN and TURN in order for client discovery of STUN/TURN to work correctly. http://wiki.xmpp.org/web/SRV_Records#STUN_SRV_records
The only significant limitation is that TURN Authentication does not work with SCRAM password storage.
来源:https://stackoverflow.com/questions/37302740/stun-turn-ice-implementation-with-ejabberd-server-and-xmpp-client-ios