[asterisk-bugs] [Asterisk 0013633]: Asterisk won't register if SIP-port at peer differ than local (5060)

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Dec 10 09:22:40 CST 2008


The following issue has been RESOLVED. 
====================================================================== 
http://bugs.digium.com/view.php?id=13633 
====================================================================== 
Reported By:                performer
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   13633
Category:                   Channels/chan_sip/Registration
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     resolved
Asterisk Version:           1.6.0 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2008-10-07 00:37 CDT
Last Modified:              2008-12-10 09:22 CST
====================================================================== 
Summary:                    Asterisk won't register if SIP-port at peer differ
than local (5060)
Description: 
The problem happens because Asterisk fills 'Contact' header in SIP-message
using remote port number instead local port number.

Example:
REGISTER sip:sip.asterisk.xxx.com:55060 SIP/2.0
Via: SIP/2.0/UDP 83.167.107.46:0;branch=z9hG4bK47cfc028
Max-Forwards: 70
From: <sip:12345678 at sip.asterisk.xxx.com>;tag=as5f389822
To: <sip:12345678 at sip.asterisk.xxx.com>
Call-ID: 099f43ef434287c457a3d793535e9df7 at yyy.ru
CSeq: 3084 REGISTER
User-Agent: SweetHome Agent
Expires: 120
Contact: <sip:s at 83.137.137.146:55060>
Event: registration
Content-Length: 0 

My solution:
diff chan_sip.c.bak chan_sip.c
2628c2628
<               p->socket.port = htons(r->portno);
---
>               // p->socket.port = htons(r->portno);

====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-12-10 09:22 svnbot         Status                   assigned => resolved
2008-12-10 09:22 svnbot         Resolution               open => fixed       
======================================================================




More information about the asterisk-bugs mailing list