Skip to content

Bot is unable to join the call #54

@rose-ramasamy

Description

@rose-ramasamy

I am trying the Broadcast-Development-Kit solution and i want to extract the audio from the teams meeting.

I followed the Readme and set it up the application. I am able to run the application without any errors. However, Bot is not joining into the call.

I am sharing the config details and i have created app and bot in azure portal. Can you please help me with this issue?

ngrok configuration:

Image

BotService appsettings.Development.json

Image

BotOrchestrator local.settings.json

Image

BotService Console:

[21:58:31 INF] Initializing Bot Service
[21:58:32 INF] Parsing configuration
[21:58:32 INF] Getting certificate
[21:58:32 INF] Getting certificate from store.
[21:58:32 INF] certificate with thumbprint XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[21:58:32 INF] Initializing GStreamer
[21:58:35 INF] Creating web host
[21:58:52 INF] Setting up database schema
[21:58:54 INF] Registering bot service
[21:58:54 INF] Instantiating CommunicationsClientBuilder for BotService
[21:58:54 INF] Instantiating AuthenticationProvider for BotService
[21:58:54 INF] Setting AuthenticationProvider for BotService
[21:58:54 INF] Setting NotificationUrl for BotService
[21:58:54 INF] Getting MediaPlatformSettings for BotService
[21:58:54 INF] Setting MediaPlatformSettings for BotService
[21:59:21 INF] Setting ServiceBaseUrl for BotService
[21:59:21 INF] Building Communication Client for BotService
[21:59:21 INF] Communication Client for BotService has been succesfully built
[21:59:23 INF] Running web host as a console application
[21:59:24 INF] User profile is available. Using 'C:\Users\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
[21:59:26 WRN] Overriding address(es) 'https://localhost:9442, http://localhost:9441'. Binding to endpoints defined in UseKestrel() instead.
Hosting environment: local
Content root path: D:\Rose\work\Source\Broadcast-Development-Kit-main\src\BotService
Now listening on: http://[::1]:9441
Now listening on: http://127.0.0.1:9441
Now listening on: https://[::1]:9442
Now listening on: https://127.0.0.1:9442
Application started. Press Ctrl+C to shut down.
[22:00:33 INF] Request starting HTTP/1.1 POST https://localhost:9442/api/bot/invite application/json; charset=utf-8 423
[22:00:36 INF] Route matched with {action = "InviteBotAsync", controller = "Bot"}. Executing action BotService.Controllers.BotController.InviteBotAsync (BotService)
[22:00:36 INF] Executing action method BotService.Controllers.BotController.InviteBotAsync (BotService) with arguments (["Application.Service.Commands.DoInviteBot+DoInviteBotCommand"]) - Validation state: Valid
[22:00:36 INF] [Bot] Getting meeting info for call 2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a
[22:00:37 INF] [Bot] Initiating call 2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a with scenario id 2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a
[22:00:40 INF] Request starting HTTP/1.1 POST http://23b24a64e99d.ngrok-free.app/api/bot/calling application/json 834
[22:00:40 INF] Route matched with {action = "OnIncomingRequestAsync", controller = "Bot"}. Executing action BotService.Controllers.BotController.OnIncomingRequestAsync (BotService)
[22:00:40 INF] Executing action method BotService.Controllers.BotController.OnIncomingRequestAsync (BotService) - Validation state: Valid
[22:00:42 INF] [Bot] Call initialization completed - call 2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a
[22:00:42 INF] Executed action method BotService.Controllers.BotController.InviteBotAsync (BotService), returned result Microsoft.AspNetCore.Mvc.OkObjectResult in 5802.7413ms.
[22:00:42 INF] Executing ObjectResult, writing value of type 'Application.Service.Commands.DoInviteBot+DoInviteBotCommandResponse'.
[22:00:42 INF] Executed action BotService.Controllers.BotController.InviteBotAsync (BotService) in 6625.3778ms
[22:00:42 INF] Request finished in 9636.8583ms 200 application/json; charset=utf-8
[22:00:43 INF] Request starting HTTP/1.1 POST http://23b24a64e99d.ngrok-free.app/api/bot/calling application/json 979
[22:00:43 INF] Route matched with {action = "OnIncomingRequestAsync", controller = "Bot"}. Executing action BotService.Controllers.BotController.OnIncomingRequestAsync (BotService)
[22:00:43 INF] Executing action method BotService.Controllers.BotController.OnIncomingRequestAsync (BotService) - Validation state: Valid
[22:00:44 INF] Executed action method BotService.Controllers.BotController.OnIncomingRequestAsync (BotService), returned result Microsoft.AspNetCore.Mvc.OkObjectResult in 3638.0351ms.
[22:00:44 INF] Executed action method BotService.Controllers.BotController.OnIncomingRequestAsync (BotService), returned result Microsoft.AspNetCore.Mvc.OkObjectResult in 1256.6744ms.
[22:00:44 INF] Executing ObjectResult, writing value of type 'Application.Service.Commands.ProcessNotification+ProcessNotificationCommandResponse'.
[22:00:44 INF] Executing ObjectResult, writing value of type 'Application.Service.Commands.ProcessNotification+ProcessNotificationCommandResponse'.
[22:00:44 INF] Executed action BotService.Controllers.BotController.OnIncomingRequestAsync (BotService) in 3704.8158ms
[22:00:44 INF] Request finished in 3735.4106ms 200 application/json; charset=utf-8
[22:00:44 INF] [CallHandler] On updated call - Old State Establishing - New State Establishing
[22:00:44 INF] Executed action BotService.Controllers.BotController.OnIncomingRequestAsync (BotService) in 1315.2127ms
[22:00:44 INF] Request finished in 1345.1762ms 200 application/json; charset=utf-8
[22:00:44 INF] [CallHandler] On updated call - Old State Establishing - New State Terminated
[22:00:44 INF] Call with id 2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a was set as Terminated. Removing streams...
[22:00:44 INF] Call with id 2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a was set as Terminated. Removing participants...

ManagementApi Console

[21:58:42 INF] User profile is available. Using 'C:\Users\310112701\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Hosting environment: local
Content root path: D:\Rose\work\Source\Broadcast-Development-Kit-main\src\ManagementApi
Now listening on: https://localhost:8442
Now listening on: http://localhost:8441
Application started. Press Ctrl+C to shut down.
[21:58:47 INF] Request starting HTTP/2 GET https://localhost:8442/
[21:58:48 INF] Request finished in 192.7974ms 404
[22:00:31 INF] Request starting HTTP/1.1 POST https://localhost:8442/api/call/initialize-call?access_token=<token-here> McdNLzc6yFzgS4NDajRlx9NSKRqkWNDyKuGbAZqghlQaGxmZYT8ooUiNZ9TM-iWFIaesXjQHk7ow-WTLzlQ application/json 292
[22:00:31 INF] Executing endpoint 'ManagementApi.Controllers.CallController.InviteBot (ManagementApi)'
[22:00:31 INF] Route matched with {action = "InviteBot", controller = "Call"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] InviteBot(RequestInviteBotCommand) on controller ManagementApi.Controllers.CallController (ManagementApi).
[22:00:31 INF] Executing action method ManagementApi.Controllers.CallController.InviteBot (ManagementApi) - Validation state: Valid
[22:00:32 INF] Start processing HTTP request POST https://localhost:9442/api/bot/invite
[22:00:32 INF] Sending HTTP request POST https://localhost:9442/api/bot/invite
[22:00:42 INF] Received HTTP response after 9809.6441ms - OK
[22:00:42 INF] End processing HTTP request after 9827.2776ms - OK
[22:00:42 INF] Executed action method ManagementApi.Controllers.CallController.InviteBot (ManagementApi), returned result Microsoft.AspNetCore.Mvc.OkObjectResult in 11136.252ms.
[22:00:42 INF] Executing ObjectResult, writing value of type 'Application.Call.Commands.RequestInviteBot+RequestInviteBotCommandResponse'.
[22:00:42 INF] Executed action ManagementApi.Controllers.CallController.InviteBot (ManagementApi) in 11235.2753ms
[22:00:42 INF] Executed endpoint 'ManagementApi.Controllers.CallController.InviteBot (ManagementApi)'
[22:00:42 INF] Request finished in 11332.3938ms 200 application/json; charset=utf-8

Postman API details:

Requested URL: https://localhost:8442/api/call/initialize-call
method: POST

Request Param:

{
  "MeetingUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZTIxMzUwNDItOTY0MS00NjE2LWE3MGYtMmFlYTMxYzk1Mjc4%40thread.v2/0?context=%7b%22Tid%22%3a%22cbc4e49b-d32d-4975-9779-2c5c4ce967fb%22%2c%22Oid%22%3a%22dd595390-ef4b-4214-83f2-26cd8f07b24c%22%7d"
 }

Response:

{
    "id": "2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a",
    "resource": {
        "id": "2dd0a2a8-9a31-40f6-b25e-d49c50a79a7a",
        "meetingUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZTIxMzUwNDItOTY0MS00NjE2LWE3MGYtMmFlYTMxYzk1Mjc4%40thread.v2/0?context=%7b%22Tid%22%3a%22cbc4e49b-d32d-4975-9779-2c5c4ce967fb%22%2c%22Oid%22%3a%22dd595390-ef4b-4214-83f2-26cd8f07b24c%22%7d",
        "meetingId": "MCMxOTptZWV0aW5nX1pUSXhNelV3TkRJdE9UWTBNUzAwTmpFMkxXRTNNR1l0TW1GbFlUTXhZemsxTWpjNEB0aHJlYWQudjIjMA==",
        "state": 0,
        "createdAt": "2025-09-04T22:00:32.7135181+05:30",
        "startedAt": "0001-01-01T00:00:00",
        "endedAt": "0001-01-01T00:00:00",
        "meetingType": 0,
        "botFqdn": "localhost:9442",
        "botIp": null,
        "defaultPassphrase": null,
        "defaultLatency": 0,
        "graphId": null,
        "isBotMuted": false,
        "streams": [],
        "injectionStream": null,
        "publicContext": {},
        "privateContext": {
            "streamKey": "5HmYGtsW0CKMR3BefErHQ"
        }
    }
}

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