Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ACS Web Client (using Teams Interop) calls terminate after 2 minutes #32760

Open
DrDaveH opened this issue Jan 28, 2025 · 2 comments
Open

ACS Web Client (using Teams Interop) calls terminate after 2 minutes #32760

DrDaveH opened this issue Jan 28, 2025 · 2 comments
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. Communication - Calling Server customer-reported Issues that are reported by GitHub users external to the Azure organization. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that

Comments

@DrDaveH
Copy link

DrDaveH commented Jan 28, 2025

  • Package Name: @azure/communication-calling
  • Package Version: Latest Stable (v1.32.1) & older stable (v1.29.1)
  • Operating system: Windows*:

Describe the bug
We use the Azure Communication Calling client library for JavaScript within a web-based softphone for voice calling. The client is using the Teams interoperability option of having the identity as a Teams user (rather than the BYOI model).

Since the 16th Of January 2025 we've noticed that many calls to PSTN numbers are terminating after 2 minutes but this seems to only occur if there is a Teams policy-based recording bot being brought into the call. Without the recording bot being brought in, the calls work fine. Furthermore, some calls that include a recording bot are working fine and are lasting longer than 2 minutes.

When the calls terminate we log the following output in the ACS client (the information is obtained from the ACS call object returned by teamsCallAgent.startTeamsCall() on call state disconnected);

Call Disconnected...
PrimaryCallId: 2f46e848-deb3-4b2a-b185-dedcd8af42eb
DialledNumber: 07xxxxxxxx
Call1 Details:
{
"Id": "2f46e848-deb3-4b2a-b185-dedcd8af42eb",
"Direction": "Outgoing",
"CallEndReasonCode": 410,
"CallEndReasonSubCode": 10216,
"Participants": []
}

Addition information from Web Browser Network trace;

{
    "callEnd": {
        "code": 410,
        "phrase": "Media table change not received within stipulated time.",
        "reason": "clientError",
        "resultCategories": [
            "UnexpectedClientError"
        ],
        "sender": {
            "displayName": "xxxxxxxxxx",
            "displayNameSource": "runtimeAPI",
            "endpointId": "90cb555b-a34b-43d0-b068-d2e194526faa",
            "hidden": false,
            "id": "8:orgid:756a94a6-xxxxxxxxxxxxxxxx",
            "languageId": "en",
            "participantId": "620948db-cb6d-495d-a595-1054f0afc4e0",
            "propertyBag": null,
            "region": "in",
            "resourceId": "c1cb6efa-xxxxxxxxxxxxxxx",
            "tenantId": "e8b4e8cb-xxxxxxxxxxxxxxx"
        },
        "subCode": 10216
    },
    "debugContent": {
        "participantIdsWithPendingMediaSetup": "[620948db-cb6d-495d-a595-1054f0afc4e0]"
    }
}

The termination appears to be coming from the Teams infrastructure, rather than the softphone, or indeed the PSTN leg (via Teams Direct Routing).

We're unsure as to whether the issue is caused by the Teams infrastructure or a bug within the JavaScript SDK. However, it should be noted that we haven't noticed this problem when using the Teams Desktop client or the Teams Web Client.

Any help in this matter will be gratefully received. Many thanks in advance, cheers Dave

To Reproduce
Steps to reproduce the behavior:

  1. Enable Teams policy-based recording and apply to Teams user (Teams user 1) - For our tests we have the following flags configured; RequiredBeforeMeetingJoin=False;RequiredBeforeCallEstablishment=False;RequiredDuringMeeting=False;RequiredDuringCall=False
  2. Make call from ACS client (Teams user 1) to PSTN number (via Direct Routing - although we're unsure if Direct Routing is a factor)
  3. Answer incoming call on PSTN party
  4. Ensure Recording Bot is brought in to the call (N.B., tests show the same behaviour no matter if the Recording bot remains in the call or not)
  5. Remain on the call for longer than 2 minutes
  6. See if call is terminated at 2 minutes

Expected behavior
The call remains connected longer than 2 minutes and is only terminated when either party hangs-up.

@github-actions github-actions bot added customer-reported Issues that are reported by GitHub users external to the Azure organization. needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Jan 28, 2025
@xirzec xirzec added Communication - Calling Server Client This issue points to a problem in the data-plane of the library. labels Jan 28, 2025
@github-actions github-actions bot removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Jan 28, 2025
@DrDaveH
Copy link
Author

DrDaveH commented Feb 4, 2025

Additional; Through some further testing, we can confirm that an older beta version of the SDK (v1.31.2-beta.2) does appear to fix this issue. However, the later (and earlier) release versions of the SDK still exhibit this issue.

@DrDaveH
Copy link
Author

DrDaveH commented Feb 6, 2025

Additional additional; Although the v1.31.2-beta.2 SDK appears to improve the situation, we've now discovered that it doesn't completely fix it. We still see the 2 minute call drop but seemingly on fewer calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Client This issue points to a problem in the data-plane of the library. Communication - Calling Server customer-reported Issues that are reported by GitHub users external to the Azure organization. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that
Projects
None yet
Development

No branches or pull requests

3 participants