[asterisk-bugs] [Asterisk 0010313]: Chan SIP and ACL Source Based Routing

noreply at bugs.digium.com noreply at bugs.digium.com
Fri Jun 6 05:44:24 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10313 
====================================================================== 
Reported By:                bfsworks
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   10313
Category:                   Channels/chan_sip/Registration
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.9  
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 69944 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             07-26-2007 18:22 CDT
Last Modified:              06-06-2008 05:44 CDT
====================================================================== 
Summary:                    Chan SIP and ACL Source Based Routing
Description: 
If asterisk is connected to two ISP connections statically. SIP
registrations fail and ACL reports cannot connect. Asterisk uses the
routing table and does not pass a source ip to the table and all routing
will default to the default route or gateway. If a SIP registration comes
in on ISP1 and the default route is for ISP2 then any and all responses go
out ISP2. 
====================================================================== 

---------------------------------------------------------------------- 
 davidw - 06-06-08 05:44  
---------------------------------------------------------------------- 
The big difference between Asterisk and ssh/Apache, is that the latter use
TCP, so there is a connection which has a source address associated with
it.  VoIP mainly uses UDP, for which you have to be much more explicit
about source address.  If you bind a socket to INADDR_ANY, for TCP, the
source address for replies on the socket will be the destination address
used to establish the incoming connection, without any explicit action, but
there are no connections for UDP, so you need to choose a socket that is
bound to the specific address.

This sort of poor man's multihoming without proper autonomous system
numbers and supporting routing protocols wasn't part of the original IP
routing concept.

Thus, for sshd and Apache, you don't need to do anything in the code, but
for VoIP you need to design specifically for this scenario. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-06-08 05:44  davidw         Note Added: 0087884                          
======================================================================




More information about the asterisk-bugs mailing list