Skip to content

Multitrans doesn't work on some TP-Link IPC firmware that returns 200 OK instead of 401 #2185

@neqq3

Description

@neqq3

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions