Las diferencias entre PJSIP y SIP

En el mundo de la telefonía IP se escucha cada vez más el concepto PJSIP. Por tal motivo decidí aterrizar las ideas en este post para entender las diferencias entre pjsip y sip.

El canal de señalización para el protocolo de telefonía IP por estándar ha sido SIP, sin embargo está dando un giro a un protocolo llamado PJSIP. Pero veamos por qué este cambio, que ventajas nos ofrece y las diferencias entre PJSIP y SIP.

¿Qué es SIP?

Empecemos por SIP. Es un protocolo, es decir el conjunto de reglas que definen las especificaciones y procesos que tienen las comunicaciones por este.  Este Protocolo de inicio de sesión (SIP) es un método que establece el modo de administrar la comunicación a través de Internet, por lo que fue adoptado para el uso de telefonía IP. (Sin embargo se puede usar para otros servicios). Las marcas de telefonos IPs y plataforma de telefonía IP utilizan este protocolo como base.

Un driver de canal es el módulo que permite que algun telefono IP o software se comunique a través de algún protocolo, este puede ser: SIP, IAX, h323, etc.

El el mundo de Asterisk, tenemos dos drivers para SIP, es decir dos módulos desarrollados para poder conectarnos a otros dispositivos que soporten el protocolo SIP, estos drivers son : ChanSIP y PJSIP.

Hasta ahora debemos entender esto:

Protocolo SIPEs un protocolo de Comunicación para telefonía IP.
CHAN SIPDriver para que un dispositivo/software se comunique con otro mediante el protocolo SIP
PJSIPOtro driver para que un dispositivo/software se comunique con otro mediante el protocolo SIP

CHAN SIP

Hablando desde el mundo de Asterisk, chan sip se desarrolló desde las primeras versiones y hasta la actualidad es usado. dentro de los módulos de asterisk lo encontraramos como chan_sip, o simplemente sip. Si tienes un Asterisk 11 o inferior debes tener este driver, incluso en versiones posteriores es muy probable que lo uses.

Puedes validar que lo estas usando con el siguiente comando desde tu Asterisk: module show like chan_sip.so y tendras una salida como esta.

Las diferencias entre PJSIP y SIP
Comprobar chan SIP

Incluso podemos probar el comando conocido para validar el estado de las extensiones: sip show peers y tendremos una salida similar a esta.

Las diferencias entre PJSIP y SIP
sip show peers

PJSIP

PJSIP, es un nuevo drivers, y este se utiliza en versiones desde asterisk 11 a asterisk 18 (hasta el momento que escribí esto). Este driver es prácticamente nuevo, y se está probando aun en varias plataformas para validar su estabilidad, sin embargo tiene funciones que valen la pena adentrarse. La primera función que escuche de el hace un par de años es que te permite conectar la misma extensión en dos IPs diferentes. (Si vienes del mundo de SIP, sabrás que esto está prohibido a nivel sacrilegio ).

Pjsip es integral,es decir hay muchos módulos con una tarea específica, Si ejecutas ‘modules show like pjsip’ verás todos los módulos de pjsip y lo que hacen.

Podemos validar si tenemos el módulo instalado en nuestro Asterisk con el siguiente comando: module show like res_pjsip.so

diferencias entre PJSIP y SIP
module show like res_pjsip.so

Podemos ver las extensiones PJSIP conectadas a nuestro Asterisk con el siguiente comando: pjsip show aors

diferencias entre PJSIP y SIP
pjsip show aors

Tabla de diferencias entre PJSIP y SIP

Esta tabla la hice de acuerdo a algunas características que conozco, si dejas tus comentarios, puedo ir agregando a la tabla.

SIPPJSIP
Chan_sip es monolítico. Un solo pedazo de software hace todo. Desde manejo de registros, presencia, etc.Pjsip es integral,es decir hay muchos módulos con una tarea específica


Ya no se mantiene de forma activaTiene soporte de Asterisk
Se puede montar en todas las versiones de AsteriskA partir de Asterisk 16, PJSIP se descarga automáticamente
Solo puedes ligar 1 extensión a 1 ipPuedes tener la misma extensiones en diferentes IPs (locales o publicas)
Comando en asterisk para ver extensiones: sip show peersComando en asterisk para ver extensiones: pjsip show aors

Lista de características de PJSIP

  • Sistemas operativos soportados de PJSIP
    • Windows
    • Mac OS X
    • Linux/uClinux
    • Smartphones:
      • iPhone OS/iOS (iPhone, iPad, iPod Touch)
      • Android
      • Windows Mobile
      • BlackBerry 10 (BB10)
      • Symbian S60 3rd Edition and 5th Edition
  • Community supported:
    • OpenBSD
    • FreeBSD
    • Solaris
    • MinGW
    • RTEMS
    • Android
  • Habilidades SIP
    • Core methods: RFC 3261: INVITE, CANCEL, BYE, REGISTER, OPTIONS, INFO
    • Digest authentication ( RFC 2617)
  • Transporte: UDP, TCP, TLS, IPv6 (UDP only)
  • Multiparte
  • NAT Traversal
    • STUN
    • TURN
    • ICE
    • ICE
  • Video
    • Codecs: H.263-1998 (ffmpeg), H.264 (ffmpeg+x264, OpenH264)

Conoce la lista completa aqui: http://www.teluu.com/content/pjsip-features-and-datasheet

Otra tabla comparativa: https://support.flowroute.com/086810-Chan_SIP-and-Chan_PJSIP

Página oficial de pjsip https://www.pjsip.org/

Andres Lavariega

Apasionado de las tecnologías.Profesional Asterisk y Camaleon Firewall. VoIP Security Assessment / / Me divierto programando y desarrollando ideas //

Podría también gustarte...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *