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:
BotService appsettings.Development.json
BotOrchestrator local.settings.json
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"
}
}
}
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:
BotService appsettings.Development.json
BotOrchestrator local.settings.json
BotService Console:
ManagementApi Console
Postman API details:
Requested URL: https://localhost:8442/api/call/initialize-call
method: POST
Request Param:
Response: