Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Communication Services facilita la comunicación de voz y vídeo mediante navegadores, aplicaciones y servicios de usuarios finales. Este artículo se centra en el SDK de cliente de llamadas, que se puede incrustar en sitios web y aplicaciones nativas. En este artículo se proporcionan descripciones detalladas de las características del cliente para llamadas, como la información de soporte de plataforma y navegador. Los servicios administran y acceden mediante programación a las llamadas mediante las API de Automatización de llamadas. La API rooms es una API opcional de Azure Communication Services que agrega más características a una llamada de voz o vídeo, como roles y permisos.
Para crear su propia experiencia de usuario 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 precompilados, puede crear experiencias de comunicación hermosas 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.
Una vez que inicie el desarrollo, consulte los problemas conocidos para encontrar errores en los que estamos trabajando.
Vínculos del SDK
Plataforma | Web (JavaScript) | Windows (.NET) | Ios | Androide | Otros |
---|---|---|---|---|---|
Llamar | npm | NuGet | GitHub (en inglés) | Maven | |
Biblioteca de interfaz de usuario | npm | - | GitHub (en inglés) | GitHub (en inglés) | GitHub, Storybook |
Características clave
- 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.
- PSTN: el SDK de llamadas puede iniciar llamadas de voz con la red telefónica conmutada públicamente tradicional , utilizando números de teléfono que adquiera en el portal de Azure o mediante programación. También puede traer números propios mediante controladores de borde de sesión.
- Reuniones y llamadas de Teams : 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 : el SDK de llamada cifra el tráfico y evita alteraciones en la conexión.
- Direccionamiento: Azure Communication Services proporciona identidades genéricas que se usan para direccionar los 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 de usuario
- El control de lista , el control de programación y los roles o permisos de usuario se aplican a través de Salas virtuales.
- La capacidad de un usuario para iniciar una nueva llamada o unirse a una llamada existente se puede administrar mediante identidades de usuario y tokens.
- Notificaciones : el SDK de llamadas proporciona API que permiten a los clientes recibir notificaciones de una llamada entrante. En situaciones en las que la aplicación no se ejecuta en primer plano, los patrones están disponibles para desencadenar notificaciones emergentes o toasts para informar a los usuarios finales de una llamada entrante.
- Estadísticas multimedia: el SDK de llamadas proporciona información completa sobre 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 mediante el ajuste de parámetros como la resolución y la velocidad de fotogramas que admiten diferentes situaciones de llamadas para distintos niveles de calidad de vídeo
- Diagnóstico orientado al usuario (UFD): el SDK de llamadas proporciona eventos diseñados para proporcionar información sobre los 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.
- Texto en tiempo real (RTT) - El texto en tiempo real (RTT) proporciona a los desarrolladores la capacidad de transmitir texto casi en tiempo real durante una llamada. Esta característica está diseñada para capacitar a las personas que tienen dificultades para hablar, lo que garantiza que sus mensajes de texto se muestren de forma destacada a otros participantes de la reunión, de forma similar a la comunicación hablada.
Funcionalidad habilitada
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 | Capacidad | 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 | ✔️ | ✔️ | ✔️ | ✔️ | |
Únase a una llamada de grupo una vez iniciada | ✔️ | ✔️ | ✔️ | ✔️ | |
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 | |
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 la 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 música | ❌ | ✔️ | ✔️ | ✔️ |
Cancelación del eco | ❌ | ✔️ | ✔️ | ✔️ | |
Supresión de ruido | ✔️ | ✔️ | ✔️ | ✔️ | |
Control automático de ganancia (AGC) | ❌ | ✔️ | ✔️ | ✔️ | |
Accesibilidad | Texto en tiempo real (RTT) | ✔️ | ✔️ | ✔️ | ✔️ |
Notificaciones 4 | Notificaciones push | ✔️ | ✔️ | ✔️ | ✔️ |
Contexto personalizado | Agregar Usuario-a-Usuario (UUI) o encabezados personalizados a una llamada | ✔️ | ❌ | ❌ | ❌ |
1 La capacidad de silenciar a otros está actualmente en versión preliminar pública.
2 La funcionalidad Compartir pantalla se puede lograr mediante las API de medios sin procesar. Para más información, consulte 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. Utilice las API de los sistemas operativos Android e iOS para conseguirlo.
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 explorador (tres versiones secundarias más recientes para Safari), a menos que se indique lo contrario.
Plataforma | Cromo | Safari | Edge | Firefox | WebView | Electrón |
---|---|---|---|---|---|---|
Androide | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
Ios | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Windows | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
Ubuntu/Linux | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
- No se admite el uso compartido de pantalla saliente en los exploradores móviles de iOS 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 de iOS en Safari no puede enumerar o seleccionar dispositivos de micrófono y altavoz (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 disponible una nueva directiva de permisos (también denominada directiva de características) en varios 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
Se recomienda encarecidamente identificar y validar su escenario visitando las plataformas Android admitidas.
Compatibilidad con el SDK de llamada de iOS
- Compatibilidad con las dos últimas actualizaciones principales del sistema operativo iOS (N y N-1 para la compatibilidad mínima con el sistema operativo iOS)
- 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 y los participantes que alcanzan la duración máxima de la llamada de 30 horas se desconectan de la llamada.
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 | La web | Windows/Android/iOS |
---|---|---|
Número máximo de flujos locales 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 flujos remotos entrantes que se pueden representar simultáneamente | 16 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 del SDK de llamadas web de Azure Communication Services versión 1.16.3. Aunque el SDK de llamadas no impone estos límites, sus usuarios podrían experimentar una degradación del rendimiento si se superan. Use la API de Recuento óptimo de vídeos para determinar el número de secuencias de vídeo entrantes que puede admitir el entorno web. Para admitir correctamente 16 vídeos entrantes, el equipo necesita un mínimo de 16 GB de RAM y una CPU de 4 núcleos o superior que tenga menos de tres años de antigüedad.
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 | Escritorio de WebJS | WebJS Mobile | Ios | Androide | Windows |
---|---|---|---|---|---|
Envío de vídeo | 1080p1 | 720p | 720p | 720p | 1080p |
Envío de un recurso compartido de pantalla | 1080p | 720p | 720p | 720p | 1080p |
Recepción de un vídeo remoto o recurso compartido de pantalla | 1080p | 720p | 720p | 720p | 1080p |
Número de participantes en una llamada de soporte técnico
- El envío de un flujo de 1080-p desde el escritorio WebJS está en versión preliminar pública. Las versiones de disponibilidad general del SDK de WebJS para el explorador de escritorio admiten el envío de una secuencia de 720 p.
- Hasta 350 usuarios pueden unirse a una llamada de grupo, una llamada a sala o una llamada a Teams + Azure Communication Services.
- Una vez que el tamaño de la llamada llega a más de 100 participantes, el SDK de llamadas solo muestra los cuatro oradores dominantes que tienen su cámara de vídeo activa.
- Cuando el número de personas en la llamada es superior a 100, el número de vídeos entrantes visibles disminuye automáticamente de 4x4 (16 vídeos entrantes) a 2x2 (4 vídeos entrantes).
- Cuando el número de usuarios queda por debajo de 100, el número de vídeos entrantes admitidos vuelve a 4x4 (16 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:
Acción | 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
Artículos relacionados
- Familiarícese con los flujos de llamadas generales.
- Obtenga información sobre los tipos de llamadas.
- Obtenga información sobre la API de automatización de llamadas que permite crear flujos de trabajo de llamadas basados en servidor que pueden enrutar y controlar llamadas con aplicaciones cliente.
- Planifique su solución de Red Telefónica Conmutada.