Skip to content

Config option to ignore Telegram phone/group call events (do not bridge call notices) #1088

Description

@mm-ymax

mautrix-telegram currently bridges Telegram call-related updates into Matrix as messages/notices, including at least:

  • tg.UpdatePhoneCall / PhoneCallRequested via onPhoneCall in pkg/connector/handletelegram.go (e.g. “Incoming … call” with BeeperActionMessageCall)
  • Service actions such as MessageActionPhoneCall, MessageActionGroupCall, MessageActionInviteToGroupCall, MessageActionGroupCallScheduled

Real Telegram voice/video calls are not bridged as MatrixRTC/Element Call (and are not expected to be).

For personal puppeting this is awkward:

  1. Matrix shows non-actionable call notices that cannot be answered as a real Matrix call.
  2. The user must open the official Telegram client to join/answer.
  3. Call-related noise in portals is undesirable if the bridge is used for messaging only.

mautrix-whatsapp already exposes an opt-out for the analogous case:

network:
  call_start_notices: false

Request

Please add a config option, for example:

network:
  # If false, do not bridge phone/group call events or call service messages to Matrix.
  call_notices: true  # default: true for current behaviour

When false:

  • Ignore (or no-op) UpdatePhoneCall / PhoneCallRequested for Matrix side effects.
  • Skip converting call-related MessageAction* variants into portal messages (at least for 1:1 phone calls; group-call actions optionally covered by the same flag or a separate one).
  • Do not create portals solely due to a call offer.
  • Leave normal message/media/sticker/etc. bridging unchanged.

If Telegram’s MTProto layer requires acknowledging call updates for session health, the bridge may still handle them internally—only Matrix emission should be optional.

Environment (example)

  • mautrix-telegram (Go bridge, self-hosted)
  • Homeserver: tuwunel
  • Use case: personal puppeting; messaging only; calls in official Telegram app

Alternatives considered

  • Client-side filtering in Element (incomplete, still noisy).
  • Logging out of the bridge when expecting calls (impractical).
  • Local patch (maintenance burden).

Related

  • WhatsApp: network.call_start_notices
  • Same request prepared for mautrix-signal (events.Call → “Incoming call” / “Call ended”)

Thanks!
Martin

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions