VOZ logo

Asterisk soportará SIP bajo TCP muy pronto

AsteriskEchándole un vistazo a las novedades que se están haciendo en el proyecto Asterisk y los bugs que han ido encontrado (para estar a la última, como siempre) acabo de fijarme en una rama de bugs.digium.com donde están creando parches para enviar el protocolo SIP bajo TCP a las diferentes versiones de Asterisk que están saliendo hasta hacerlo lo suficientemente estable como para pasarlo a la versión oficial.

El mensaje (que comenzó el 5 de Agosto del 2005) dice:

I added TCP support to asterisk SIP channel. I put all my changes under #ifdef SIP_TCP_SUPPORT and left the original code. So if you search SIP_TCP_SUPPORT, you can find my changes very easily.

My changes
-Added TCP listening socket, siptcpsock.
-Added securechannel, sockfd, transport field to struct sip_pvt.
-Added transport, tcpsockfd field to struct sip_peer.
-Added TCP read in sipsock_read().
-Added siptcp_accept() to accept an incoming TCP connection request.
-Added transport, q parameter processing in Contact header parsing.
-Changed the hard-coded «UDP» in Via header to copy sip_pvt.transport.
-Added tcp_conenct() to make a TCP connection for outgoing message.
-Added TCP transmit in __sip_xmit().
-Saved TCP connecton socket to sip_peer.tcpsockfd, copied it to sip_pvt.sockfd when OPTIONS or INVITE is sent to the peer that is using TCP.

I tested it mainly xlite(UDP only free version) and Jain-SIP communicator. call signal is working well. One problem I am having is Jain-SIP communicator doesn’t receive any audio, I don’t know why. If any one has xlite-pro(TCP supported commercial version) or TCP supported SIP clients, I am looking forward to hear the test result.

Welcome any comment.
Thanks

y poco a poco han ido aportando su granito de arena para conseguir enviar el protocolo SIP a través de TCP con las ventajas que ello conlleva.

Enlace: http://bugs.digium.com/view.php?id=4903

Supongo que esperar a que salga en la versión de Asterisk 1.4.1 es quizá dificil, pero pronto, muy pronto…

Anterior artículoAsterisk for Dummies
Siguiente artículo 374-372Cómo implementar SecureRTP en Asterisk