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.
El redireccionamiento multimedia redirige la reproducción de vídeo y las llamadas en una sesión remota desde Azure Virtual Desktop, un PC en la nube Windows 365 o Microsoft Dev Box al dispositivo local para un procesamiento y representación más rápidos.
El redireccionamiento de llamadas optimiza las llamadas de audio para las aplicaciones de llamadas basadas en WebRTC, lo que reduce la latencia y mejora la calidad de las llamadas. La conexión se produce entre el dispositivo local y el servidor de aplicaciones de telefonía, donde las llamadas WebRTC se descargan de una sesión remota a un dispositivo local. Una vez establecida la conexión, la calidad de las llamadas depende de la página web o de los proveedores de aplicaciones, igual que lo haría con una llamada no redirigida.
El redireccionamiento de llamadas puede funcionar con la mayoría de las aplicaciones de llamada basadas en WebRTC sin modificaciones. Sin embargo, es posible que haya escenarios no admitidos o que desee proporcionar una experiencia diferente en una sesión remota.
En este artículo se proporciona información sobre las interfaces de API admitidas y los métodos de instancia, y se muestran fragmentos de código de JavaScript que puede usar con la mediaDevices propiedad de la interfaz Navigator.
La interfaz del navegador forma parte de media capture y Streams API para integrar el sitio web con el redireccionamiento de llamadas. Junto con la API de WebRTC, estas API proporcionan compatibilidad para transmitir datos de audio y vídeo con aplicaciones de llamada basadas en WebRTC. El redireccionamiento multimedia reemplaza la implementación del mediaDevices objeto en las API para detectar el redireccionamiento de llamadas, controlar eventos de desconexión y reconexión y recopilar información de diagnóstico.
Sugerencia
Cuando quiera probar la integración con el redireccionamiento multimedia, puede habilitar el redireccionamiento de llamadas para que esté disponible para todos los sitios web. Para obtener más información, vea Habilitar el redireccionamiento de llamadas para todos los sitios para pruebas.
Interfaces de API admitidas y métodos de instancia
El redireccionamiento de llamadas está diseñado para reemplazar sin problemas el uso estándar de WebRTC por una implementación que redirige las llamadas desde una sesión remota al dispositivo local.
Esta es una lista de las interfaces admitidas y los métodos de instancia usados por el redireccionamiento de llamadas desde la API de Captura de medios y secuencias y la API WebRTC:
AnalyserNodeAudioContextHTMLAudioElementMediaDevicesMediaStreamMediaStreamAudioDestinationNodeMediaStreamAudioSourceNodeMediaStreamTrackRTCDataChannelRTCPeerConnectionRTCRtpReceiverRTCRtpSenderRTCRtpTransceiver
Limitaciones conocidas
El redireccionamiento de llamadas tiene las siguientes limitaciones de API:
Actualmente solo se admite un número limitado de
WebAudionodos.setSinkIden unHTMLAudioElementfunciona para pistas WebRTCsrcObject, sin embargo, cualquier reproducción local, como un tono de llamada, siempre se reproduce en la salida de audio predeterminada de la sesión remota.Como algunas API devuelven sincrónicamente en condiciones normales, pero tienen que ser servidores proxy cuando se usan con el redireccionamiento de llamadas, es posible que el estado de un objeto no esté disponible inmediatamente.
Detección del redireccionamiento de llamadas
Para detectar si el redireccionamiento de llamadas está activo, puede comprobar la isCallRedirectionEnabled propiedad del MediaDevices objeto . Si esta propiedad es true, la redirección de llamadas está activa. Si esta propiedad es undefined o false, el redireccionamiento de llamadas no está activo.
window.navigator.mediaDevices['isCallRedirectionEnabled'] = true;
Detección de la desconexión de una sesión remota
Cuando un usuario se desconecta y se vuelve a conectar a una sesión remota cuando se usa el redireccionamiento de llamadas en una página web, la instancia local de WebRTC que admite los objetos ya no está disponible. Normalmente, si un usuario actualiza la página, puede realizar llamadas de nuevo.
La página web puede detectar y controlar estos eventos de desconexión y reconexión mediante la desconexión y la recreación de todos los objetos WebRTC, elementos de audio o vídeo y MediaStream o MediaStreamTrack interfaces. Este enfoque elimina la necesidad de actualizar la página web.
Para recibir una notificación de estos eventos, registre el rdpClientConnectionStateChanged evento en el MediaDevices objeto , como se muestra en el ejemplo siguiente. Este evento contiene el nuevo estado, que puede ser o connecteddisconnected.
navigator.mediaDevices.addEventListener('rdpClientConnectionStateChanged', () =>
console.log("state change: " + event.detail.state);
);
Diagnósticos de redireccionamiento de llamadas
En el ejemplo siguiente se enumeran las propiedades expuestas en el MediaDevices objeto . Proporcionan información de diagnóstico específica sobre las versiones del redireccionamiento de llamadas que se usan y los identificadores de sesión. Esta información es útil al notificar problemas a Microsoft y se recomienda recopilarla como parte de sus propios datos de telemetría o diagnóstico.
window.navigator.mediaDevices['mmrClientVersion'];
window.navigator.mediaDevices['mmrHostVersion'];
window.navigator.mediaDevices['mmrExtensionVersion'];
window.navigator.mediaDevices['activityId'];
window.navigator.mediaDevices['connectionId'];
Esto es lo que representa cada propiedad:
mmrClientVersion: la versión del archivo
MsMmrDVCPlugin.dllen la máquina local, que se incluye como parte de Windows App y la aplicación escritorio remoto.mmrHostVersion: la versión del archivo
MsMMRHost.exeinstalado en el host de sesión, pc en la nube o cuadro de desarrollo.mmrExtensionVersion: la versión de la extensión redirección multimedia de Microsoft que se ejecuta en el explorador.
activityId: un identificador único que Microsoft usa para asociar telemetría a una sesión específica y se asigna al redireccionamiento multimedia de la página web actual está redirigiendo.
connectionId: identificador único que Microsoft usa para asociar telemetría a una sesión específica y se relaciona con la conexión especificada entre el dispositivo local y la sesión remota.
Toda esta información está disponible para el usuario final en los detalles de la extensión del explorador, pero este ejemplo proporciona una forma de recopilarla mediante programación.
Registros de redirección de llamadas
De forma predeterminada, el redireccionamiento multimedia no inicia sesión en la consola. La extensión del explorador tiene un botón para que los usuarios recopilen registros. En el ejemplo siguiente se muestra cómo habilitar los registros de consola mediante programación. Es posible que quiera habilitar los registros de consola mediante programación si está trabajando en la integración o captura de un problema que requiere registros de ejecución más largos de lo que proporciona la opción de la interfaz de extensión del explorador.
window.navigator.mediaDevices['mmrConsoleLoggingEnabled'] = true;
También es posible que desee recopilar mediante programación registros de redirección multimedia para ayudar en las investigaciones. Todos los registros de la página web también están disponibles registrando para el mmrExtensionLog evento en el documento.
El objeto de evento tiene dos propiedades en detalle:
Nivel: indica qué tipo de seguimiento es la entrada y permite filtrar eventos específicos. Level es uno de los siguientes valores:
- info
- verboso
- warning
- error
Mensaje: el mensaje de seguimiento basado en texto.
En el ejemplo siguiente se muestra cómo registrarse para el mmrExtensionLog evento:
document.addEventListener('mmrExtensionLog', () =>
console.log("MMR event, level:" + event.detail.level + " : " + event.detail.message);
);
Enviar su sitio web para revisarlo o solicitar ayuda
Si usted representa un ISV y desea que su sitio web se agregue a la lista de sitios web para el redireccionamiento de llamadas, o si necesita ayuda para integrar su sitio web con redirección de llamadas, complete y envíe este formulario.
Contenido relacionado
Obtenga más información sobre el redireccionamiento multimedia para la reproducción de vídeo y las llamadas en una sesión remota.