I found a compatibility issue in the current multitrans implementation for some TP-Link IPC (China mainland version) cameras.
On these devices, the initial MULTITRANS request does not return 401 Unauthorized with a Digest challenge. Instead, it returns 200 OK directly, and the session can continue normally.
Current behavior:
- go2rtc expects the first response to be
401
- if the camera returns
200 OK directly, go2rtc fails with:
multitrans: expected 401, got 200 OK
Tested device:
- TP-Link TL-IPC44AW-COLOR 4.0
What I observed:
- standard RTSP video/audio works
- two-way talk works after a small patch in
pkg/multitrans/client.go to accept either:
- initial
401 -> continue with Digest auth
- initial
200 -> continue directly with the returned session
This seems to be a firmware variation rather than a protocol failure.
I also found an independent implementation that documents the same behavior:
https://github.com/crybaby4x4/scrypted-tplink-cn-talkback
It mentions that some firmware versions skip the Digest challenge and return 200 OK directly.
I have already tested a minimal local patch and will open a PR for it.
I found a compatibility issue in the current
multitransimplementation for some TP-Link IPC (China mainland version) cameras.On these devices, the initial
MULTITRANSrequest does not return401 Unauthorizedwith a Digest challenge. Instead, it returns200 OKdirectly, and the session can continue normally.Current behavior:
401200 OKdirectly, go2rtc fails with:multitrans: expected 401, got 200 OKTested device:
What I observed:
pkg/multitrans/client.goto accept either:401-> continue with Digest auth200-> continue directly with the returned sessionThis seems to be a firmware variation rather than a protocol failure.
I also found an independent implementation that documents the same behavior:
https://github.com/crybaby4x4/scrypted-tplink-cn-talkback
It mentions that some firmware versions skip the Digest challenge and return
200 OKdirectly.I have already tested a minimal local patch and will open a PR for it.