[Home]

Summary:ASTERISK-12536: bad contact port keeps carriers from taking calls
Reporter:Private Name (falves11)Labels:
Date Opened:2008-08-07 13:50:56Date Closed:2008-08-14 10:23:36
Priority:BlockerRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Interoperability
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 13255-socketport.diff
( 1) intsize.c
( 2) selway-invalid-port.pcap
( 3) sip_bug.txt
Description:Attached is a packet capture of a test call. Please take not that the port in both the From and the Contact headers is 0, which is why the calls are being rejected.



****** ADDITIONAL INFORMATION ******

seep attached capture file
Comments:By: snuffy (snuffy) 2008-08-07 16:08:24

could you provide a 'sip debug' of this and not just a pcap.
we need to know what asterisk is doing internally to have a better idea of where the issue might be

By: Private Name (falves11) 2008-08-08 18:20:21

I am caught between a rock and a hard place. Version 1.4 has an issue with CDR_ODBC. After a few hours the module existe memory, without crashing, or it is there loaded but stops writing the cdr to the database. I need to restart asterisk and it goes back to work. But Trunk has this issue that 1/2 of my carriers do not accept calls where port field in the "from" part of the INVITE has a zero. Please help.

By: Private Name (falves11) 2008-08-08 19:57:08

I deteced after a painfil regression analisys, that thast Trunk revision without the ":0" in the 'From: field of the INVIT is 135068. The next revision has the bug.

By: Private Name (falves11) 2008-08-08 20:10:55

But the revision 135068 blows up when compiled with "malloc debug", as per bug ASTERISK-12490. So It would be ideal if we could get the curent version fixed and I don't have to go back so many revisions.

By: Sean Bright (seanbright) 2008-08-12 13:23:04

The specific revision which broke this was 135126.  Assigning to Corydon.

By: Tilghman Lesher (tilghman) 2008-08-12 16:35:20

My part in that issue was simply in committing a patch, following the review of another person.  I am not in a position to review the change otherwise.

By: Russell Bryant (russell) 2008-08-12 17:50:28

If that revision introduced a regression, then just revert it and reopen issue ASTERISK-11304.

By: Jason Parker (jparker) 2008-08-12 18:46:36

I have some thoughts on this - I'll look into it tomorrow.

I think it may be an integer overflow in create_addr (and various other places) relating to int being signed.  The sscanf that was added there may have triggered an existing bug.

By: Jason Parker (jparker) 2008-08-13 10:48:49

Can you compile/run this small test app and put the output up here?

gcc intsize.c -o intsize; chmod +x intsize; ./intsize

By: Jason Parker (jparker) 2008-08-13 10:57:33

To clarify - this needs to be compiled/run on the system that is experiencing this issue.

By: Jason Parker (jparker) 2008-08-13 14:17:07

Forget the intsize thing.  Try this patch.

By: Private Name (falves11) 2008-08-13 23:55:26

It works fine, please merge before something happens. And thanks.

By: Digium Subversion (svnbot) 2008-08-14 10:23:30

Repository: asterisk
Revision: 137812

U   trunk/channels/chan_sip.c

------------------------------------------------------------------------
r137812 | qwell | 2008-08-14 10:23:29 -0500 (Thu, 14 Aug 2008) | 8 lines

Make sure we set the socket port, so we don't try to use <ip address>:0.

(closes issue ASTERISK-12536)
Reported by: falves11
Patches:
     13255-socketport.diff uploaded by qwell (license 4)
Tested by: falves11

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=137812