[asterisk-bugs] [Asterisk 0004903]: [patch] SIP over TCP project

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Oct 24 03:47:14 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=4903 
====================================================================== 
Reported By:                hjlee
Assigned To:                oej
====================================================================== 
Project:                    Asterisk
Issue ID:                   4903
Category:                   Channels/chan_sip
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     assigned
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 46875 
Disclaimer on File?:        Yes 
Request Review:              
====================================================================== 
Date Submitted:             08-05-2005 00:41 CDT
Last Modified:              10-24-2007 03:47 CDT
====================================================================== 
Summary:                    [patch] SIP over TCP project
Description: 
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

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0004904 [patch] SIP over TCP project
related to          0010354 Add Basic Support For RFC 4662 (Subscri...
====================================================================== 

---------------------------------------------------------------------- 
 jamesnet - 10-24-07 03:47  
---------------------------------------------------------------------- 
I get some sip over tcp problem with the patch to access exchange 2007 UM.

Porblem: Can't received sip over tcp packet from sipsock_read when UM not
reply the tcp ack after asterisk request invite.

P.S In this case eyebem and sipx both are work well. 

Success flow as folling  
1.asterisk: tcp syn ack
2.UM : tcp ack
3.asterisk: sip over tcp invite
4.UM : tcp ack
5.UM : sip over tcp 100 trying
6.UM : sip over tcp 180 ringing
7.UM : sip over tcp 200 ok

Failure flow as folling  
1.asterisk: tcp syn ack
2.UM : tcp ack
3.asterisk: sip over tcp invite
4.UM : sip over tcp 100 trying
5.UM : sip over tcp 180 ringing
6.UM : sip over tcp 200 ok 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
10-24-07 03:47  jamesnet       Note Added: 0072449                          
======================================================================




More information about the asterisk-bugs mailing list