I am trying to use lua plugin for datachannel publishing: some clients, marked as publishers, can send messages via datachannel to Janus, and others, marked as subscribers, should receive all these messages.
When I connect from python (aiortc) client, I get an error "ICE username fragment or password is missing". I don't understand how to fix this: Janus definitely does some processing of incoming SDP, and lua function handleMessage sees not the same SDP as was sent by client (I've checked this also with copying SDP to message body). Another part of SDP processing happens in janus-sdp.lua.
Documentation does not explain how SDPs are processed in general and how I should manipulate them in lua code. I've tried to copy ice-ufrag, ice-pwd from incoming SDP directly, but without success, and I am not sure this is the suggested way.
Any help is appreciated.
Btw, similar python code is able to connect with datachannel originating from a streaming plugin. So I don't think it's a client issue.
The code from gist above contains a docker file to allow fully reproducing my example (run Janus with my lua script and python client).
Regards, Alexei Golovko.