I have an rtms zoom app to console log transcripts, which works fine locally via ngrok.
Once I deploy it to AWS ECS, I’ve got an issue where the rtms client connects succesfully, and then immediately gets a webhook event for meeting.rtms_stopped
, with stop reason 18.
According to the docs this is due to an authentication error, but I can’t think why authentication would be different unless something is being blocked by the different hosting environment and its networking.
My logs are as follows:
Processing webhook payload: {
event: 'meeting.rtms_started',
payload: {
meeting_uuid: '5JDigjq5RNeaL9AurmF2/w==',
operator_id: 'vwNuDndDRPqJJU9XJoE5FQ',
rtms_stream_id: 'f6ccaa9d7c0f432397a755bd1365d2c6',
server_urls: 'wss://zoomams159-124-17-24zssgw.ams.zoom.us:443'
},
event_ts: 1753971045343
}
rtms | 2025-07-31T14:10:45.561Z | DEBUG | SDK already initialized
global | 2025-07-31T14:10:45.561Z | INFO | Joining meeting: 5JDigjq5RNeaL9AurmF2/w==
rtms | 2025-07-31T14:10:45.561Z | DEBUG | Generating signature for client: kt5g8xndTK9gGZm7S8FFw, uuid: 5JDigjq5RNeaL9AurmF2/w==, streamId: f6ccaa9d7c0f432397a755bd1365d2c6
global | 2025-07-31T14:10:45.562Z | INFO | Successfully joined meeting: 5JDigjq5RNeaL9AurmF2/w==
global | 2025-07-31T14:10:45.562Z | DEBUG | Starting global polling with interval: 0ms
Processing webhook payload: {
event: 'meeting.rtms_stopped',
payload: {
meeting_uuid: '5JDigjq5RNeaL9AurmF2/w==',
rtms_stream_id: 'f6ccaa9d7c0f432397a755bd1365d2c6',
stop_reason: 18
},
event_ts: 1753971045977
}
global | 2025-07-31T14:10:46.178Z | INFO | Leaving meeting
global | 2025-07-31T14:10:46.178Z | DEBUG | Stopping global polling
global | 2025-07-31T14:10:46.179Z | INFO | Successfully released resources