Calling Teams Bot - Call goes from Establishing to Terminated - Error 3002

Marcelo Schoen 56 Reputation points
2024-04-19T13:46:13.45+00:00

Hello,

I'm struggling with this implementation. Documentation is nearly absent.

  1. Nowhere in the documentation you have clear instructions on how to (or why) you need a certificate. Also, there is no clear specification of the certificate type and public key type. All I know is that is needed by MediaPlattformSettings.
  2. When after all logic implementation, fixing issues by my own, I get it to a almost working state. I have a meeting link, try to get the bot to join, and I get the following responses. ( all 200, which is logically impossible, since the request is 200, but graph has an error code 500, with the info 3002. No extra info, no way of identifying what is going on). The code will be the 2 jsons in question, the establishing section, the terminated section
{
    "@odata.type": "#microsoft.graph.commsNotifications",
    "value": [
        {
            "@odata.type": "#microsoft.graph.commsNotification",
            "changeType": "updated",
            "resource": "/app/calls/851fd200-104a-492b-a1f4-48d2107962a9",
            "resourceUrl": "/communications/calls/851fd200-104a-492b-a1f4-48d2107962a9",
            "resourceData": {
                "@odata.type": "#microsoft.graph.call",
                "state": "establishing",
                "chatInfo": {
                    "@odata.type": "#microsoft.graph.chatInfo",
                    "threadId": "19:meeting_ZWI2MDM0NjMtOTg0My00NGU3LThmOWQtMDYyYzIyZGI0NWQz@thread.v2",
                    "messageId": "0"
                },
                "meetingInfo": {
                    "@odata.type": "#microsoft.graph.organizerMeetingInfo",
                    "organizer": {
                        "@odata.type": "#microsoft.graph.identitySet",
                        "user": {
                            "@odata.type": "#microsoft.graph.identity",
                            "id": "ceff7fa8-b5a8-4776-afca-63b07fe42956",
                            "tenantId": "d8bde65a-3ded-4346-9518-670204e6e184"
                        }
                    }
                },
                "callChainId": "d07822a1-c33c-498a-8e85-3a37cb85eaf6"
            }
        }
    ]
}

and then

{
    "@odata.type": "#microsoft.graph.commsNotifications",
    "value": [
        {
            "@odata.type": "#microsoft.graph.commsNotification",
            "changeType": "deleted",
            "resource": "/app/calls/851fd200-104a-492b-a1f4-48d2107962a9",
            "resourceUrl": "/communications/calls/851fd200-104a-492b-a1f4-48d2107962a9",
            "resourceData": {
                "@odata.type": "#microsoft.graph.call",
                "state": "terminated",
                "resultInfo": {
                    "@odata.type": "#microsoft.graph.resultInfo",
                    "code": 500,
                    "subcode": 3002,
                    "message": "Server Internal Error. DiagCode: 500#3002.@"
                },
                "chatInfo": {
                    "@odata.type": "#microsoft.graph.chatInfo",
                    "threadId": "19:meeting_ZWI2MDM0NjMtOTg0My00NGU3LThmOWQtMDYyYzIyZGI0NWQz@thread.v2",
                    "messageId": "0"
                },
                "meetingInfo": {
                    "@odata.type": "#microsoft.graph.organizerMeetingInfo",
                    "organizer": {
                        "@odata.type": "#microsoft.graph.identitySet",
                        "user": {
                            "@odata.type": "#microsoft.graph.identity",
                            "id": "ceff7fa8-b5a8-4776-afca-63b07fe42956",
                            "tenantId": "d8bde65a-3ded-4346-9518-670204e6e184"
                        }
                    }
                },
                "callChainId": "d07822a1-c33c-498a-8e85-3a37cb85eaf6"
            }
        }
    ]
}

Is not helpful. How can I know what is going on if:

  1. I don't have access to the actual exception.
  2. I have no ways of logging the process.
  3. The error is generic and has no instruction ( anywhere ) on what it means, what caused it and how to prevent it.
  4. Absence of documentation.

I apologize for my word as I'm really frustrated by this.

I would really appreciate support for this, if it is indeed possible.

Be sure of the following:

  1. My Azure App has the required api permissions and a few more
  2. My app secret is up to date
  3. My certificate is valid and up to date
  4. My domain has a CName that is exaclty what ngrok requires it to be
  5. My routers ports are open for this giving scenario (8445, 9441 and the ngrok instance port)
  6. On Teams, there is nothing, no request to join, no errors, no application installation request, nothing
  7. Barely changed the code, only adapted my settings into the appSetttings.
  8. Code used as reference is from Microsoft Graph Git Hub, Comm Samples.
Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
11,978 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Marcelo Schoen 56 Reputation points
    2024-04-21T20:58:03.36+00:00

    Is this a regular thing, no response from anyone 2days+ ?


  2. Ruben Rubio 0 Reputation points
    2024-06-03T15:32:37.3633333+00:00

    Same issue here

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.