No video in 1:1 calls between an application-hosted media bot and the Teams web client (the video section of the call setup is rejected)

Abierto
#877 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo

Línea de trabajo

Start by reviewing the ICallCollection.AddAsync call setup and the reported SDP offer and answer, comparing the web-client negotiation with the desktop-client case. The issue names no source files or tests, so first locate the media-call negotiation path in the samples and check whether the video section is rejected there. Done means identifying why video is rejected and confirming video works in the described 1:1 web-client call.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

An application-hosted media bot doing two-way video in 1:1 calls gets video with the Teams desktop client (Windows), but no video in either direction with the Teams web client. Audio works in both cases. This happens both when the bot calls the user and when the user calls the bot.

Environment

  • Microsoft.Skype.Bots.Media 1.33.0.258-preview
  • Microsoft.Graph.Communications.Calls.Media 1.2.0.18736
  • Teams web client on Edge 155 (Chromium) at teams.cloud.microsoft
  • Teams desktop client (Windows), used for comparison

Setup

  • One video socket: StreamDirection.Sendrecv, ReceiveColorFormat = VideoColorFormat.H264, H.264 send formats, MaxConcurrentSendStreams = 1.
  • Outgoing calls are created with ICallCollection.AddAsync(call, localMediaSession, ...). The resulting call resource has requestedModalities: [audio, video].
  • The configuration is the same for both clients.

Steps to reproduce

  1. The bot places a 1:1 call to a Teams user.
  2. The user answers in the Teams web client.
  3. Repeat, answering in the Teams desktop client.

Expected

The same video behavior as with the desktop client.

Actual: events raised on the bot's IVideoSocket

Event Desktop client Web client
VideoReceiveStatusChanged → Active yes never
VideoSendStatusChanged → Inactive yes yes
VideoSendStatusChanged → Active yes never
VideoKeyFrameNeeded yes never

When the web client user calls the bot, the video socket raises no events at all.

SDP captured in the browser (edge://webrtc-internals)

  1. The offer the web client receives from Teams has audio only, although the bot asked for audio and video:

    a=group:BUNDLE 1
    m=audio 50870 UDP/TLS/RTP/SAVPF 108 104 9 103 111 18 0 8 97 101 13 120
    
  2. The web client then adds a video section and sends a new offer. It includes standard H.264 (e.g. profile-level-id=42e01f;packetization-mode=1) and AV1:

    m=video 9 UDP/TLS/RTP/SAVPF 102 125 124 114 116 39 118 45 ...
    a=sendrecv
    a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
    
  3. Teams' answer rejects the video section (port 0):

    m=video 0 UDP/TLS/RTP/SAVPF 36
    a=inactive
    
  4. The web client tries to add video a second time and is rejected again in the same way.

Even receive-only video is rejected, so the bot never gets a video stream.

Call IDs and timestamps can be shared on request.

Lenguaje dominante
Sin datos de lenguaje
Estrellas
252
Forks
276
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoftgraph/microsoft-graph-comms-samples

Todos los issues de microsoftgraph/microsoft-graph-comms-samples

Issues similares

Más issues de Audio/Video & RTC

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.