Información general de Calling SDK

Azure Communication Services permite a exploradores para el usuario final, aplicaciones y servicios impulsar la comunicación de voz y vídeo. Esta página se centra en el SDK de llamadas cliente, que se puede insertar en sitios web y aplicaciones nativas. En esta página se proporcionan descripciones detalladas de las características cliente de llamadas, como información sobre la compatibilidad del explorador y la plataforma. Los servicios administran y acceden mediante programación a las llamadas mediante las API de automatización de llamadas. Rooms API es una API opcional de Azure Communication Services que agrega características adicionales a una llamada de voz o vídeo, como roles y permisos.

Nota:

Comparta su opinión y comentarios sobre Azure Communication Services con nosotros respondiendo a esta breve encuesta.

Para crear una experiencia de usuario propia con el SDK de llamadas, consulte Inicios rápidos de llamadas o Ejemplo de elemento principal de llamada.

Si quiere obtener ayuda con la experiencia del usuario final, la biblioteca de interfaz de usuario de Azure Communication Services proporciona una colección de componentes de interfaz de usuario listos para producción de código abierto para agregarlos a la aplicación. Con este conjunto de controles creados previamente, puede crear atractivas experiencias de comunicación mediante el lenguaje de diseño Fluent de Microsoft. Si quiere obtener más información sobre la biblioteca de interfaz de usuario, visite el sitio de información general o Storybook.

Una vez que inicie el desarrollo, consulte la página de problemas conocidos para identificar los errores en los que estamos trabajando.

Vínculos del SDK

Plataforma Web (JavaScript) Windows (.NET) iOS Android Otros
Llamar npm NuGet GitHub Maven
Biblioteca de interfaz de usuario npm - GitHub GitHub GitHub, Storybook

Características principales

  • Administración de dispositivos y medios: la instancia de Calling SDK proporciona funciones para enlazar con dispositivos de audio y vídeo, codifica contenido para una transmisión eficaz a través del plan de TI de comunicaciones y muestra el contenido en los dispositivos de salida y las vistas que especifique. Las API también se proporcionan con fines de uso compartido de la aplicación y la pantalla.
  • RTC: el SDK de llamadas puede iniciar llamadas de voz con la red tradicional de telefonía pública conmutada, mediante el uso de números de teléfono que haya obtenido en Azure Portal o mediante programación. También puede traer números propios mediante controladores de borde de sesión.
  • Reuniones de Teams y llamadas: el SDK de llamadas puede unirse a reuniones de Teams e interactuar con el plano de datos de voz y vídeo de Teams.
  • Cifrado : la instancia de Calling SDK que hace la llamada cifra el tráfico y evita manipulaciones de la conexión.
  • Direccionamiento : Azure Communication Services proporciona identidades genéricas que se usan para dirigirse a puntos de conexión de comunicación. Los clientes usan estas identidades para autenticarse en el servicio y comunicarse entre sí. Estas identidades se usan en las API de llamada que proporcionan a los clientes visibilidad de quién está conectado a una llamada (la lista).
  • Seguridad de acceso del usuario
    • El control de listas, el control de programaciones y los roles y permisos de usuario se aplican mediante Virtual Rooms.
    • La capacidad de un usuario de Iniciar una nueva llamada o Unirse a una llamada existente se puede administrar mediante identidades de usuario y tokens
  • Notificaciones : la instancia de Calling SDK proporciona API que permiten a los clientes recibir notificaciones de una llamada entrante. Cuando la aplicación no se ejecute en primer plano, hay patrones para activar notificaciones emergentes e informar a los usuarios finales de una llamada entrante.
  • Estadísticas multimedia: el SDK de llamadas proporciona conclusiones completa sobres las métricas de VoIP y videollamadas. Con esta información, los desarrolladores tienen una comprensión más clara de la calidad de las llamadas y pueden tomar decisiones fundamentadas para mejorar aún más su experiencia de comunicación.
  • Restricciones de vídeo: el SDK de llamadas proporciona API que obtienen la capacidad de regular la calidad de vídeo entre otros parámetros durante las llamadas de vídeo ajustando parámetros como resolución y velocidad de fotogramas que admiten diferentes situaciones de llamadas para distintos niveles de calidad de vídeo
  • Diagnósticos orientados al usuario (UFD): el SDK de llamadas proporciona eventos diseñados para ofrecer conclusiones sobre problemas subyacentes que podrían afectar a la calidad de las llamadas. Los desarrolladores pueden suscribirse a desencadenadores como señales de red débiles o micrófonos silenciados, para asegurarse de que siempre son conscientes de los factores que afectan a las llamadas.

Capacidades detalladas

La lista siguiente muestra el conjunto de características que están disponibles actualmente en las instancias de SDK de llamada de Azure Communication Services.

Grupo de características Funcionalidad JS Windows Java (Android) Objective-C (iOS)
Funcionalidades principales Realizar una llamada uno a uno entre dos usuarios ✔️ ✔️ ✔️ ✔️
Realizar una llamada de grupo con más de dos usuarios (hasta 100) ✔️ ✔️ ✔️ ✔️
Promocionar una llamada uno a uno con dos usuarios a una llamada de grupo con más de dos usuarios ✔️ ✔️ ✔️ ✔️
Unirse a una llamada de grupo después de que se haya iniciado ✔️ ✔️ ✔️ ✔️
Invitar a otro participante de VoIP a unirse a una llamada de grupo en curso ✔️ ✔️ ✔️ ✔️
Control durante la llamada Activar o desactivar el vídeo ✔️ ✔️ ✔️ ✔️
Desactivar/activar audio del micrófono ✔️ ✔️ ✔️ ✔️
Silenciar a otros participantes ✔️1 ✔️1 ✔️1 ✔️1
Cambiar entre las cámaras ✔️ ✔️ ✔️ ✔️
Retención/reanudación local ✔️ ✔️ ✔️ ✔️
Altavoz activo ✔️ ✔️ ✔️ ✔️
Elegir el altavoz para llamadas ✔️ ✔️ ✔️ ✔️
Elegir el micrófono para llamadas ✔️ ✔️ ✔️ ✔️
Mostrar el estado de un participante
Inactivo, elementos multimedia iniciales, conectando, conectado, en espera, en la sala de espera, desconectado
✔️ ✔️ ✔️ ✔️
Mostrar el estado de una llamada
Elementos multimedia iniciales, entrante, conectando, llamando, conectada, en espera, desconectando, desconectada
✔️ ✔️ ✔️ ✔️
Mostrar si un participante está silenciado ✔️ ✔️ ✔️ ✔️
Mostrar el motivo por el que un participante abandonó una llamada ✔️ ✔️ ✔️ ✔️
Uso compartido de pantalla Compartir la pantalla completa desde la aplicación ✔️ ✔️2 ✔️2 ✔️2
Compartir una aplicación específica (desde la lista de aplicaciones en ejecución) ✔️ ✔️2
Compartir una pestaña del explorador web desde la lista de pestañas abiertas ✔️
Compartir el audio del sistema durante el uso compartido de la pantalla ✔️
El participante puede ver el uso compartido de pantalla remota ✔️ ✔️ ✔️ ✔️
Lista Enumerar participantes ✔️ ✔️ ✔️ ✔️
Quitar un participante ✔️ ✔️ ✔️ ✔️
RTC Realizar una llamada uno a uno con un participante de RTC ✔️ ✔️ ✔️ ✔️
Realizar una llamada de grupo con participantes de RTC ✔️ ✔️ ✔️ ✔️
Promocionar una llamada uno a uno con un participante de RTC a una llamada de grupo ✔️ ✔️ ✔️ ✔️
Llamada saliente de una llamada de grupo como participante de RTC ✔️ ✔️ ✔️ ✔️
Compatibilidad con medios tempranos ✔️ ✔️ ✔️ ✔️
General Probar el micrófono, el altavoz y la cámara con un servicio de prueba de audio (disponible llamando a 8:echo123). ✔️ ✔️ ✔️ ✔️
Administración de dispositivos Solicitar permiso para usar audio o vídeo ✔️ ✔️ ✔️ ✔️
Obtener la lista de cámaras ✔️ ✔️ ✔️ ✔️
Establecer cámara ✔️ ✔️ ✔️ ✔️
Obtener la cámara seleccionada ✔️ ✔️ ✔️ ✔️
Obtener la lista de micrófonos ✔️ ✔️ 3 3
Establecer micrófono ✔️ ✔️ 3 3
Obtener el micrófono seleccionado ✔️ ✔️ 3 3
Obtener la lista de altavoces ✔️ ✔️ 3 3
Establecer el altavoz ✔️ ✔️ 3 3
Obtener el altavoz seleccionado ✔️ ✔️ 3 3
Representación de vídeo Representar un único vídeo en muchos lugares (cámara local o flujo remoto) ✔️ ✔️ ✔️ ✔️
Establecer y actualizar el modo de escalado ✔️ ✔️ ✔️ ✔️
Representar secuencias de vídeo remoto ✔️ ✔️ ✔️ ✔️
Efectos de vídeo Desenfoque de fondo ✔️ ✔️ ✔️ ✔️
Imagen de fondo personalizada ✔️ ✔️ ✔️ ✔️
Efectos de audio Modo de música ✔️ ✔️ ✔️
Cancelación del eco ✔️ ✔️ ✔️
Supresión del ruido ✔️ ✔️ ✔️ ✔️
Control automático de ganancia (AGC) ✔️ ✔️ ✔️
Notificaciones 4 Notificaciones de inserción ✔️ ✔️ ✔️ ✔️

1 La funcionalidad Mute Others se encuentra actualmente en versión preliminar.

2 La funcionalidad Compartir pantalla se puede lograr mediante las API multimedia sin procesar. Para más información, visite la guía de inicio rápido de acceso a medios sin procesar.

3 El SDK de llamadas no tiene una API explícita para estas funciones; en su lugar, debe usar las API del sistema operativo Android e iOS para lograrlo.

4 El valor máximo de TTL en plataformas nativas es de 180 días (15 552 000 segundos) y el valor mínimo es de 5 minutos (300 segundos). Para el CTE (punto de conexión personalizado de Teams) o Identidad de M365, el valor máximo de TTL es 24 horas (86 400 segundos).

Compatibilidad de Calling SDK de JavaScript según el sistema operativo y el explorador

En la tabla siguiente se representa el conjunto de exploradores compatibles que están disponibles actualmente. Se admiten las tres versiones principales más recientes del navegador (las tres versiones menores más recientes en el caso de Safari), a menos que se indique lo contrario.

Plataforma Chrome Safari Edge Firefox WebView Electron
Android ✔️ ✔️ ✔️
iOS ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️
Ubuntu/Linux ✔️
  • No se admite el uso compartido de pantalla saliente en los exploradores móviles de OS ni Android.
  • La compatibilidad con Firefox está en versión preliminar pública.
  • Actualmente, el SDK de llamadas solo admite Android System WebView en Android e iOS WebView(WKWebView) en versión preliminar pública. Otros tipos de exploradores insertados o WebView en otras plataformas de sistema operativo no se admiten oficialmente, por ejemplo, GeckoView, Chromium Embedded Framework (CEF) o Microsoft Edge WebView2. La ejecución del SDK de llamadas de JavaScript en estas plataformas no se prueba de forma activa; puede funcionar o no.
  • Una aplicación iOS en Safari no puede enumerar o seleccionar dispositivos de micrófonos y altavoces (por ejemplo, Bluetooth). Este problema es una limitación de iOS y el sistema operativo controla la selección predeterminada del dispositivo.

Cliente que llama: modelo de seguridad del explorador

Uso de WebRTC sobre HTTPS

Las API de WebRTC, como getUserMedia, requieren que la aplicación que llama a estas API se atienda a través de HTTPS. Para el desarrollo local, puede usar http://localhost.

Inserción de Calling SDK de Communication Services en un iframe

Hay una nueva directiva de permisos (también denominada directiva de características) disponible en diversos exploradores. Esta directiva afecta a los escenarios de llamada al controlar cómo las aplicaciones pueden acceder a la cámara y el micrófono de un dispositivo mediante un elemento iframe entre orígenes.

Si quiere usar un iframe para hospedar parte de la aplicación desde un dominio diferente, debe agregar el atributo allow con el valor correcto a su iframe.

Por ejemplo, este iframe permite el acceso a la cámara y el micrófono:

<iframe allow="camera *; microphone *">

Compatibilidad con el SDK de llamada de Android

  • Compatibilidad con Android API Nivel 21 o superior
  • Compatibilidad con Java 7 o posterior
  • Compatibilidad con Android Studio 2.0
  • Actualmente no se admiten Android Auto y dispositivos IoT que ejecuten Android

Compatibilidad con el SDK de llamada de iOS

  • Compatibilidad con iOS 10.0+ en tiempo de compilación y iOS 12.0+ en tiempo de ejecución
  • Xcode 12.0+
  • Compatibilidad con iPadOS 13.0+

Duración máxima de la llamada

La duración máxima de la llamada es de 30 horas; los participantes que alcancen la duración máxima de la llamada de 30 horas se desconectarán de esta.

Número admitido de secuencias de vídeo entrantes

El SDK de llamadas de Azure Communication Services admite las siguientes configuraciones de streaming:

Límite Web Windows/Android/iOS
Número máximo de secuencias salientes que se pueden enviar simultáneamente 1 vídeo y 1 uso compartido de pantalla 1 vídeo + 1 uso compartido de pantalla
Número máximo de secuencias remotas entrantes que se pueden enviar simultáneamente 9 vídeos + 1 pantalla compartida en navegadores de escritorio*, 4 vídeos + 1 pantalla compartida en navegadores web móviles 9 vídeos + 1 pantalla compartida

* A partir de la versión 1.16.3 del SDK de llamadas web de Azure Communication Services, aunque el SDK de llamadas no aplica estos límites, es posible que los usuarios experimenten una degradación del rendimiento si se superan. Use la API Recuento óptimo de vídeos para determinar cuántas secuencias de vídeo entrantes actuales puede admitir el entorno web.

Resoluciones de vídeo admitidas

El SDK de llamadas de Azure Communication Services ajusta automáticamente las resoluciones de secuencias de vídeo y recursos compartidos de pantalla durante la llamada.

Nota:

La resolución puede variar en función del número de participantes en una llamada, la cantidad de ancho de banda disponible para el cliente, las funcionalidades de hardware del participante local que representa las secuencias de vídeo remotas y otros parámetros generales de llamada.

El SDK de llamadas de Azure Communication Services admite el envío de las siguientes resoluciones de vídeo:

Resolución máxima de vídeo WebJS iOS Android Windows
Envío de vídeo 720P 720P 720P 1080P
Envío de un recurso compartido de pantalla 1080P 1080P 1080P 1080P
Recepción de una secuencia de vídeo remota o un recurso compartido de pantalla 1080P 1080P 1080P 1080P

Número de participantes en una llamada de soporte técnico

  • Hasta 350 usuarios pueden unirse a una llamada de grupo, Sala o llamada de Teams + ACS.
  • Una vez que el tamaño de la llamada alcanza más de 100 participantes en una llamada, solo se pueden ver los 4 participantes más dominantes que tienen su cámara de vídeo activada.
  • Cuando el número de personas de la llamada es mayor que 100, el número visible de vídeo entrante se reduce automáticamente de 3x3 (9 vídeos entrantes) a 2x2 (4 vídeos entrantes).
  • Cuando el número de usuarios es menor que 100, el número de vídeos entrantes admitidos vuelve hasta 3x3 (9 vídeos entrantes).

Tiempos de espera de Calling SDK

Los siguientes tiempos de espera se aplican a las instancias de Calling SDK de Communication Services:

Action Tiempo de espera en segundos
Participante de reconexión/eliminación 60
Agregar o quitar una nueva modalidad de una llamada (iniciar/detener el uso compartido de la pantalla o un vídeo) 40
Tiempo de espera de la operación de transferencia de llamadas 60
Tiempo de espera del establecimiento de llamadas entre dos personas 85
Tiempo de espera del establecimiento de llamadas de grupo 85
Tiempo de espera del establecimiento de llamadas RTC 115
Tiempo de espera de promoción de una llamada entre dos personas para que sea una llamada de grupo 115

Pasos siguientes

Para más información, consulte los siguientes artículos.