Webhook Connection refused

Hi. I’m trying to test webhooks locally and getting the following errors…

[ERROR] 2020-04-02 02:24:23,749 [0.0-4443-exec-4] io.openvidu.server.webhook.HttpWebhookSender - IOException posting event [recordingStatusChanged] to endpoint http://.../: Connect to ... [.../127.0.0.1] failed: Connection refused (Connection refused)

[ERROR] 2020-04-02 02:24:23,749 [0.0-4443-exec-4] io.openvidu.server.webhook.CDRLoggerWebhook - Error sending webhook event: IOException posting event [recordingStatusChanged] to endpoint http://.../: Connect to ... [.../127.0.0.1] failed: Connection refused (Connection refused)

I have the OpenVidu server running locally in docker. I am able to ping my local webserver from within the docker container. My webhook endpoint is also working from outside docker and I currently have authentication disabled while testing.

I’m probably just missing something but was hoping someone could help.

Thanks.

Are you using OpenVidu development container and the app is in your host? In that case, how is the URL you have configured in the webhook? How you verify that URL is accesible from within development container?

Unless you setup docker with network=host, if webhook URL has 127.0.0.1 host, it wont work

Also, make sure your webhook endpoint meets these 2 requirements: https://openvidu.io/docs/reference-docs/openvidu-server-webhook/#how-your-webhook-endpoint-should-be

Those are mandatory for the webhook service to work fine.

Hi. Yes, I am using the OpenVidu development container and my app is running in my local host. I have verified the url of my webhook by running docker exec -it openvidu /bin/bash, installing and running ping. My webhook endpoint does meet the 2 requirements and I have tested it from outside of docker.

When I try --network host I can’t access OpenVidu at all at https://localhost:4443/.

Here is my complete command…

docker run -p 4443:4443 --rm --name openvidu --network host \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$cwd"/tmp/video-archives:"$cwd"/tmp/video-archives \
-e openvidu.recording=true \
-e openvidu.recording.path="$cwd"/tmp/video-archives \
-e openvidu.secret=######## \
-e openvidu.webhook=true \
-e openvidu.webhook.endpoint=http://my-app-webhook:8000/api/update-recording-status/ \
-e openvidu.webhook.events=["recordingStatusChanged"] \
openvidu/openvidu-server-kms:2.12.0

Thanks again.

Can you share with us OpenVidu server log to inspect it and see what’s happen?

Thanks Micael. Let me know if you need anything else…

WARNING: Published ports are discarded when using host network mode
/usr/lib/python2.7/dist-packages/supervisor/options.py:297: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
  'Supervisord is running as root and it is searching '

2020-04-04 00:52:19,673 CRIT Supervisor running as root (no user in config file)
2020-04-04 00:52:19,673 WARN Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2020-04-04 00:52:19,685 INFO RPC interface 'supervisor' initialized
2020-04-04 00:52:19,685 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-04-04 00:52:19,685 INFO supervisord started with pid 1
2020-04-04 00:52:20,690 INFO spawned: 'kms' with pid 9
2020-04-04 00:52:20,692 INFO spawned: 'openvidu-server' with pid 10
2020-04-04 00:52:21,263 DEBG 'kms' stdout output:
0:00:00.532555731     9 0x56079d84d6a0 DEBUG   KurentoModuleManager ModuleManager.cpp:158:loadModules: Looking for modules, path: /usr/lib/x86_64-linux-gnu/kurento/modules

2020-04-04 00:52:21,263 DEBG 'kms' stdout output:
0:00:00.532876936     9 0x56079d84d6a0 DEBUG   KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so

2020-04-04 00:52:21,274 DEBG 'kms' stdout output:
0:00:00.544138521     9 0x56079d84d6a0 INFO    KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmselementsmodule.so

2020-04-04 00:52:21,275 DEBG 'kms' stdout output:
0:00:00.544257981     9 0x56079d84d6a0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: elements, version: 6.13.0, date: Dec 17 2019 13:26:02
0:00:00.544310335     9 0x56079d84d6a0 DEBUG   KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so

2020-04-04 00:52:21,276 DEBG 'kms' stdout output:
0:00:00.546253421     9 0x56079d84d6a0 INFO    KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscoremodule.so

2020-04-04 00:52:21,278 DEBG 'kms' stdout output:
0:00:00.546383399     9 0x56079d84d6a0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: core, version: 6.13.0, date: Dec 17 2019 13:17:31
0:00:00.546427045     9 0x56079d84d6a0 DEBUG   KurentoModuleManager ModuleManager.cpp:174:loadModules: Found file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so

2020-04-04 00:52:21,281 DEBG 'kms' stdout output:
0:00:00.550349949     9 0x56079d84d6a0 INFO    KurentoModuleManager ModuleManager.cpp:90:loadModule: Load file: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so, module name: /usr/lib/x86_64-linux-gnu/kurento/modules/libkmsfiltersmodule.so
0:00:00.550450000     9 0x56079d84d6a0 INFO    KurentoModuleManager ModuleManager.cpp:137:loadModule: Loaded module: filters, version: 6.13.0, date: Dec 17 2019 13:35:00

2020-04-04 00:52:21,282 DEBG 'kms' stdout output:
0:00:00.550505655     9 0x56079d84d6a0 INFO      KurentoMediaServer main.cpp:240:main: Kurento Media Server version: 6.13.0
0:00:00.550512754     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:249:loadConfig: Reading configuration from: /etc/kurento/kurento.conf.json

2020-04-04 00:52:21,283 DEBG 'kms' stdout output:
0:00:00.551743594     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:183:loadModulesConfigFromDir: Looking for config files in /etc/kurento/modules
0:00:00.551843654     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:183:loadModulesConfigFromDir: Looking for config files in /etc/kurento/modules/kurento

2020-04-04 00:52:21,286 DEBG 'kms' stdout output:
0:00:00.552680284     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:209:loadModulesConfigFromDir: Loaded module config: /etc/kurento/modules/kurento/HttpEndpoint.conf.ini
0:00:00.552837135     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:209:loadModulesConfigFromDir: Loaded module config: /etc/kurento/modules/kurento/PlayerEndpoint.conf.ini

2020-04-04 00:52:21,290 DEBG 'kms' stdout output:
0:00:00.553414690     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:209:loadModulesConfigFromDir: Loaded module config: /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini
0:00:00.555633304     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:209:loadModulesConfigFromDir: Loaded module config: /etc/kurento/modules/kurento/MediaElement.conf.ini
0:00:00.556744515     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:209:loadModulesConfigFromDir: Loaded module config: /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini

2020-04-04 00:52:21,291 DEBG 'kms' stdout output:
0:00:00.559500794     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:209:loadModulesConfigFromDir: Loaded module config: /etc/kurento/modules/kurento/UriEndpoint.conf.ini

2020-04-04 00:52:21,292 DEBG 'kms' stdout output:
0:00:00.560788174     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:209:loadModulesConfigFromDir: Loaded module config: /etc/kurento/modules/kurento/SdpEndpoint.conf.json
0:00:00.560880922     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:265:loadConfig: Configuration loaded successfully
0:00:00.561006909     9 0x56079d84d6a0 INFO       KurentoLoadConfig loadConfig.cpp:271:loadConfig: Loaded config in effect:
{
    "mediaServer": {
        "resources": {
            "\/\/exceptionLimit": "0.8",
            "\/\/killLimit": "0.7",
            "garbageCollectorPeriod": "240",
            "\/\/": "Whether to disable the RPC request cache, for memory constrained environments",
            "disableRequestCache": "false"
        },
        "net": {
            "websocket": {
                "\/\/ipv6": "false",
                "port": "8888",
                "\/\/secure": {
                    "\/\/port": "8433",
                    "\/\/certificate": "defaultCertificate.pem",
                    "\/\/password": ""
                },
                "\/\/registrar": {
                    "\/\/address": "ws:\/\/localhost:9090",
                    "\/\/localAddress": "localhost"
                },
                "\/\/": "Default SOMAXCONN (128)",
                "\/\/connqueue": "128",
                "path": "kurento",
                "threads": "10"
            }
        }
    },
    "configPath": "\/etc\/kurento",
    "modules": {
        "kurento": {
            "HttpEndpoint": {
                "serverAddress": "localhost",
                "port": "9091",
                "configPath": "\/etc\/kurento\/modules\/kurento"
            },
            "PlayerEndpoint": {
                "configPath": "\/etc\/kurento\/modules\/kurento"
            },
            "BaseRtpEndpoint": {
                "configPath": "\/etc\/kurento\/modules\/kurento"
            },
            "MediaElement": {
                "configPath": "\/etc\/kurento\/modules\/kurento"
            },
            "WebRtcEndpoint": {
                "stunServerAddress": "stun.l.google.com",
                "stunServerPort": "19302",
                "configPath": "\/etc\/kurento\/modules\/kurento"
            },
            "UriEndpoint": {
                "defaultPath": "file:\/\/\/var\/lib\/kurento\/",
                "configPath": "\/etc\/kurento\/modules\/kurento"
            },
            "SdpEndpoint": {
                "numAudioMedias": "1",
                "numVideoMedias": "1",
                "audioCodecs": [
                    {
                        "name": "opus\/48000\/2",
                        "\/\/": "Next is an example about how a codec can be configured.",
                        "\/\/": "WARNING: Usage of properties is not yet supported",
                        "\/\/properties": {
                            "\/\/maxcodedaudiobandwidth": "16000",
                            "\/\/maxaveragebitrate": "20000",
                            "\/\/stereo": "1",
                            "\/\/useinbandfec": "1",
                            "\/\/usedtx": "0"
                        }
                    },
                    {
                        "name": "PCMU\/8000"
                    },
                    {
                        "name": "AMR\/8000"
                    }
                ],
                "videoCodecs": [
                    {
                        "name": "VP8\/90000"
                    },
                    {
                        "name": "H264\/90000"
                    }
                ],
                "configPath": "\/etc\/kurento\/modules\/kurento"
            }
        }
    }
}


2020-04-04 00:52:21,293 DEBG 'kms' stdout output:
0:00:00.561452078     9 0x56079d84d6a0 INFO    KurentoServerMethods ServerMethods.cpp:90:ServerMethods: Using above 80.00% of system limits will throw NOT_ENOUGH_RESOURCES exception
0:00:00.561497591     9 0x56079d84d6a0 INFO    KurentoServerMethods ServerMethods.cpp:109:ServerMethods: System limits: unlimited threads, 1048576 files

2020-04-04 00:52:21,295 DEBG 'kms' stdout output:
0:00:00.563829945     9 0x56079d84d6a0 INFO    KurentoServerMethods ServerMethods.cpp:144:ServerMethods: RPC Request Cache is ENABLED
0:00:00.564151265     9 0x56079d84d6a0 INFO    KurentoWebSocketTransport WebSocketTransport.cpp:152:WebSocketTransport: WebSocket server listening on address '::', port 8888
0:00:00.564165174     9 0x56079d84d6a0 INFO    KurentoWebSocketTransport WebSocketTransport.cpp:249:WebSocketTransport: Secure websocket server not enabled
0:00:00.564620140     9 0x56079d84d6a0 INFO      KurentoMediaServer main.cpp:259:main: Kurento Media Server started
0:00:00.564723861     9 0x56079d84db00 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting
0:00:00.564810093     9 0x7f05d0001890 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting
0:00:00.564841673     9 0x7f05c8001830 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting
0:00:00.564865941     9 0x7f05cc001790 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting
0:00:00.564902438     9 0x7f05c0001930 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting
0:00:00.564938275     9 0x7f05c40018d0 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting

2020-04-04 00:52:21,296 DEBG 'kms' stdout output:
0:00:00.566153654     9 0x7f05b8001870 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting

2020-04-04 00:52:21,297 DEBG 'kms' stdout output:
0:00:00.567282592     9 0x7f05b0001210 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting

2020-04-04 00:52:21,299 DEBG 'kms' stdout output:
0:00:00.568400894     9 0x7f05b0001950 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting

2020-04-04 00:52:21,300 DEBG 'kms' stdout output:
0:00:00.569719364     9 0x7f05b40018f0 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting

2020-04-04 00:52:21,301 DEBG 'kms' stdout output:
0:00:00.570838021     9 0x7f05a8001890 DEBUG      KurentoWorkerPool WorkerPool.cpp:40:workerThreadLoop: Working thread starting

2020-04-04 00:52:21,399 DEBG 'openvidu-server' stdout output:
00:52:21.377 [main] INFO io.openvidu.server.OpenViduServer - Using /dev/urandom for secure random generation

2020-04-04 00:52:22,401 INFO success: kms entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-04-04 00:52:22,401 INFO success: openvidu-server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-04-04 00:52:22,422 DEBG 'openvidu-server' stdout output:

______________________________________________
   ____               __      ___     _       
  / __ \              \ \    / (_)   | |      
 | |  | |_ __   ___ _ _\ \  / / _  __| |_   _
 | |  | | '_ \ / _ \ '_ \ \/ / | |/ _` | | | |
 | |__| | |_) |  __/ | | \  /  | | (_| | |_| |
  \____/| .__/ \___|_| |_|\/   |_|\__,_|\__,_|
        | |
        |_|             version 2.12.0
______________________________________________                                          


2020-04-04 00:52:22,682 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:22,681 [main] io.openvidu.server.OpenViduServer - Starting OpenViduServer on docker-desktop with PID 10 (/openvidu-server.jar started by root in /)

2020-04-04 00:52:22,683 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:22,683 [main] io.openvidu.server.OpenViduServer - The following profiles are active: docker

2020-04-04 00:52:24,687 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:24,687 [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 4443 (https)

2020-04-04 00:52:24,712 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:24,712 [main] org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["https-jsse-nio-0.0.0.0-4443"]

2020-04-04 00:52:24,714 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:24,714 [main] org.apache.catalina.core.StandardService - Starting service [Tomcat]

2020-04-04 00:52:24,715 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:24,715 [main] org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.30]

2020-04-04 00:52:24,969 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:24,969 [main] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext

2020-04-04 00:52:24,970 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:24,969 [main] org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1918 ms

2020-04-04 00:52:25,176 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,174 [main] io.openvidu.server.config.OpenviduConfig - Checking configuration parameters: [openvidu.recording.composed-url, openvidu.recording.version, openvidu.webhook.events, openvidu.recording.path, openvidu.recording, kms.uris, openvidu.streams.video.min-send-bandwidth, openvidu.recording.autostop-timeout, openvidu.secret, openvidu.webhook, openvidu.cdr, openvidu.webhook.endpoint, openvidu.streams.video.max-recv-bandwidth, openvidu.recording.public-access, openvidu.cdr.path, openvidu.recording.notification, openvidu.streams.video.max-send-bandwidth, openvidu.webhook.headers, openvidu.streams.video.min-recv-bandwidth, openvidu.recording.custom-layout, openvidu.publicurl, coturn.redis.ip]

2020-04-04 00:52:25,268 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,268 [main] io.openvidu.server.config.OpenviduConfig - OpenVidu Webhook endpoint is http://test-webhook:8000/api/update-recording-status/

2020-04-04 00:52:25,268 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,268 [main] io.openvidu.server.config.OpenviduConfig - OpenVidu Webhook endpoint: http://test-webhook:8000/api/update-recording-status/
[INFO] 2020-04-04 00:52:25,268 [main] io.openvidu.server.config.OpenviduConfig - OpenVidu Webhook headers: []
[INFO] 2020-04-04 00:52:25,268 [main] io.openvidu.server.config.OpenviduConfig - OpenVidu Webhook events: [recordingStatusChanged]

2020-04-04 00:52:25,270 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,270 [main] io.openvidu.server.config.OpenviduConfig - Coturn IP: localhost

2020-04-04 00:52:25,510 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,510 [main] io.openvidu.server.OpenViduServer - OpenVidu CDR service is disabled (may be enable with 'openvidu.cdr=true')
[INFO] 2020-04-04 00:52:25,510 [main] io.openvidu.server.OpenViduServer - OpenVidu Webhook service is enabled

2020-04-04 00:52:25,801 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,800 [main] io.openvidu.server.OpenViduServer - OpenVidu Server using one KMS: ws://localhost:8888/kurento

2020-04-04 00:52:25,830 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,829 [rbeatExec-e1-t0] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket - [KurentoClient]  Connecting native client

2020-04-04 00:52:25,831 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:25,830 [rbeatExec-e1-t0] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket - [KurentoClient]  Creating new NioEventLoopGroup

2020-04-04 00:52:26,055 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:26,054 [ntLoopGroup-2-1] org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket - [KurentoClient]  Initiating new Netty channel. Will create new handler too!

2020-04-04 00:52:26,202 DEBG 'kms' stdout output:
0:00:05.471493953     9 0x7f05ac001830 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:482:openHandler: Client connected from http://localhost:8888

2020-04-04 00:52:26,232 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:26,232 [main] io.openvidu.server.recording.service.RecordingManager - OpenVidu recording service is enabled

2020-04-04 00:52:26,306 DEBG 'kms' stdout output:
0:00:05.576001181     9 0x7f05a0007b90 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":1,"method":"ping","params":{"interval":240000},"jsonrpc":"2.0"}

2020-04-04 00:52:26,307 DEBG 'kms' stdout output:
0:00:05.576568259     9 0x7f05a0007b90 INFO    KurentoServerMethods ServerMethods.cpp:811:ping: WebSocket Ping/Pong

2020-04-04 00:52:26,308 DEBG 'kms' stdout output:
0:00:05.576819536     9 0x7f05a0007b90 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":1,"jsonrpc":"2.0","result":{"value":"pong"}}

2020-04-04 00:52:26,533 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:26,533 [main] io.openvidu.server.recording.service.RecordingManager - Recording module required: Downloading openvidu/openvidu-recording:2.9.0 Docker image (350MB aprox)

2020-04-04 00:52:27,044 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:27,044 [main] io.openvidu.server.utils.DockerManager - Docker is installed and enabled

2020-04-04 00:52:27,045 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:27,045 [main] io.openvidu.server.recording.service.RecordingManager - Initializing recording paths

2020-04-04 00:52:27,053 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:27,052 [main] io.openvidu.server.recording.service.RecordingManager - OpenVidu Server has write permissions on recording path: /Users/development/test/tmp/video-archives

2020-04-04 00:52:27,059 DEBG 'kms' stdout output:
0:00:06.328080309     9 0x7f05a4001b30 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":2,"method":"create","params":{"type":"MediaPipeline","constructorParams":{},"properties":{}},"jsonrpc":"2.0"}
0:00:06.329007137     9 0x7f05a4001b30 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":2,"jsonrpc":"2.0","result":{"sessionId":"40b103f8-717f-425e-b239-163111f4f921","value":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline"}}
0:00:06.329044079     9 0x7f05a4001b30 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:409:storeConnection: Asociating session 40b103f8-717f-425e-b239-163111f4f921

2020-04-04 00:52:27,141 DEBG 'kms' stdout output:
0:00:06.409217111     9 0x7f05a4001b30 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":3,"method":"create","params":{"type":"RecorderEndpoint","constructorParams":{"mediaPipeline":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline","uri":"file:///Users/development/test/tmp/video-archives/TEST_RECORDING_PATH_1585961547052/TEST_RECORDING_PATH.webm"},"properties":{},"sessionId":"40b103f8-717f-425e-b239-163111f4f921"},"jsonrpc":"2.0"}

2020-04-04 00:52:27,146 DEBG 'kms' stdout output:
0:00:06.415559946     9 0x7f05a4001b30 INFO    KurentoRecorderEndpointImpl RecorderEndpointImpl.cpp:83:RecorderEndpointImpl: Set WEBM profile

2020-04-04 00:52:27,147 DEBG 'kms' stdout output:
0:00:06.416762694     9 0x7f05a4001b30 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":3,"jsonrpc":"2.0","result":{"sessionId":"40b103f8-717f-425e-b239-163111f4f921","value":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline/85ee7d57-3b94-4a6e-9489-1c9c8932704b_kurento.RecorderEndpoint"}}

2020-04-04 00:52:27,188 DEBG 'kms' stdout output:
0:00:06.457445410     9 0x7f059802b430 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":4,"method":"subscribe","params":{"type":"Error","object":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline/85ee7d57-3b94-4a6e-9489-1c9c8932704b_kurento.RecorderEndpoint","sessionId":"40b103f8-717f-425e-b239-163111f4f921"},"jsonrpc":"2.0"}
0:00:06.457812179     9 0x7f059802b430 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":4,"jsonrpc":"2.0","result":{"sessionId":"40b103f8-717f-425e-b239-163111f4f921","value":"919689d2-8711-4caa-9995-0c5f088fb481"}}

2020-04-04 00:52:27,199 DEBG 'kms' stdout output:
0:00:06.467702269     9 0x7f0590001d90 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":5,"method":"invoke","params":{"object":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline/85ee7d57-3b94-4a6e-9489-1c9c8932704b_kurento.RecorderEndpoint","operation":"record","sessionId":"40b103f8-717f-425e-b239-163111f4f921"},"jsonrpc":"2.0"}

2020-04-04 00:52:27,225 DEBG 'kms' stdout output:
0:00:06.493099722     9 0x7f0590001d90 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":5,"jsonrpc":"2.0","result":{"sessionId":"40b103f8-717f-425e-b239-163111f4f921","value":null}}

2020-04-04 00:52:27,736 DEBG 'kms' stdout output:
0:00:07.005266441     9 0x7f058c001870 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":6,"method":"invoke","params":{"object":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline/85ee7d57-3b94-4a6e-9489-1c9c8932704b_kurento.RecorderEndpoint","operation":"stop","sessionId":"40b103f8-717f-425e-b239-163111f4f921"},"jsonrpc":"2.0"}

2020-04-04 00:52:27,737 DEBG 'kms' stdout output:
0:00:07.005511611     9 0x7f058c001870 ERROR   KurentoUriEndpointImpl UriEndpointImpl.cpp:179:stop:<kmsrecorderendpoint0> Error: Already in state stop
0:00:07.005666762     9 0x7f058c001870 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":6,"jsonrpc":"2.0","result":{"sessionId":"40b103f8-717f-425e-b239-163111f4f921","value":null}}

2020-04-04 00:52:27,740 DEBG 'kms' stdout output:
0:00:07.009588768     9 0x7f05a0007b90 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":7,"method":"release","params":{"object":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline/85ee7d57-3b94-4a6e-9489-1c9c8932704b_kurento.RecorderEndpoint","sessionId":"40b103f8-717f-425e-b239-163111f4f921"},"jsonrpc":"2.0"}

2020-04-04 00:52:27,741 DEBG 'kms' stdout output:
0:00:07.009974395     9 0x7f05a0007b90 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":7,"jsonrpc":"2.0","result":{"sessionId":"40b103f8-717f-425e-b239-163111f4f921"}}
0:00:07.010329168     9 0x56079d84db00 DEBUG        KurentoMediaSet MediaSet.cpp:470:async_delete: Destroying RecorderEndpoint -> 5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline/85ee7d57-3b94-4a6e-9489-1c9c8932704b_kurento.RecorderEndpoint

2020-04-04 00:52:27,755 DEBG 'kms' stdout output:
0:00:07.024272060     9 0x7f0584001600 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:460:processMessage: Message: {"id":8,"method":"release","params":{"object":"5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline","sessionId":"40b103f8-717f-425e-b239-163111f4f921"},"jsonrpc":"2.0"}

2020-04-04 00:52:27,756 DEBG 'kms' stdout output:
0:00:07.025364560     9 0x7f0584001600 DEBUG   KurentoWebSocketTransport WebSocketTransport.cpp:462:processMessage: Response: {"id":8,"jsonrpc":"2.0","result":{"sessionId":"40b103f8-717f-425e-b239-163111f4f921"}}
0:00:07.025403447     9 0x7f05b8001870 DEBUG        KurentoMediaSet MediaSet.cpp:470:async_delete: Destroying MediaPipeline -> 5dcf22aa-1f82-4db4-a9bf-6c1ff394e469_kurento.MediaPipeline

2020-04-04 00:52:27,758 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:27,758 [main] io.openvidu.server.recording.service.RecordingManager - Kurento Media Server has write permissions on recording path: /Users/development/test/tmp/video-archives

2020-04-04 00:52:27,776 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:27,776 [main] io.openvidu.server.recording.service.RecordingManager - OpenVidu Server has write permissions over files created by Kurento Media Server
[INFO] 2020-04-04 00:52:27,776 [main] io.openvidu.server.recording.service.RecordingManager - Recording path successfully initialized at /Users/development/test/tmp/video-archives

2020-04-04 00:52:27,957 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:27,957 [main] io.openvidu.server.recording.service.RecordingManager - Docker image already exists locally

2020-04-04 00:52:28,018 DEBG 'openvidu-server' stdout output:
[WARN] 2020-04-04 00:52:28,017 [main] io.openvidu.server.coturn.CoturnCredentialsService - No COTURN server is installed in the host machine. Response: /bin/sh: 1: turnadmin: not found

2020-04-04 00:52:28,019 DEBG 'openvidu-server' stdout output:
[ERROR] 2020-04-04 00:52:28,018 [main] io.openvidu.server.coturn.CoturnCredentialsService - No COTURN server will be automatically configured for clients

2020-04-04 00:52:28,101 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,099 [main] org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler - Initializing ExecutorService 'jsonrpcTaskScheduler'

2020-04-04 00:52:28,339 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,338 [main] org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'

2020-04-04 00:52:28,493 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,492 [main] org.springframework.boot.autoconfigure.web.servlet.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html]

2020-04-04 00:52:28,778 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,777 [main] org.springframework.security.web.DefaultSecurityFilterChain - Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4c5ae43b, org.springframework.security.web.context.SecurityContextPersistenceFilter@4a07d605, org.springframework.security.web.header.HeaderWriterFilter@4b8729ff, org.springframework.web.filter.CorsFilter@264f218, org.springframework.security.web.authentication.logout.LogoutFilter@2eea88a1, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@1cf56a1c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7d7758be, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@68746f22, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3576ddc2, org.springframework.security.web.session.SessionManagementFilter@3214ee6, org.springframework.security.web.access.ExceptionTranslationFilter@7d9f158f, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1f760b47]

2020-04-04 00:52:28,862 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,862 [main] org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["https-jsse-nio-0.0.0.0-4443"]

2020-04-04 00:52:28,992 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,991 [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 4443 (https) with context path ''

2020-04-04 00:52:28,997 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,997 [main] io.openvidu.server.OpenViduServer - Started OpenViduServer in 7.341 seconds (JVM running for 8.27)

2020-04-04 00:52:28,999 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:28,999 [main] io.openvidu.server.OpenViduServer - OpenVidu Server listening for client websocket connections on local url wss://localhost:4443/openvidu

2020-04-04 00:52:29,000 DEBG 'openvidu-server' stdout output:
[INFO] 2020-04-04 00:52:29,000 [main] io.openvidu.server.OpenViduServer - 

    OPENVIDU SERVER IP          
--------------------------
https://localhost:4443/
--------------------------


2020-04-04 00:53:21,302 DEBG 'kms' stdout output:
0:01:00.569795106     9 0x7f0588001300 INFO    KurentoWebSocketTransport WebSocketTransport.cpp:296:keepAliveSessions: Keep alive 40b103f8-717f-425e-b239-163111f4f921

I can not see any error in the log you send us.

Please use the server to force the error so we can check what is happening.

Regards

When I use --network host I am unable access the url https://localhost:4443/ to login and run a test. If I try running my app I am unable to access the OpenVidu API. Without --network host everything works fine.

There is nothing more in the OpenVidu server logs at that point.

Thanks again.

We are working in a new way to deploy OpenVidu. It is currently in beta, but it can solve your issues: https://github.com/OpenVidu/openvidu/blob/deploy-docker-compose/openvidu-server/docker/openvidu-docker-compose/readme.md

It is based on docker compose and use network_mode=host so OpenVidu can access to webhooks in localhost (assuming you are developing in linux).

Please take a look and tell us if it works for you.

If you are using windows or mac, then you have to use the development container without network=host and configure webhook to point to these special DNS names to connect to application executing on host:

host.docker.internal

Review section I WANT TO CONNECT FROM A CONTAINER TO A SERVICE ON THE HOST in https://docs.docker.com/docker-for-windows/networking/

Regards

I’m on Mac and host.docker.internal was exactly what I needed. Thanks Micael!

1 Like