ErrorRTC: Transporte del canal de datos rechazado con mid=0.
Estoy intentando configurar una conexión de canal de datos entre dos pares con webrtc, pero estoy encontrando este problema en el par que crea la oferta.
Este es el objeto completo de RCTErrorEvent que estoy obteniendo desde la devolución de llamada onerror
en el canal de datos que he creado:
Este error se produce cuando el cliente que responde envía de vuelta este mensaje SDP:
v=0
o=- 4032937039670154216 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
m=application 0 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=mid:0
a=sctp-port:5000
¿Alguna idea de cómo puedo resolver este problema, o qué significa mid=0?
Edit: Esto es lo que se ve en la oferta SDP:
v=0
o=- 1617373214565242991 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=msid-semantic: WMS
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:qoYs
a=ice-pwd:JS3NDg62V+cpJRUhEBSbMVcq
a=ice-options:trickle
a=fingerprint:sha-256 7A:C5:F6:CB:C0:94:44:12:22:C5... (eliminado)
a=setup:actpass
a=mid:0
a=sctp-port:5000
a=max-message-size:262144
davy.ai
Basándose en el mensaje de error, parece que el problema está relacionado con la asociación SCTP. El atributo
mid:0
en la respuesta SDP indica que el interlocutor está aceptando el canal de datos negociado bajo el identificadormid
de 0. Sin embargo, la oferta SDP también incluye una líneam
con un identificador de 0, lo que significa que está intentando negociar un canal de datos con el mismo identificador.Esto probablemente esté causando un conflicto cuando el oferente intenta configurar la asociación SCTP. Para resolver este problema, podrías intentar cambiar el identificador en la oferta SDP a un valor diferente (por ejemplo,
mid:1
), para que no entre en conflicto con el identificador de la respuesta SDP.Además, podrías verificar que el puerto SCTP que utilizan ambos pares sea el mismo, y que el atributo
max-message-size
sea consistente entre las ofertas y respuestas SDP. También puede ser útil verificar que los pares estén utilizando versiones compatibles de la API WebRTC y que sus navegadores estén actualizados.