Para responder correctamente a esta pregunta, creo que algunos de los conceptos clave de VoIP deben explicarse.
Para solucionar este problema, se usa UDP. UDP es un protocolo no confiable y sin conexión. Aunque UDP perderá paquetes, el audio del habla aún se puede entender, el cerebro compensará de manera efectiva los errores. Es por eso que todavía puede hablar con alguien por teléfono con 3 barras de señal.
pérdida de paquetes y longitudes de ráfaga
La pérdida de paquetes a menudo se produce debido a la congestión, por lo que la cantidad de pérdida de paquetes dependerá de lo bien equipada la red es. La pérdida de paquetes en VoIP usando UDP ocurrirá con mayor frecuencia en longitudes de ráfaga. A longitud de ráfaga es el número de paquetes perdidos en sucesión en la transmisión, por lo que una longitud de ráfaga de 3 significa 3 paquetes en una fila se perdieron.
remuneración de la pérdida de paquetes
¿Dónde se produce la pérdida de paquetes simples técnicas de compensación de pérdida de paquetes se Surfice y la calidad del servicio no se verá seriamente efectuado, el habla puede todavía ser entendido incluso en los casos en que el 20-30% de los paquetes Esta perdido. Los métodos incluyen:
Repetir el último éxito paquete recibido.
Rellene - Juega el silencio en la brecha.
Empalme - Efectivamente, esto puede ser idea de tomar la eliminación la brecha causada por la longitud de la ráfaga empujando el inicio y el final de la brecha juntos.
- Interpolación - Usar el conocimiento de discurso antes y después para Interpolar paquetes perdidos dentro de la brecha por ejemplo significa entre los paquetes recibidos con éxito antes y después de la duración de la ráfaga.
Un buen método para reducir el tamaño de las longitudes de ráfaga es conocido como el intercalado y por lo tanto el aumento de QoS es entrelazado. Una función de intercalación de bloques toma el discurso y lo divide en un conjunto de paquetes. Estos paquetes se cargan en un búfer con la forma de una matriz (por ejemplo, 4 por 4), se utiliza una función para rotar o transponer el búfer para que los paquetes no estén en orden. En el lado del receptor, el inverso de esta función se usa para reordenar los paquetes. Este método es simple y eficaz, ver la figura siguiente:
alt text http://img688.imageshack.us/img688/3962/capturevnk.png
recientemente he creado una pequeña aplicación VoIP. a través de una LAN inalámbrica usando UDP. No estoy realmente seguro de los requisitos exactos de su aplicación, pero en general las aplicaciones de VoIP (entre dos hosts) se implementa como sigue:
alt text http://img338.imageshack.us/img338/6566/captureec.png
En el diagrama de la aplicación define su propio diseño del paquete. El encabezado podría ser simplemente el número de paquete (usando 1 byte) y la carga útil de los datos de audio (n bytes, tamaño de la carga útil). Definir esto permite mejores técnicas de compensación de paquetes y permite un flujo lógico para la programación.
TCP es una mala elección para VoIP por varias razones. Un rápido google de 'TCP VoIP' revela por qué el primer resultado respalda este view.
TCP es un protocolo confiable, orientado a la conexión, esto significa que los paquetes que se pierden en la transmisión en algún momento serán reenviados desde el otro host. Esta retransmisión no es práctica para los servicios en tiempo real y aumentará la trepidación, la latencia y posiblemente aumentará la pérdida de paquetes (en algunos casos).
respuestas a sus preguntas
Lo que consigue es, básicamente, sólo ruido. 20% es el sonido grabado y el resto es ruido extraño.
TCP no debe introducir ruido, debe introducir jitter y latencia. Los conectores tienden a tener un tiempo de espera definido automáticamente, ¿define el tiempo de espera? Si no es así, ¿por qué no recibes el paquete correcto a tiempo antes de la reproducción?
¿Estoy en las pistas correctas? ¿Es incluso una buena idea usar TCP/IP para este tipo de aplicación (tipo de conferencia de voz)?
No haga NO use TCP/IP no es una buena idea. Parece que su gerente ha asumido incorrectamente que cualquier pérdida de paquetes es algo terrible.
Resumen
Algunos conceptos generales se han mostrado aquí para tratar de ayudar lo más posible para este problema específico, sin embargo, esto no debe considerarse exhaustiva. Asegúrese de que el sistema VoIP también utiliza algunos principios subyacentes de las técnicas de codificación de voz/procesamiento de señales.
Los puntos clave a tener en cuenta son:
Espero que esto ayude.
Definitivamente no es específico del idioma ... Estoy seguro ... –
Originalmente no era de las preguntas :) La publicación fue editada por el moderador de esta manera. – Micha
a menos que su jefe sea un antiguo especialista en redes/programador sénior, simplemente dígale que siga haciendo lo que se supone que es bueno: hacer puntos de energía y dejar la programación a sus programadores. – Toad