ubuntu 中的 TURN 服务器不工作
TURN server in ubuntu is not working
对于视频通话,我正在使用 Phonertc(基于 Webrtc)
我在 Ubuntu 14.04.3 LTS 中设置了 turnserver
我遵循了 https://github.com/coturn/rfc5766-turn-server/
的指示
我下载了 turnserver-3.2.5.9-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz
来自 http://turnserver.open-sys.org/downloads/v3.2.5.9/ 并根据提供的说明进行设置。
安装后我更改了 /etc/turnserver.conf 并取消注释以下行:
fignerprint
lt-cred-mech
realm (i set my domain name)
在 etc/turnuserdb.conf
我添加了纯用户名和密码
当我 运行 turnserver 使用命令 'turnserver' 它打印日志为
0: log file opened: /var/tmp/turn_14007_2016-05-17.log
0:
RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
Version Citrix-3.2.5.9 'Marshal West'
0:
Max number of open files/sockets allowed for this process: 4096
0:
Due to the open files/sockets limitation,
max supported number of TURN Sessions possible is: 2000 (approximately)
0:
==== Show him the instruments, Practical Frost: ====
0: TLS supported
0: DTLS supported
0: Redis supported
0: PostgreSQL supported
0: MySQL supported
0: OpenSSL compile-time version 0x1000105f: fresh enough
0: Default Net Engine version: 2 (UDP thread per network endpoint)
=====================================================
0: Config file found: /etc/turnserver.conf
0: Config file found: /etc/turnserver.conf
0: Config file found: /etc/turnuserdb.conf
0: WARNING: cannot find certificate file: turn_server_cert.pem (1)
0: WARNING: cannot start TLS and DTLS listeners because certificate file is not set properly
0: WARNING: cannot find private key file: turn_server_pkey.pem (1)
0: WARNING: cannot start TLS and DTLS listeners because private key file is not set properly
0: NO EXPLICIT LISTENER ADDRESS(ES) ARE CONFIGURED
0: ===========Discovering listener addresses: =========
0: Listener address to use: 127.0.0.1
0: Listener address to use: 10.240.0.2
0: =====================================================
0: Total: 1 'real' addresses discovered
0: =====================================================
0: NO EXPLICIT RELAY ADDRESS(ES) ARE CONFIGURED
0: ===========Discovering relay addresses: =============
0: Relay address to use: 10.240.0.2
0: =====================================================
0: Total: 1 relay addresses discovered
0: =====================================================
Cannot create pid file: /var/run/turnserver.pid: Permission denied
0: Cannot create pid file: /var/run/turnserver.pid
0: pid file created: /var/tmp/turnserver.pid
0: IO method (main listener thread): epoll (with changelist)
0: Wait for relay ports initialization...
0: relay 10.240.0.2 initialization...
0: relay 10.240.0.2 initialization done
0: Relay ports initialization done
0: IO method (general relay thread): epoll (with changelist)
0: turn server id=0 created
0: Total UDP servers: 1
0: Total General servers: 1
0: IO method (cli thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
我在客户端中设置了 ice 服务器
iceServers: [
{
url: 'stun:stun.l.google.com:19302'
},
{
url: self.config.turn.host,
username: self.config.turn.username,
password: self.config.turn.password
}]
这里,当用户从移动设备呼叫时,网络用户应该看到来自移动设备的视频。它在 wifi 网络上工作正常
现在的问题是当我尝试从 3g 网络或 4g 网络呼叫时将建立呼叫但没有数据(视频)传输。屏幕变黑。
我还尝试检查不同的 link 以检查我的 turnserver 是否 运行ning。
它说 turnserver 不是 运行ning.
如果我的 turnserver 真的没有 运行ning 或在 stun 和 turn 之间切换不起作用,我很困惑。
我认为问题可能出在 url 配置上。您应该使用 'urls' 而不是 'url'。
iceServers: [
{
urls: 'stun:stun.l.google.com:19302'
},
{
urls: self.config.turn.host,
username: self.config.turn.username,
password: self.config.turn.password
}]
'url' 正在弃用。有关详细信息,请参阅此处:https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer/urls
我遇到了问题,因为我的 turnserver 不是 运行 在 public ip 中。我在具有 public ip 的实例中安装了 turnserver 并通过其他网络访问它,现在它工作正常。
对于视频通话,我正在使用 Phonertc(基于 Webrtc)
我在 Ubuntu 14.04.3 LTS 中设置了 turnserver 我遵循了 https://github.com/coturn/rfc5766-turn-server/
的指示我下载了 turnserver-3.2.5.9-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz
来自 http://turnserver.open-sys.org/downloads/v3.2.5.9/ 并根据提供的说明进行设置。
安装后我更改了 /etc/turnserver.conf 并取消注释以下行:
fignerprint
lt-cred-mech
realm (i set my domain name)
在 etc/turnuserdb.conf 我添加了纯用户名和密码
当我 运行 turnserver 使用命令 'turnserver' 它打印日志为
0: log file opened: /var/tmp/turn_14007_2016-05-17.log
0:
RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
Version Citrix-3.2.5.9 'Marshal West'
0:
Max number of open files/sockets allowed for this process: 4096
0:
Due to the open files/sockets limitation,
max supported number of TURN Sessions possible is: 2000 (approximately)
0:
==== Show him the instruments, Practical Frost: ====
0: TLS supported
0: DTLS supported
0: Redis supported
0: PostgreSQL supported
0: MySQL supported
0: OpenSSL compile-time version 0x1000105f: fresh enough
0: Default Net Engine version: 2 (UDP thread per network endpoint)
=====================================================
0: Config file found: /etc/turnserver.conf
0: Config file found: /etc/turnserver.conf
0: Config file found: /etc/turnuserdb.conf
0: WARNING: cannot find certificate file: turn_server_cert.pem (1)
0: WARNING: cannot start TLS and DTLS listeners because certificate file is not set properly
0: WARNING: cannot find private key file: turn_server_pkey.pem (1)
0: WARNING: cannot start TLS and DTLS listeners because private key file is not set properly
0: NO EXPLICIT LISTENER ADDRESS(ES) ARE CONFIGURED
0: ===========Discovering listener addresses: =========
0: Listener address to use: 127.0.0.1
0: Listener address to use: 10.240.0.2
0: =====================================================
0: Total: 1 'real' addresses discovered
0: =====================================================
0: NO EXPLICIT RELAY ADDRESS(ES) ARE CONFIGURED
0: ===========Discovering relay addresses: =============
0: Relay address to use: 10.240.0.2
0: =====================================================
0: Total: 1 relay addresses discovered
0: =====================================================
Cannot create pid file: /var/run/turnserver.pid: Permission denied
0: Cannot create pid file: /var/run/turnserver.pid
0: pid file created: /var/tmp/turnserver.pid
0: IO method (main listener thread): epoll (with changelist)
0: Wait for relay ports initialization...
0: relay 10.240.0.2 initialization...
0: relay 10.240.0.2 initialization done
0: Relay ports initialization done
0: IO method (general relay thread): epoll (with changelist)
0: turn server id=0 created
0: Total UDP servers: 1
0: Total General servers: 1
0: IO method (cli thread): epoll (with changelist)
0: IO method (auth thread): epoll (with changelist)
我在客户端中设置了 ice 服务器
iceServers: [
{
url: 'stun:stun.l.google.com:19302'
},
{
url: self.config.turn.host,
username: self.config.turn.username,
password: self.config.turn.password
}]
这里,当用户从移动设备呼叫时,网络用户应该看到来自移动设备的视频。它在 wifi 网络上工作正常 现在的问题是当我尝试从 3g 网络或 4g 网络呼叫时将建立呼叫但没有数据(视频)传输。屏幕变黑。
我还尝试检查不同的 link 以检查我的 turnserver 是否 运行ning。
如果我的 turnserver 真的没有 运行ning 或在 stun 和 turn 之间切换不起作用,我很困惑。
我认为问题可能出在 url 配置上。您应该使用 'urls' 而不是 'url'。
iceServers: [
{
urls: 'stun:stun.l.google.com:19302'
},
{
urls: self.config.turn.host,
username: self.config.turn.username,
password: self.config.turn.password
}]
'url' 正在弃用。有关详细信息,请参阅此处:https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer/urls
我遇到了问题,因为我的 turnserver 不是 运行 在 public ip 中。我在具有 public ip 的实例中安装了 turnserver 并通过其他网络访问它,现在它工作正常。