Webex Bot

Join and record meeting with multi-stream audio capture

Access Token

Meeting URL or Number

Meeting Password (Optional)

WebSocket Server URL (Optional)

Joining...

Joined meeting successfully!

M

Mahdar.ai

Debug Log

[8:02:02 AM] [Audio] Stopped stream recording | {
"streamId": "bb9e6944-36c7-44b4-b875-ff033d495698"
}

"streamId": "2e8b1baf-90db-4457-8d14-3f680d02dfb9"
}

"streamId": "a0dce617-02d5-4785-97fe-e31bc12e11a0"
}

[8:02:02 AM] ⚠️ Media sending disabled

[8:01:02 AM] Added participant: Mahdar.ai | {
"participantId": "a8beee95-471c-3a03-a072-939c8f9630a9"
}

[8:01:02 AM] Roster grid refresh | {
"count": 1
}

[8:01:02 AM] 📤 Sent UsersUpdate | {
"new": 0,
"removed": 0,
"updated": 1
}

[8:01:02 AM] Members updated | {
"fullCount": 2,
"added": 0,
"updated": 2,
"removed": 0
}

[8:01:01 AM] Video sources changed | {
"live": 0
}

[8:01:00 AM] Added participant: oussama | {
"participantId": "0ce25287-c86e-304d-8adf-371df1641425"
}

[8:01:00 AM] Added participant: Mahdar.ai | {
"participantId": "a8beee95-471c-3a03-a072-939c8f9630a9"
}

[8:01:00 AM] Roster grid refresh | {
"count": 2
}

[8:01:00 AM] Members updated | {
"fullCount": 2,
"added": 0,
"updated": 2,
"removed": 0
}

[7:59:18 AM] Added participant: oussama | {
"participantId": "0ce25287-c86e-304d-8adf-371df1641425"
}

[7:59:18 AM] Added participant: Mahdar.ai | {
"participantId": "a8beee95-471c-3a03-a072-939c8f9630a9"
}

[7:59:18 AM] Roster grid refresh | {
"count": 2
}

[7:59:18 AM] Members updated | {
"fullCount": 2,
"added": 0,
"updated": 1,
"removed": 0
}

[7:59:17 AM] Audio sources changed | {
"live": 3
}

[7:59:17 AM] Video sources changed | {
"live": 0
}

[7:59:17 AM] [SUCCESS] Joined meeting successfully!

[7:59:17 AM] ✅ Media added successfully | {
"disableVideo": false
}

[7:59:16 AM] ✅ Media sending enabled

[7:59:15 AM] Roster grid: all in-meeting participants | {
"count": 2
}

[7:59:15 AM] Added participant: oussama | {
"participantId": "0ce25287-c86e-304d-8adf-371df1641425"
}

[7:59:15 AM] Added participant: Mahdar.ai | {
"participantId": "a8beee95-471c-3a03-a072-939c8f9630a9"
}

[7:59:15 AM] Roster grid refresh | {
"count": 2
}

[7:59:15 AM] Video layout changed | {
"layoutId": "AllEqual",
"activeSpeakers": 1,
"memberPanes": 0,
"hasScreenShare": false
}

[7:59:15 AM] ✅ Audio recording initialized for all streams

[7:59:15 AM] [Audio] Stream recording started for slot 2

[7:59:15 AM] [Audio] Starting continuous streaming for slot 2, CSI: undefined

[7:59:15 AM] 🔧 Setting up audio slot 2 | {
"csi": "undefined",
"memberId": "N/A",
"sourceState": "no source",
"hasStream": true
}

[7:59:15 AM] [Audio] Stream recording started for slot 1

[7:59:15 AM] [Audio] Starting continuous streaming for slot 1, CSI: undefined

[7:59:15 AM] 🔧 Setting up audio slot 1 | {
"csi": "undefined",
"memberId": "N/A",
"sourceState": "no source",
"hasStream": true
}

[7:59:15 AM] [Audio] Stream recording started for slot 0

[7:59:15 AM] [Audio] Starting continuous streaming for slot 0, CSI: undefined

[7:59:15 AM] 🔧 Setting up audio slot 0 | {
"csi": "undefined",
"memberId": "N/A",
"sourceState": "no source",
"hasStream": true
}

[7:59:15 AM] 🎧 Remote audio created | {
"count": 3
}

[7:59:15 AM] Added participant: oussama | {
"participantId": "0ce25287-c86e-304d-8adf-371df1641425"
}

[7:59:15 AM] Added participant: Mahdar.ai | {
"participantId": "a8beee95-471c-3a03-a072-939c8f9630a9"
}

[7:59:15 AM] Roster grid refresh | {
"count": 2
}

[7:59:15 AM] 📤 Sent UsersUpdate | {
"new": 0,
"removed": 0,
"updated": 1
}

[7:59:15 AM] Members updated | {
"fullCount": 2,
"added": 0,
"updated": 1,
"removed": 0
}

[7:59:15 AM] 🎯 Setting up multistream listeners

[7:59:15 AM] 📤 Sent MeetingStatusChange: joined

[7:59:15 AM] [INFO] Admitted! Adding media...

[7:59:15 AM] ✅ Admitted from lobby, adding media now

[7:59:10 AM] Added participant: oussama | {
"participantId": "0ce25287-c86e-304d-8adf-371df1641425"
}

[7:59:10 AM] Roster grid refresh | {
"count": 1
}

[7:59:10 AM] 📤 Sent UsersUpdate | {
"new": 2,
"removed": 0,
"updated": 0
}

[7:59:10 AM] Members updated | {
"fullCount": 2,
"added": 2,
"updated": 0,
"removed": 0
}

[7:59:10 AM] [INFO] ⏳ Waiting in lobby - host will admit you...

[7:59:10 AM] 🚪 Bot waiting in lobby for admission | {
"payload": {
"deviceUrl": "https://wdm-r.wbx2.com/wdm/api/v1/devices/d79001cd-69a6-42bc-a369-11bc545bdc35",
"alertHint": {
"action": "NONE"
},
"alertType": {
"action": "NONE"
},
"callbackInfo": {
"callbackAddress": "[email-masked]",
"callbackType": "SIPURI"
},
"lookUpInfo": {
"lookupLink": "https://locus-t.wbx2.com/locus/api/v1/loci/meetingInfo/e3559ca9-3c49-3c3d-9a46-518a2d085d53?type=LOCUS_ID&useUriLookup=false",
"type": "MEETING"
},
"isCreator": false,
"identity": "8b827069-ecb4-446b-b4a6-84856c72ee17",
"url": "https://locus-t.wbx2.com/locus/api/v1/loci/e3559ca9-3c49-3c3d-9a46-518a2d085d53/participant/a8beee95-471c-3a03-a072-939c8f9630a9",
"state": "IDLE",
"type": "USER",
"isSiteInternal": false,
"annotatorAssignmentNotAllowed": true,
"person": {
"id": "8b827069-ecb4-446b-b4a6-84856c72ee17",
"name": "Mahdar.ai",
"isExternal": false,
"orgId": "678c37cb-4403-40e9-9380-03932010235d",
"incomingCallProtocols": []
},
"devices": [
{
"url": "https://wdm-r.wbx2.com/wdm/api/v1/devices/d79001cd-69a6-42bc-a369-11bc545bdc35",
"deviceType": "WEB",
"state": "IDLE",
"intents": [
{
"id": "11c6cab4-f7af-4246-b2b7-08a8772b6fd8",
"type": "WAIT",
"associatedWith": "https://locus-t.wbx2.com/locus/api/v1/loci/e3559ca9-3c49-3c3d-9a46-518a2d085d53/participant/a8beee95-471c-3a03-a072-939c8f9630a9",
"reason": "SECURED_MEETING_LOBBY"
}
],
"keepAliveUrl": "https://locus-t.wbx2.com/locus/api/v1/loci/e3559ca9-3c49-3c3d-9a46-518a2d085d53/keepAlive?device_url=aHR0cHM6Ly93ZG0tci53YngyLmNvbS93ZG0vYXBpL3YxL2RldmljZXMvZDc5MDAxY2QtNjlhNi00MmJjLWEzNjktMTFiYzU0NWJkYzM1&timestamp=d047b923-3c8e-11f1-8f63-8a0312b9a25e&timeout=300",
"keepAliveSecs": 300,
"callLegId": "eb68f3c5-57cb-4f4a-a457-849b3b5a0792",
"correlationId": "be80a3b4-053a-48f1-9e50-debdbfd387d9",
"isVideoCallback": false,
"csis": [],
"serverTranscoded": false,
"serverComposed": false,
"replaces": [],
"intent": {
"id": "11c6cab4-f7af-4246-b2b7-08a8772b6fd8",
"type": "WAIT",
"associatedWith": "https://locus-t.wbx2.com/locus/api/v1/loci/e3559ca9-3c49-3c3d-9a46-518a2d085d53/participant/a8beee95-471c-3a03-a072-939c8f9630a9",
"reason": "SECURED_MEETING_LOBBY"
}
}
],
"status": {
"audioStatus": "UNKNOWN",
"videoStatus": "UNKNOWN",
"csis": []
},
"suggestedMedia": [
{
"mediaType": "audio",
"mediaContent": "main",
"direction": "sendrecv"
},
{
"mediaType": "video",
"mediaContent": "main",
"direction": "sendrecv"
},
{
"mediaType": "video",
"mediaContent": "slides",
"direction": "sendrecv"
}
],
"controls": {
"audio": {
"muted": false,
"requestedToUnmute": false,
"disallowUnmute": false,
"meta": {}
},
"video": {
"muted": false,
"meta": {}
}
},
"presenterAssignmentNotAllowed": true,
"doesNotSupportBreakouts": true,
"doesNotSupportSiInterpreter": true,
"doesNotSupportSignInterpreter": true,
"identityTrustLevel": "EXTERNAL",
"doesNotSupportSingleUserAutoEndMeeting": true,
"captionerRoleNotAllowed": true,
"enableDTMF": true,
"id": "a8beee95-471c-3a03-a072-939c8f9630a9",
"guest": false,
"resourceGuest": false,
"moderator": false,
"panelist": false,
"moveToLobbyNotAllowed": true,
"mediaBaseUrl": "https://locus-t.wbx2.com/locus/api/v1/loci/e3559ca9-3c49-3c3d-9a46-518a2d085d53/participant/a8beee95-471c-3a03-a072-939c8f9630a9/media"
}
}

[7:59:10 AM] Meeting state changed | {
"botAdmitted": false
}

[7:59:07 AM] Joining meeting without media (will add after admission if needed)

[7:59:07 AM] [INFO] Joining meeting...

[7:59:07 AM] Meeting created | {
"id": "be80a3b4-053a-48f1-9e50-debdbfd387d9"
}

[7:59:04 AM] ✅ Media sending enabled

[7:59:04 AM] ✅ WebSocket CONNECTED and READY | {
"readyState": 1,
"url": "ws://localhost:8766"
}

[7:59:03 AM] Creating meeting | {
"destination": "https://meet1753323438208-2958.webex.com/meet/pr26504161834"
}

[7:59:03 AM] [INFO] Creating meeting...

[7:59:03 AM] 🔌 Connecting to WebSocket... | {
"url": "ws://localhost:8766"
}

[7:59:03 AM] [SUCCESS] SDK initialized successfully!

[7:59:03 AM] Registered with Webex meetings service

[7:58:59 AM] Webex SDK ready

[7:58:59 AM] Initializing Webex SDK

[7:58:59 AM] [INFO] Initializing Webex SDK...

[7:58:59 AM] ✅ Media sending enabled

[7:58:59 AM] ✅ WebSocket CONNECTED and READY | {
"readyState": 1,
"url": "ws://localhost:8766"
}

[7:58:59 AM] 🔌 Connecting to WebSocket... | {
"url": "ws://localhost:8766"
}

[7:58:59 AM] 🤖 Auto-join mode detected - initializing from Python adapter | {
"accessToken": "NjRkYmM5NTctNjcwMy00NTI1LWJhNmItNTc5YTM3YTU1NDdhNWM0YTE1OTYtYWQ2_P0A1_678c37cb-4403-40e9-9380-03932010235d",
"meetingDestination": "https://meet1753323438208-2958.webex.com/meet/pr26504161834",
"meetingPassword": "",
"websocketUrl": "ws://localhost:8766",
"websocketPort": 8766,
"enableTranscription": true,
"botName": "mahdar.ai",
"disableIncomingVideo": false
}

[7:58:59 AM] Multistream support enabled for individual participant streams

[7:58:59 AM] Application loaded and ready