webrtcbin: TURN Server support doesn't seem to work correctly
I'm using a simple TURN server string turn://username:password@127.0.0.1:3478
.
Starting TURN Server itself using turnserver -L 127.0.0.1 --lt-cred-mech --fingerprint -u username:password -X public_ip/127.0.0.1 -v
.
The result is this:
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.42.146:54226
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.88.44:54789
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.88.44:34473
459: session 009000000000000006: realm <> user <>: incoming packet message processed, error 401: Unauthorized
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.42.146:36822
459: session 003000000000000005: realm <> user <>: incoming packet message processed, error 401: Unauthorized
459: session 006000000000000005: realm <> user <>: incoming packet message processed, error 401: Unauthorized
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.243.18:33458
459: session 011000000000000004: realm <> user <>: incoming packet message processed, error 401: Unauthorized
459: session 001000000000000005: realm <> user <>: incoming packet message processed, error 401: Unauthorized
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.243.18:44127
459: session 007000000000000005: realm <> user <>: incoming packet message processed, error 401: Unauthorized
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.88.44:51941
459: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.88.44:40486
459: session 002000000000000006: realm <> user <>: incoming packet message processed, error 401: Unauthorized
459: session 007000000000000006: realm <> user <>: incoming packet message processed, error 401: Unauthorized
However, when testing with https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ the log looks different and everything works fine:
5: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.42.146:60710
5: session 001000000000000001: realm <> user <>: incoming packet message processed, error 401: Unauthorized
5: IPv4. Local relay addr: 127.0.0.1:50675
5: session 001000000000000001: new, realm=<>, username=<username>, lifetime=3600
5: session 001000000000000001: realm <> user <username>: incoming packet ALLOCATE processed, success
5: handle_udp_packet: New UDP endpoint: local addr 127.0.0.1:3478, remote addr 192.168.42.146:52688
5: session 007000000000000001: realm <> user <>: incoming packet message processed, error 401: Unauthorized
5: IPv4. Local relay addr: 127.0.0.1:56975
5: session 007000000000000001: new, realm=<>, username=<username>, lifetime=3600
5: session 007000000000000001: realm <> user <username>: incoming packet ALLOCATE processed, success
5: session 001000000000000001: refreshed, realm=<>, username=<username>, lifetime=0
5: session 007000000000000001: refreshed, realm=<>, username=<username>, lifetime=0
5: session 001000000000000001: realm <> user <username>: incoming packet REFRESH processed, success
5: session 007000000000000001: realm <> user <username>: incoming packet REFRESH processed, success
6: session 001000000000000001: closed (2nd stage), user <username> realm <> origin <>, local 127.0.0.1:3478, remote 192.168.42.146:60710, reason: allocation timeout
6: session 007000000000000001: closed (2nd stage), user <username> realm <> origin <>, local 127.0.0.1:3478, remote 192.168.42.146:52688, reason: allocation timeout
6: session 001000000000000001: delete: realm=<>, username=<username>
6: session 007000000000000001: delete: realm=<>, username=<username>
So from GStreamer/libnice logs it seems that username is not being sent at all.