2010-03-04 15 views
17

Estoy buscando una herramienta que pruebe SIP llamadas. Una plataforma que realiza una llamada desde el dispositivo SIP A al dispositivo SIP B e informa los resultados ...Plataforma de prueba SIP

¿Alguna idea? Una plataforma de simulación sería ideal.

thnx, cateof

+0

Por curiosidad, ¿qué es SIP? – NotMe

+0

Protocolo de inicio de sesión, utilizado para la señalización de llamadas VOIP (llamadas, colgar, agregar otros a la conversación, etc.) – Marius

Respuesta

9

Consulte SIPp en SourceForge. Tiene muchos escenarios diferentes para probar que el modo UAS (servidor) probablemente sea interesante para usted y parece permitir INVITE, BYE, etc.

+0

Se ve bien. Parece adecuado para mis necesidades. – cateof

+0

Si está buscando una herramienta de prueba SIP gratuita basada en GUI, le recomendamos que consulte el multiplicador de carga (https://loadmultiplier.com). La prueba de funcionalidad de SIP es gratuita y la prueba de carga limitada es gratuita. – Kamal

-2

¿Qué desea poner a prueba, aparte de si la llamada se pone a través? ¿No puedes simplemente llamar al dispositivo B desde el dispositivo A y ver si puedes hablar a través de la conexión? Si desea ver los paquetes que se envían, debe consultar wireshark.

+0

Quiero probar escenarios complejos. Por ejemplo, A llama a B y B a C, y así sucesivamente. Sin embargo, no quiero tener 5 soft phones SIP en mi escritorio. – cateof

26

Hay muchas soluciones. Algunos más rotos que otros. Aquí hay un resumen rápido de lo que he encontrado al buscar una base para una solución de prueba automática adecuada.

Está bien si desea que sólo único cuadro de diálogo a la vez. Lo que no funciona aquí son soluciones complejas en las que necesita sincronizar 2 patas de llamada, registrar, llamar y presencia en el mismo escenario. Si sigue así, terminará ejecutando varios escenarios sipp para cada elemento de conversación por separado. Sipp tampoco escala en absoluto las transferencias de medios. A pesar de que es multiproceso, algo impide que se ejecute al mismo tiempo; si observas htop por ejemplo, verás que sipp nunca cruza la línea del 100%. Alrededor de 50 llamadas de medios comienza a cortar el audio y tomar toda la CPU de la máquina.

A veces puede perder la pista de lo que está sucediendo, algunos paquetes que ni siquiera pertenecen realmente a la llamada pueden fallar la prueba. Tiene algunos errores tontos como la comparación de encabezados que distingue entre mayúsculas y minúsculas.

solución Rubí-basada donde usted tiene que escribir sus propios escenarios en Ruby. Tiene su propia pila de SIP y muchas pruebas. Si bien en general es bueno y maneja una gran cantidad de escenarios complejos muy bien, su diseño es terrible. Los errores son difíciles de rastrear y después de una semana tuve más de 10 parches que necesitaba solo para que funcionaran de manera básica. Más tarde descubrí que algunos de los escenarios se escribieron de una manera diferente, pero los desarrolladores de SIPr no respondieron realmente y tardó mucho tiempo en descubrirlo. Sincronizar las acciones de muchos agentes si es un problema difícil, ya que prefieren usar una versión basada en eventos, pero aún con un único subproceso ... solo hace que se concentre demasiado en "¿qué orden puede suceder y lo manejo? correctamente ", en lugar de escribir la prueba real.

solución comercial. Nunca lo probé correctamente, ya que la funcionalidad básica falta en la versión de evaluación y es difícil gastar tanto dinero en algo que no está seguro funciona ...

solución basada en Java reutilización de pila Jain en SIP. Puede hacer casi cualquier escenario y es bastante bueno. Intenta hacer que todo no sea bloqueante/acción, lo que conduce a los mismos problemas que SIPr tiene, pero en este caso es trivial hacerlo paralelo/enhebrado. Tiene su propia porción de errores, por lo que no todo funciona bien en el paquete de vanilla, pero la mayoría de las cosas son parcheables. Los desarrolladores parecen estar ocupados con otros proyectos, por lo que no se actualiza durante mucho tiempo. Si necesita transferencias, presencia, información de diálogo, mensajes personalizados, manejo de RTP, etc., tendrá que escribir sus propias modificaciones para respaldarlos. No es bueno para las pruebas de rendimiento.

Si eres un enemigo de Java como yo, se puede utilizar de forma sencilla desde Jython, JRuby o cualquier otro lenguaje JVM.

Al final, elegí SIPunit como la solución menos rota/malvada/inutilizable. De ninguna manera es perfecto, pero ... funciona en la mayoría de los casos. Si estuviera haciendo el proyecto una vez más con todo este conocimiento, probablemente reutilizaría las configuraciones de SIPp y trataría de escribir mi propia y sana solución que utiliza un enhebrado adecuado, pero eso es un proyecto de al menos ½ año para una persona, para que sea bueno. suficiente para la producción.

+0

+1 por buena respuesta! Yo uso SipUnit y SIPp. – Paaske

2

Probar SIPInspector. Es una utilidad basada en JAVA para recrear diferentes escenarios de señalización SIP. Puede jugar RTP y probar su sistema también. Dado que está escrito en JAVA, es muy portátil y funciona en diferentes sistemas operativos. Manera más fácil de usar que SIPp.