Kurento / bugtracker

[ARCHIVED] Contents migrated to monorepo: https://github.com/Kurento/kurento
46 stars 10 forks source link

KMS not using STUN after it generates an SDP offer #24

Closed adrianbg closed 8 years ago

adrianbg commented 8 years ago

Ubuntu: 14.04 kurento-media-server-6.0: 6.3.1.trusty kms-core-6.0: 6.3.0.trusty App server is modified from the Hello World tutorial from git, version 6.1.0.

I modified the hello world tutorial to generate an SDP offer on the Kurento side. Even though KMS is configured to use a working STUN server, the ICE candidates it generates only have the server's non-public IP.

Here's a log:

2016-01-26 07:04:23,235457 30249 [0x00007fb8a05288c0] debug KurentoMediaServer main.cpp:193 main() Dumping logs to /var/log/kurento-media-server 2016-01-26 07:04:23,235835 30249 [0x00007fb8a05288c0] info KurentoModuleManager ModuleManager.cpp:139 loadModules() Looking for modules in /usr/lib/x86_64-linux-gnu/kurento/modules 2016-01-26 07:04:23,236801 30249 [0x00007fb8a05288c0] debug KurentoModuleManager ModuleManager.cpp:87 loadModule() Module loaded from /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so 2016-01-26 07:04:23,236871 30249 [0x00007fb8a05288c0] info KurentoModuleManager ModuleManager.cpp:118 loadModule() Loaded filters version 6.3.0 generated at Jan 19 2016 16:52:15 2016-01-26 07:04:23,241546 30249 [0x00007fb8a05288c0] debug KurentoModuleManager ModuleManager.cpp:87 loadModule() Module loaded from /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so 2016-01-26 07:04:23,241607 30249 [0x00007fb8a05288c0] info KurentoModuleManager ModuleManager.cpp:118 loadModule() Loaded elements version 6.3.0 generated at Jan 19 2016 16:40:59 2016-01-26 07:04:23,241999 30249 [0x00007fb8a05288c0] debug KurentoModuleManager ModuleManager.cpp:87 loadModule() Module loaded from /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so 2016-01-26 07:04:23,242058 30249 [0x00007fb8a05288c0] info KurentoModuleManager ModuleManager.cpp:118 loadModule() Loaded core version 6.3.0 generated at Jan 19 2016 16:14:22 2016-01-26 07:04:23,242119 30249 [0x00007fb8a05288c0] info KurentoMediaServer main.cpp:237 main() Kmsc version: 6.3.1 2016-01-26 07:04:23,242147 30249 [0x00007fb8a05288c0] info KurentoMediaServer main.cpp:238 main() Compiled at: Jan 20 2016 12:36:38 2016-01-26 07:04:23,242176 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:227 loadConfig() Reading configuration from: /etc/kurento/kurento.conf.json 2016-01-26 07:04:23,254598 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:164 loadModulesConfigFromDir() Looking for config files in /etc/kurento/modules 2016-01-26 07:04:23,254674 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:164 loadModulesConfigFromDir() Looking for config files in /etc/kurento/modules/kurento 2016-01-26 07:04:23,254799 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:189 loadModulesConfigFromDir() Loaded module config from: /etc/kurento/modules/kurento/MediaElement.conf.ini 2016-01-26 07:04:23,254895 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:189 loadModulesConfigFromDir() Loaded module config from: /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini 2016-01-26 07:04:23,255095 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:189 loadModulesConfigFromDir() Loaded module config from: /etc/kurento/modules/kurento/SdpEndpoint.conf.json 2016-01-26 07:04:23,255238 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:189 loadModulesConfigFromDir() Loaded module config from: /etc/kurento/modules/kurento/HttpEndpoint.conf.ini 2016-01-26 07:04:23,255376 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:189 loadModulesConfigFromDir() Loaded module config from: /etc/kurento/modules/kurento/UriEndpoint.conf.ini 2016-01-26 07:04:23,255527 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:189 loadModulesConfigFromDir() Loaded module config from: /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini 2016-01-26 07:04:23,255570 30249 [0x00007fb8a05288c0] info KurentoLoadConfig loadConfig.cpp:243 loadConfig() Configuration loaded successfully 2016-01-26 07:04:23,255657 30249 [0x00007fb8a05288c0] debug KurentoLoadConfig loadConfig.cpp:249 loadConfig() Effective loaded config: { "mediaServer": { "resources": { "garbageCollectorPeriod": "240" }, "net": { "websocket": { "port": "8888", "path": "kurento", "threads": "10" } } }, "configPath": "\/etc\/kurento", "modules": { "kurento": { "MediaElement": { "configPath": "\/etc\/kurento\/modules\/kurento" }, "BaseRtpEndpoint": { "configPath": "\/etc\/kurento\/modules\/kurento" }, "SdpEndpoint": { "numAudioMedias": "1", "numVideoMedias": "1", "audioCodecs": [ { "name": "OPUS\/48000\/2" }, { "name": "PCMU\/8000" }, { "name": "AMR\/8000" } ], "videoCodecs": [ { "name": "VP8\/90000" }, { "name": "H264\/90000" } ], "configPath": "\/etc\/kurento\/modules\/kurento" }, "HttpEndpoint": { "serverAddress": "localhost", "port": "9091", "configPath": "\/etc\/kurento\/modules\/kurento" }, "UriEndpoint": { "defaultPath": "file:\/\/\/var\/kurento\/", "configPath": "\/etc\/kurento\/modules\/kurento" }, "WebRtcEndpoint": { "stunServerAddress": "74.125.142.127", "stunServerPort": "19302", "configPath": "\/etc\/kurento\/modules\/kurento" } } } }

2016-01-26 07:04:23,255758 30249 [0x00007fb8a05288c0] info KurentoServerMethods ServerMethods.cpp:80 ServerMethods() Not enough resources exception will be raised when resources reach 0.800000 2016-01-26 07:04:23,256375 30249 [0x00007fb8a05288c0] info KurentoWebSocketTransport WebSocketTransport.cpp:208 WebSocketTransport() Secure websocket server not enabled 2016-01-26 07:04:23,256856 30249 [0x00007fb8a05288c0] info KurentoMediaServer main.cpp:255 main() Mediaserver started 2016-01-26 07:04:23,257024 30249 [0x00007fb897549700] debug KurentoWorkerPool WorkerPool.cpp:37 workerThreadLoop() Working thread starting 2016-01-26 07:04:23,257113 30249 [0x00007fb897d4a700] debug KurentoWorkerPool WorkerPool.cpp:37 workerThreadLoop() Working thread starting 2016-01-26 07:04:50,133293 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:507 openHandler() Client connected from 2016-01-26 07:05:46,728268 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:485 processMessage() Message: >{"id":1,"method":"create","params":{"type":"MediaPipeline","constructorParams":{}},"jsonrpc":"2.0"}< 2016-01-26 07:05:46,729591 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:487 processMessage() Response: >{"id":1,"jsonrpc":"2.0","result":{"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5","value":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline"}} < 2016-01-26 07:05:46,729753 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:432 storeConnection() Asociating session 02efa7e1-2a39-4824-985b-03aa3d1b32b5 2016-01-26 07:05:46,997165 30249 [0x00007fb896547700] debug KurentoWebSocketTransport WebSocketTransport.cpp:485 processMessage() Message: >{"id":2,"method":"create","params":{"type":"WebRtcEndpoint","constructorParams":{"mediaPipeline":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline"},"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5"},"jsonrpc":"2.0"}< 2016-01-26 07:05:47,001377 30249 [0x00007fb896547700] info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:68 remove_not_supported_codecs_from_array() Removing not supported codec 'OPUS/48000/2' 2016-01-26 07:05:47,001629 30249 [0x00007fb896547700] info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:68 remove_not_supported_codecs_from_array() Removing not supported codec 'AMR/8000' 2016-01-26 07:05:47,001755 30249 [0x00007fb896547700] info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:68 remove_not_supported_codecs_from_array() Removing not supported codec 'H264/90000' 2016-01-26 07:05:47,001927 30249 [0x00007fb896547700] info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:281 WebRtcEndpointImpl() stun port 19302

2016-01-26 07:05:47,002047 30249 [0x00007fb896547700] info KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:285 WebRtcEndpointImpl() stun address 74.125.142.127

2016-01-26 07:05:47,002975 30249 [0x00007fb896547700] debug KurentoWebSocketTransport WebSocketTransport.cpp:487 processMessage() Response: >{"id":2,"jsonrpc":"2.0","result":{"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5","value":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint"}} < 2016-01-26 07:05:47,451167 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:485 processMessage() Message: >{"id":3,"method":"invoke","params":{"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","operation":"connect","operationParams":{"sink":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint"},"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5"},"jsonrpc":"2.0"}< 2016-01-26 07:05:47,451523 30249 [0x00007fb894d44700] debug KurentoMediaElementImpl MediaElementImpl.cpp:665 connect() Connecting bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint -> bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint params AUDIO 2016-01-26 07:05:47,451740 30249 [0x00007fb894d44700] debug KurentoMediaElementImpl MediaElementImpl.cpp:665 connect() Connecting bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint -> bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint params VIDEO 2016-01-26 07:05:47,451887 30249 [0x00007fb894d44700] debug KurentoMediaElementImpl MediaElementImpl.cpp:665 connect() Connecting bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint -> bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint params DATA 2016-01-26 07:05:47,452088 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:487 processMessage() Response: >{"id":3,"jsonrpc":"2.0","result":{"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5","value":null}} < 2016-01-26 07:05:47,530459 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:485 processMessage() Message: >{"id":4,"method":"invoke","params":{"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","operation":"generateOffer","sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5"},"jsonrpc":"2.0"}< 2016-01-26 07:05:48,046580 30249 [0x00007fb894d44700] debug KurentoWebSocketTransport WebSocketTransport.cpp:487 processMessage() Response: >{"id":4,"jsonrpc":"2.0","result":{"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5","value":"v=0\r\no=- 3662780747 3662780747 IN IP4 0.0.0.0\r\ns=Kurento Media Server\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=group:BUNDLE audio0 video0\r\nm=audio 1 RTP/SAVPF 0\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=ssrc:65526568 cname:user1694387668@host-29df7460\r\na=ice-ufrag:Cz7u\r\na=ice-pwd:05vutO2zPmsBA+uTklu8rU\r\na=fingerprint:sha-256 D2:63:E1:5A:0A:1A:D0:EB:E4:50:0B:95:90:E4:E4:A1:FA:58:AF:0A:27:80:4D:9E:38:65:0E:34:C1:1E:A4:0A\r\na=mid:audio0\r\nm=video 1 RTP/SAVPF 97\r\nb=AS:500\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=rtpmap:97 VP8/90000\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=rtcp-fb:97 nack\r\na=rtcp-fb:97 nack pli\r\na=rtcp-fb:97 goog-remb\r\na=rtcp-fb:97 ccm fir\r\na=ssrc:980934908 cname:user1694387668@host-29df7460\r\na=ice-ufrag:Cz7u\r\na=ice-pwd:05vutO2zPmsBA+uTklu8rU\r\na=fingerprint:sha-256 D2:63:E1:5A:0A:1A:D0:EB:E4:50:0B:95:90:E4:E4:A1:FA:58:AF:0A:27:80:4D:9E:38:65:0E:34:C1:1E:A4:0A\r\na=mid:video0\r\n"}} < 2016-01-26 07:05:52,453366 30249 [0x00007fb896547700] debug KurentoWebSocketTransport WebSocketTransport.cpp:485 processMessage() Message: >{"id":5,"method":"invoke","params":{"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","operation":"processAnswer","operationParams":{"answer":"v=0\r\no=- 1453791952182598100 1 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\nm=audio 9 UDP/TLS/RTP/SAVPF 0\r\nc=IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=sendrecv\r\na=rtpmap:0 PCMU/8000\r\na=ice-ufrag:lxUH\r\na=ice-pwd:OS3iKHWhfKXNQbvrodnQzA\r\na=candidate:1 1 UDP 2013266431 192.168.0.109 61103 typ host\r\na=candidate:2 1 TCP 1019216383 192.168.0.109 0 typ host tcptype active\r\na=candidate:3 1 TCP 1015022079 192.168.0.109 61509 typ host tcptype passive\r\na=candidate:4 1 UDP 2013266431 21.57.2.200 50412 typ host\r\na=candidate:5 1 TCP 1019216383 21.57.2.200 0 typ host tcptype active\r\na=candidate:6 1 TCP 1015022079 21.57.2.200 61510 typ host tcptype passive\r\na=candidate:13 1 UDP 1677722111 104.193.168.123 61103 typ srflx raddr 192.168.0.109 rport 61103\r\na=candidate:14 1 TCP 847249919 104.193.168.123 0 typ srflx raddr 192.168.0.109 rport 0 tcptype active\r\na=candidate:15 1 TCP 843055615 104.193.168.123 61509 typ srflx raddr 192.168.0.109 rport 61509 tcptype passive\r\na=candidate:19 1 UDP 167772671 52.34.12.79 63582 typ relay raddr 192.168.0.109 rport 61103\r\na=candidate:21 1 UDP 1677722111 208.54.5.174 22118 typ srflx raddr 21.57.2.200 rport 50412\r\na=candidate:22 1 TCP 847249919 208.54.5.174 0 typ srflx raddr 21.57.2.200 rport 0 tcptype active\r\na=candidate:23 1 TCP 843055615 208.54.5.174 61510 typ srflx raddr 21.57.2.200 rport 61510 tcptype passive\r\na=candidate:27 1 UDP 167772671 52.34.12.79 50779 typ relay raddr 21.57.2.200 rport 50412\r\na=fingerprint:sha-256 A2:29:0A:F6:4B:2D:D3:36:4B:89:6D:3C:A8:FA:07:CF:A6:65:94:FA:2E:80:FF:81:54:18:34:5E:CD:A6:B9:B5\r\na=setup:active\r\nm=video 9 UDP/TLS/RTP/SAVPF 97\r\nc=IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=sendrecv\r\na=rtpmap:97 VP8/90000\r\na=rtcp-fb:97 nack pli\r\na=rtcp-fb:97 ccm fir\r\na=ice-ufrag:0OCN\r\na=ice-pwd:XrDZvE4J7TJV1i0MAkClGz\r\na=candidate:7 1 UDP 2013266431 192.168.0.109 61918 typ host\r\na=candidate:8 1 TCP 1019216383 192.168.0.109 0 typ host tcptype active\r\na=candidate:9 1 TCP 1015022079 192.168.0.109 61511 typ host tcptype passive\r\na=candidate:10 1 UDP 2013266431 21.57.2.200 62691 typ host\r\na=candidate:11 1 TCP 1019216383 21.57.2.200 0 typ host tcptype active\r\na=candidate:12 1 TCP 1015022079 21.57.2.200 61512 typ host tcptype passive\r\na=candidate:16 1 UDP 1677722111 104.193.168.123 61918 typ srflx raddr 192.168.0.109 rport 61918\r\na=candidate:17 1 TCP 847249919 104.193.168.123 0 typ srflx raddr 192.168.0.109 rport 0 tcptype active\r\na=candidate:18 1 TCP 843055615 104.193.168.123 61511 typ srflx raddr 192.168.0.109 rport 61511 tcptype passive\r\na=candidate:20 1 UDP 167772671 52.34.12.79 50146 typ relay raddr 192.168.0.109 rport 61918\r\na=candidate:24 1 UDP 1677722111 208.54.5.174 42105 typ srflx raddr 21.57.2.200 rport 62691\r\na=candidate:25 1 TCP 847249919 208.54.5.174 0 typ srflx raddr 21.57.2.200 rport 0 tcptype active\r\na=candidate:26 1 TCP 843055615 208.54.5.174 61512 typ srflx raddr 21.57.2.200 rport 61512 tcptype passive\r\na=candidate:28 1 UDP 167772671 52.34.12.79 60310 typ relay raddr 21.57.2.200 rport 62691\r\na=fingerprint:sha-256 A2:29:0A:F6:4B:2D:D3:36:4B:89:6D:3C:A8:FA:07:CF:A6:65:94:FA:2E:80:FF:81:54:18:34:5E:CD:A6:B9:B5\r\na=setup:active\r\n"},"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5"},"jsonrpc":"2.0"}< 2016-01-26 07:05:52,454041 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:118 kms_base_rtp_session_get_connection() Connection '0' not found 2016-01-26 07:05:52,454174 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:675 kms_base_rtp_session_start_transport_send() Cannot configure connection for media 0. 2016-01-26 07:05:52,454303 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:118 kms_base_rtp_session_get_connection() Connection '1' not found 2016-01-26 07:05:52,454418 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:675 kms_base_rtp_session_start_transport_send() Cannot configure connection for media 1. 2016-01-26 07:05:52,454552 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:118 kms_base_rtp_session_get_connection() Connection '0' not found 2016-01-26 07:05:52,454665 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:118 kms_base_rtp_session_get_connection() Connection '1' not found 2016-01-26 07:05:52,456760 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:118 kms_base_rtp_session_get_connection() Connection '0' not found 2016-01-26 07:05:52,457138 30249 [0x00007fb896547700] warning kmsbasertpsession kmsbasertpsession.c:118 kms_base_rtp_session_get_connection() Connection '1' not found 2016-01-26 07:05:52,457459 30249 [0x00007fb896547700] debug KurentoWebSocketTransport WebSocketTransport.cpp:487 processMessage() Response: >{"id":5,"jsonrpc":"2.0","result":{"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5","value":"v=0\r\no=- 3662780747 3662780747 IN IP4 0.0.0.0\r\ns=Kurento Media Server\r\nc=IN IP4 0.0.0.0\r\nt=0 0\r\na=group:BUNDLE audio0 video0\r\nm=audio 1 RTP/SAVPF 0\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=ssrc:65526568 cname:user1694387668@host-29df7460\r\na=ice-ufrag:Cz7u\r\na=ice-pwd:05vutO2zPmsBA+uTklu8rU\r\na=fingerprint:sha-256 D2:63:E1:5A:0A:1A:D0:EB:E4:50:0B:95:90:E4:E4:A1:FA:58:AF:0A:27:80:4D:9E:38:65:0E:34:C1:1E:A4:0A\r\na=mid:audio0\r\nm=video 1 RTP/SAVPF 97\r\nb=AS:500\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=rtpmap:97 VP8/90000\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtcp-mux\r\na=rtcp-fb:97 nack\r\na=rtcp-fb:97 nack pli\r\na=rtcp-fb:97 goog-remb\r\na=rtcp-fb:97 ccm fir\r\na=ssrc:980934908 cname:user1694387668@host-29df7460\r\na=ice-ufrag:Cz7u\r\na=ice-pwd:05vutO2zPmsBA+uTklu8rU\r\na=fingerprint:sha-256 D2:63:E1:5A:0A:1A:D0:EB:E4:50:0B:95:90:E4:E4:A1:FA:58:AF:0A:27:80:4D:9E:38:65:0E:34:C1:1E:A4:0A\r\na=mid:video0\r\n"}} < 2016-01-26 07:05:52,615117 30249 [0x00007fb891d3e700] debug KurentoWebSocketTransport WebSocketTransport.cpp:485 processMessage() Message: >{"id":6,"method":"subscribe","params":{"type":"OnIceCandidate","object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5"},"jsonrpc":"2.0"}< 2016-01-26 07:05:52,615527 30249 [0x00007fb891d3e700] debug KurentoWebSocketTransport WebSocketTransport.cpp:487 processMessage() Response: >{"id":6,"jsonrpc":"2.0","result":{"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5","value":"b68fa4e6-b7f9-4993-af66-55ee9ecbb792"}} < 2016-01-26 07:05:52,741924 30249 [0x00007fb891d3e700] debug KurentoWebSocketTransport WebSocketTransport.cpp:485 processMessage() Message: >{"id":7,"method":"invoke","params":{"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","operation":"gatherCandidates","sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5"},"jsonrpc":"2.0"}< 2016-01-26 07:05:52,743835 30249 [0x00007fb891d3e700] debug KurentoWebSocketEventHandler WebSocketEventHandler.cpp:52 sendEvent() Sending event: {"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"module":"kurento","type":"IceCandidate","candidate":"candidate:1 1 UDP 2013266431 172.31.11.58 37364 typ host","sdpMLineIndex":0,"sdpMid":"audio0"},"source":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","tags":[],"timestamp":"1453791952","type":"OnIceCandidate"},"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}} -> 02efa7e1-2a39-4824-985b-03aa3d1b32b5 2016-01-26 07:05:52,744039 30249 [0x00007fb891d3e700] debug KurentoWebSocketEventHandler WebSocketEventHandler.cpp:52 sendEvent() Sending event: {"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"module":"kurento","type":"IceCandidate","candidate":"candidate:1 1 UDP 2013266431 172.31.11.58 37364 typ host","sdpMLineIndex":1,"sdpMid":"video0"},"source":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","tags":[],"timestamp":"1453791952","type":"OnIceCandidate"},"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}} -> 02efa7e1-2a39-4824-985b-03aa3d1b32b5 2016-01-26 07:05:52,744276 30249 [0x00007fb891d3e700] debug KurentoWebSocketEventHandler WebSocketEventHandler.cpp:52 sendEvent() Sending event: {"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"module":"kurento","type":"IceCandidate","candidate":"candidate:1 2 UDP 2013266430 172.31.11.58 53648 typ host","sdpMLineIndex":0,"sdpMid":"audio0"},"source":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","tags":[],"timestamp":"1453791952","type":"OnIceCandidate"},"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}} -> 02efa7e1-2a39-4824-985b-03aa3d1b32b5 2016-01-26 07:05:52,744515 30249 [0x00007fb891d3e700] debug KurentoWebSocketEventHandler WebSocketEventHandler.cpp:52 sendEvent() Sending event: {"jsonrpc":"2.0","method":"onEvent","params":{"value":{"data":{"candidate":{"module":"kurento","type":"IceCandidate","candidate":"candidate:1 2 UDP 2013266430 172.31.11.58 53648 typ host","sdpMLineIndex":1,"sdpMid":"video0"},"source":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","tags":[],"timestamp":"1453791952","type":"OnIceCandidate"},"object":"bfbb08ae-e235-457d-9e8d-1ac2dc57cf15_kurento.MediaPipeline/136f5cb1-2b9e-4f32-a31c-ac7f960b3150_kurento.WebRtcEndpoint","type":"OnIceCandidate"}}} -> 02efa7e1-2a39-4824-985b-03aa3d1b32b5 2016-01-26 07:05:52,744790 30249 [0x00007fb891d3e700] debug KurentoWebSocketTransport WebSocketTransport.cpp:487 processMessage() Response: >{"id":7,"jsonrpc":"2.0","result":{"sessionId":"02efa7e1-2a39-4824-985b-03aa3d1b32b5","value":null}}

igracia commented 8 years ago

Have you tried with a different STUN server? Please check your STUN server using this test page. Don't forget to remove the already existing server.

adrianbg commented 8 years ago

Yeah, I tested the STUN server. It works.

On Tue, Jan 26, 2016 at 1:18 AM, Ivan Gracia notifications@github.com wrote:

Have you tried with a differnt STUN server? Please check your STUN server using this https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ test page. Don't forget to remove the already existing server.

— Reply to this email directly or view it on GitHub https://github.com/Kurento/bugtracker/issues/24#issuecomment-174918045.

adrianbg commented 8 years ago

Wouldn't you expect to see something in the logs if KMS had tried to the STUN server and it failed?

On Tue, Jan 26, 2016 at 8:02 AM, Adrian agbauer@gmail.com wrote:

Yeah, I tested the STUN server. It works.

On Tue, Jan 26, 2016 at 1:18 AM, Ivan Gracia notifications@github.com wrote:

Have you tried with a differnt STUN server? Please check your STUN server using this https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ test page. Don't forget to remove the already existing server.

— Reply to this email directly or view it on GitHub https://github.com/Kurento/bugtracker/issues/24#issuecomment-174918045.

igracia commented 8 years ago

It's libnice the one in charge of that, and it basically fails silently. You can check what candidates are being generated for your server with the stun-client package

stun 74.125.142.127:19302 -v

Just to make sure that your server gets the correct candidates.

adrianbg commented 8 years ago

Here's the output. This server works fine when KMS is answering an SDP offer. It's only when KMS generates the offer that it fails to produce any useful candidates.

STUN client version 0.96 Opened port 19880 with fd 3 Opened port 19881 with fd 4 Encoding stun message: Encoding ChangeRequest: 0

About to send msg of len 28 to 74.125.142.127:19302 Encoding stun message: Encoding ChangeRequest: 4

About to send msg of len 28 to 74.125.142.127:19302 Encoding stun message: Encoding ChangeRequest: 2

About to send msg of len 28 to 74.125.142.127:19302 Received stun message: 32 bytes MappedAddress = 52.34.12.79:19880 Received message of type 257 id=1 Encoding stun message: Encoding ChangeRequest: 4

About to send msg of len 28 to 74.125.142.127:19302 Encoding stun message: Encoding ChangeRequest: 2

About to send msg of len 28 to 74.125.142.127:19302 Encoding stun message: Encoding ChangeRequest: 0

About to send msg of len 28 to 52.34.12.79:19880 Received stun message: 28 bytes ChangeRequest = 0 Received message of type 1 id=11 Received stun message: 32 bytes MappedAddress = 52.34.12.79:19881 Received message of type 257 id=2 Received stun message: 32 bytes MappedAddress = 52.34.12.79:19881 Received message of type 257 id=3 Received stun message: 32 bytes MappedAddress = 52.34.12.79:19881 Received message of type 257 id=2 Received stun message: 32 bytes MappedAddress = 52.34.12.79:19881 Received message of type 257 id=3 test I = 1 test II = 1 test III = 1 test I(2) = 0 is nat = 1 mapped IP same = 1 hairpin = 1 preserver port = 1 Primary: Independent Mapping, Independent Filter, preserves ports, will hairpin Return value is 0x000003

igracia commented 8 years ago

Sorry, I missed the important part where you specify that it's generating offer in server what doesn't work. Could you provide us with a test project? We have one, but it's working fine.

adrianbg commented 8 years ago

This reproduces it for me. This runs on my machine and KMS is on AWS. The pipeline is the same as the one in Hello World. Are there other factors that could affect whether KMS uses STUN?

This issue isn't important for me personally. I was only trying this as a work around for the "OPUS unsupported" issue I was having.

package org.kurento.tutorial.helloworld;

import org.kurento.client.EventListener; import org.kurento.client.KurentoClient; import org.kurento.client.MediaPipeline; import org.kurento.client.OnIceCandidateEvent; import org.kurento.client.WebRtcEndpoint;

public class STUNRepro { final static String DEFAULT_KMS_WS_URI = "ws://52.34.12.79:8888/kurento";

public static void main(String[] args) throws Exception { KurentoClient kurento = KurentoClient.create(System.getProperty("kms.ws.uri", DEFAULT_KMS_WS_URI));; MediaPipeline pipeline = kurento.createMediaPipeline(); WebRtcEndpoint webRtcEndpoint = new WebRtcEndpoint.Builder(pipeline).build(); webRtcEndpoint.connect(webRtcEndpoint);

System.out.println(webRtcEndpoint.generateOffer());

webRtcEndpoint.addOnIceCandidateListener(new EventListener() {

@Override public void onEvent(OnIceCandidateEvent event) { System.out.println(event.getCandidate().getCandidate()); } });

webRtcEndpoint.gatherCandidates(); Thread.sleep(100 * 1000); } }

It generates these ICE candidates:

candidate:1 1 UDP 2013266431 172.31.11.58 38621 typ host candidate:1 1 UDP 2013266431 172.31.11.58 38621 typ host candidate:1 2 UDP 2013266430 172.31.11.58 33321 typ host candidate:1 2 UDP 2013266430 172.31.11.58 33321 typ host

The Hello World example works with the same setup, generating these ICE candidates in addition to the four above:

candidate:2 1 UDP 1677721855 52.34.12.79 53427 typ srflx raddr 172.31.11.58 rport 53427 candidate:2 1 UDP 1677721855 52.34.12.79 53427 typ srflx raddr 172.31.11.58 rport 53427

On Tue, Jan 26, 2016 at 10:20 AM, Ivan Gracia notifications@github.com wrote:

Sorry, I missed the important part where you specify that it's generating offer in server what doesn't work. Could you provide us with a test project? We have one, but it's working fine.

— Reply to this email directly or view it on GitHub.

chainsawsalad commented 8 years ago

I am experiencing the exact same issue with version 6.3.2.trusty. My server is also running on AWS. If you'd like any details I can provide them, but my logs appear in the exact same manner as those of @adrianbg. The IP of the IceCandidate is not using the public IP, yet my STUN server is working correctly. Upgrading from 6.1.1 (working) to 6.3.2 (not working) was the only change made.

chainsawsalad commented 8 years ago

FYI, this issue resolved for me when I did an apt-get remove --purge kurento-media-server-6.0 and then reinstalled via apt-get install kurento-media-server-6.0.

igracia commented 8 years ago

@adrianbg did you check with the solution posted by @chainsawsalad?

adrianbg commented 8 years ago

Sorry, I don't have time to test this again right now. If you think something might've been wrong with my setup, go ahead and close this and someone can re-open it if it's a real issue.

igracia commented 8 years ago

Ok, we'll close it and you can reopen it in case it didn't get solved for you.

ghost commented 7 years ago

I am experiencing the exact same issue, Error occured when KMS is answering an SDP offer , details is here: https://groups.google.com/forum/#!topic/kurento/_0I-3NVnHOg

And chainsawsalad's solution don't work for me.

I used 64.233.177.127:19302 as my stun server,I don't know whether i get correct candidates.(115.159.29.211 is my public ip, that's right.)

Change stun server to 74.125.142.127:19302 also failed.

ubuntu@VM-117-216-ubuntu:~$ stun 64.233.177.127:19302 -v STUN client version 0.96 Opened port 20853 with fd 3 Opened port 20854 with fd 4 Encoding stun message: Encoding ChangeRequest: 0

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 4

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 2

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 0

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 4

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 2

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 0

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 4

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 2

About to send msg of len 28 to 64.233.177.127:19302 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20853 Received message of type 257 id=1 Encoding stun message: Encoding ChangeRequest: 4

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 2

About to send msg of len 28 to 64.233.177.127:19302 Encoding stun message: Encoding ChangeRequest: 0

About to send msg of len 28 to 115.159.29.211:20853 Received stun message: 28 bytes ChangeRequest = 0 Received message of type 1 id=11 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20854 Received message of type 257 id=3 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20853 Received message of type 257 id=1 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20854 Received message of type 257 id=2 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20854 Received message of type 257 id=3 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20853 Received message of type 257 id=1 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20854 Received message of type 257 id=2 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20854 Received message of type 257 id=3 Received stun message: 32 bytes MappedAddress = 115.159.29.211:20854 Received message of type 257 id=3 test I = 1 test II = 1 test III = 1 test I(2) = 0 is nat = 1 mapped IP same = 1 hairpin = 1 preserver port = 1 Primary: Independent Mapping, Independent Filter, preserves ports, will hairpin Return value is 0x000003

rrenim commented 6 years ago

I've got same issue: Kurento 6.6.3 sends private address without using STUN. Found recommendation to modify address on the fly in java-app ... but still hope for less ugly solution.

neilyoung commented 2 years ago

Same issue here: Calling "generateOffer()". No STUN/TURN candidates provided with "gatherCandidates()"