Skip to content

PolicyRecordingBot double compliance recording audio notification on PSTN calls #862

@milinkoc

Description

@milinkoc

We observed strange behavior with our PolicyRecordingBot application when compliant teams user makes direct one to one call to PSTN (phone number). When PSTN user answers he can hear recording notification ("this call is being recorded") once and then again second time when large gallery view participant (LGV) joins.

Steps to Reproduce:

  1. A Teams user (with a Compliance Recording Policy applied) makes an outbound call to an external PSTN number.
  2. The PSTN user answers the call.
  3. Our compliance recording bot joins the session
  4. We call the updateRecordingStatus (Microsoft.Graph.Communications.Calls.ICall.UpdateRecordingStatusAsync) API method exactly once to trigger the recording notification.
  5. We call API to add LargeGalleryView participant (Microsoft.Graph.Communications.Calls.ICall.AddLargeGalleryViewAsync)
  6. The PSTN recipient hears the audio notification once when connection is established.
  7. The PSTN recipient hears the audio notification for the second time when LargeGalleryView participant joins the call

Technical Findings & Workaround:

  • Single API Call: We are firing the updateRecordingStatus method only once. We also call addLargeGalleryView API only once
  • If we don't add LGV immediately and first add other teams user (doesn't matter if it is compliant or non compliant) and after that add LGV, second recording is not heard.
  • If we call the updateRecordingStatus API after the large gallery view participant joins the call, the duplication issue disappears, and the PSTN user hears the notification only once (as expected).

We are using Microsoft.Skype.Bots.Media version 1.31.0.225-preview, but the same thing is happening with latest 1.33.0.258-preview. Also we are using Microsoft.Graph.Communications.* packages version 1.2.0.10563 but same thing is happening with latest one 1.2.0.15690.

CallId: 0f006580-9f52-498d-97c1-e17017947fab
DateTime (UTC): March 24, 2026, 12:11 AM

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