[asterisk-bugs] [Asterisk 0014220]: SIP INVITE packets are incorrectly truncated with 1.6.1 svn after approx 1020 characters

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Jan 15 11:00:30 CST 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14220 
====================================================================== 
Reported By:                riksta
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   14220
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 167727 
Request Review:              
====================================================================== 
Date Submitted:             2009-01-12 12:02 CST
Last Modified:              2009-01-15 11:00 CST
====================================================================== 
Summary:                    SIP INVITE packets are incorrectly truncated with
1.6.1 svn after approx 1020 characters
Description: 
Since updating from 1.6.1b4 to SVN-branch-1.6.1-r167727 i can no longer
make calls to my SIP trunk provider if my call has a long CALLERID(name)
string.

The sip trunk provider's techie says that my SIP INVITE packets are being
truncated... eg if i set the callerid name as a short string and the INVITE
packet was 1017 characters, the call goes through perfectly.

If i set the callerid name as a longer string and the INVITE packet was
1020 chars the call fails to be sent.

In #asterisk-dev Corydon76 explains that it is probably to do with the
fact that SIP INVITES are no longer are built in a static buffer (That was
part of the ast_str work) 


I will attach a sip debug log file of a successful and unsuccessful call
====================================================================== 

---------------------------------------------------------------------- 
 (0097928) putnopvut (administrator) - 2009-01-15 11:00
 http://bugs.digium.com/view.php?id=14220#c97928 
---------------------------------------------------------------------- 
A ha! The pcap tells all!

Asterisk's SIP debug is showing the entire packet contents, but the pcap
clearly shows the failed call being truncated exactly as riksta's provider
claims. So the ast_str object is expanding properly, but the sip_request's
"len" field does not have the correct value, so our call to sendto() in
__sip_xmit only sends the first 1024 bytes.

I'll have a close look at the add_header and add_line functions in
chan_sip to see if I spot a logic flaw, esp. in the case where the ast_str
expands to beyond 1024 bytes. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-01-15 11:00 putnopvut      Note Added: 0097928                          
======================================================================




More information about the asterisk-bugs mailing list