Hi,
I tested ejabberd last year with the version 16.09. Among the test, I used the STUN/TURN capabilities of ejabberd for establishing video chat between two users behind a NATed network. All worked fine at that time and all works fine today again with ejabberd 16.09.
I decided this month to test the upgrade of ejabberd from an older version to the latest one, id est 17.04. After updating the configuration file ejabberd.yml to take into account the changes between these two versions (mainly in API permissions), I decided to test the new version. All works fine except the STUN/TURN capabilities of ejabberd. When a user A sends a video call to a user B, no connection between them is established; the call for a video chat by user A stays always in progress whereas user B doesn't receive any video call. No timeout is received by user A. In the ejabberd.log file the authentication to the STUN service seems to succeed and a TURN handler is created but nothing is really performed.
I decided then to check this problem occurs with older version of ejabberd from 16.12 and I got indeed the same symptoms.
Do you have any idea? A change in the configuration of the STUN/TURN feature of ejabberd?
ejabberd is installed from the ejabberd_17.04-0_amd64.deb archive on a Ubuntu 16.04.2 LTS.
This is my STUN/TURN configuration in ejabberd.yml:
- port: 3478 transport: udp use_turn: true turn_ip: "212.83.142.6" auth_type: user auth_realm: "im.silverpeas.net" module: ejabberd_stun - port: 3478 use_turn: true turn_ip: "212.83.142.6" auth_type: user auth_realm: "im.silverpeas.net" module: ejabberd_stun
This is the log (last attempt with ejabberd 17.04):
2017-04-20 18:10:07.858 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:07.863 [info] <0.779.0> created TURN allocation for
2017-04-20 18:10:07.885 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:07.885 [info] <0.780.0> created TURN allocation for
2017-04-20 18:10:07.948 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:07.948 [info] <0.781.0> created TURN allocation for
2017-04-20 18:10:07.955 [info] <0.329.0>@ejabberd_listener:accept:311 (<0.782.0>) Accepted connection 127.0.0.1:59410 -> 127.0.0.1:5280
2017-04-20 18:10:07.955 [info] <0.782.0>@ejabberd_http:init:175 started: {gen_tcp,#Port<0.24831>}
2017-04-20 18:10:07.965 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:07.965 [info] <0.783.0> created TURN allocation for
2017-04-20 18:10:08.027 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.028 [info] <0.784.0> created TURN allocation for
2017-04-20 18:10:08.055 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.055 [info] <0.785.0> created TURN allocation for
2017-04-20 18:10:08.099 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.099 [info] <0.786.0> created TURN allocation for
2017-04-20 18:10:08.170 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.170 [info] <0.787.0> created TURN allocation for
2017-04-20 18:10:08.275 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.276 [info] <0.788.0> created TURN allocation for
2017-04-20 18:10:08.286 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.286 [info] <0.789.0> created TURN allocation for
2017-04-20 18:10:08.287 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.287 [info] <0.790.0> created TURN allocation for
2017-04-20 18:10:08.287 [info] <0.326.0> accepted long-term STUN authentication for
2017-04-20 18:10:08.287 [info] <0.791.0> created TURN allocation for
2017-04-20 18:10:08.648 [info] <0.329.0>@ejabberd_listener:accept:311 (<0.792.0>) Accepted connection 127.0.0.1:59414 -> 127.0.0.1:5280
2017-04-20 18:10:08.648 [info] <0.792.0>@ejabberd_http:init:175 started: {gen_tcp,#Port<0.24841>}
2017-04-20 18:10:08.794 [info] <0.329.0>@ejabberd_listener:accept:311 (<0.793.0>) Accepted connection 127.0.0.1:59416 -> 127.0.0.1:5280
2017-04-20 18:10:08.794 [info] <0.793.0>@ejabberd_http:init:175 started: {gen_tcp,#Port<0.24842>}
2017-04-20 18:10:09.265 [info] <0.329.0>@ejabberd_listener:accept:311 (<0.794.0>) Accepted connection 127.0.0.1:59418 -> 127.0.0.1:5280
2017-04-20 18:10:09.265 [info] <0.794.0>@ejabberd_http:init:175 started: {gen_tcp,#Port<0.24843>}