Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
"Raj Mathur (राज माथुर)" writes: > Precisely. In fact, if a packet from 192.168.2.n is received on /any/ > interface, the response will always go out from the 192.168.2.X > interface. (Barring some weird routing/iptables configuration, of > course.) This is only the case for TCP, because TCP accept() fixes the whole five-tuple of protocol, srcaddr, srcport, dstaddr, dstport. UDP does not have an accept() equivalent and most applications just use sendto() which lets the OS pick a source address. /Benny -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
"Kevin P. Fleming" writes: > I've just looked into this a bit, and I don't see how using connect() > would actually solve the problem. If we receive a UDP datagram from a > SIP endpoint, we could use socket() and connect() to create a socket > specifically for sending to (and receiving from) that endpoint in the > future, but we can't specify the source address to be used by that > socket. The only way I know of to specify the source address for > outbound packets is to use a raw socket and compose the IP header > ourselves, which would be overkill. You just bind() to the source address you want to use for outgoing packets. I have just tested it, it works here at least. The tricky bit is knowing which source address you want to use. That you can get from IP_PKTINFO, somewhat portably. Once you have a socket with connect() and bind(), the full 5-tuplet of protocol, srcaddr, srcport, dstaddr, dstport is defined, and all further traffic related to that "connection" should be going to that socket. However, in between the time that the first packet arrived and that socket is up and running, more packets may have been queued on the original server socket. This cannot happen with TCP because accept() is atomic (the client cannot send more data before the three-way-handshake is done), but there is no such luck with UDP. /Benny -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On Thursday 12 Jul 2012, Kevin P. Fleming wrote: > On 07/11/2012 11:36 PM, Jeff LaCoursiere wrote: > > This does exhibit the problem though. Your OS stack assumes one of > > those addresses - the first identified interface? - is the one that > > all replies will appear to come from. So phones on the > > 192.168.2.0/24 network that try to register get replies from > > 192.168.1.1 and ignore them. > > No, I don't think it does. If the server has four interfaces, on > subnets 192.168.{1,2,3,4}.0/24, those are *not* overlapping, and > everything will work as expected. If a UDP packet is received on the > third interface, from an address reachable via routes over that > interface, then the reply to that packet will be sent out over that > same interface, with the source address set to the address assigned > to that interface. Servers are setup this way all the time, and it > works as it should. Precisely. In fact, if a packet from 192.168.2.n is received on /any/ interface, the response will always go out from the 192.168.2.X interface. (Barring some weird routing/iptables configuration, of course.) > There must be more to the network configuration than something this > simple in order to cause the IP stack on the Asterisk server to > choose the wrong source IP address for outbound packets. I've usually seen this (wrong interface chosen for outbound) happen when NAT is in the picture. However, the OP doesn't mention any NAT-related configuration. Regards, -- Raj -- Raj Mathur || r...@kandalaya.org || GPG: http://otheronepercent.blogspot.com || http://kandalaya.org || CC68 It is the mind that moves || http://schizoid.in || D17F -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On 07/12/2012 03:53 PM, Benny Amorsen wrote: chan_sip does have the ability to use connect()-ed sockets for dialogs now, since that is required for TCP, TLS and WebSocket support. It wouldn't be a huge leap to use them for UDP as well, if that was beneficial. It would be greatly appreciated :) It is low priority for the Asterisk project, as there are always workarounds. I've just looked into this a bit, and I don't see how using connect() would actually solve the problem. If we receive a UDP datagram from a SIP endpoint, we could use socket() and connect() to create a socket specifically for sending to (and receiving from) that endpoint in the future, but we can't specify the source address to be used by that socket. The only way I know of to specify the source address for outbound packets is to use a raw socket and compose the IP header ourselves, which would be overkill. Benny, are you aware of some other method to accomplish this? -- Kevin P. Fleming Digium, Inc. | Director of Software Technologies Jabber: kflem...@digium.com | SIP: kpflem...@digium.com | Skype: kpfleming 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
"Kevin P. Fleming" writes: > I must be missing something. If a phone sends a UDP packet to > 192.168.1.1, how does that get routed to (arrive at) the 10.0.2.1 > interface on the Asterisk server? The easiest way is that the Asterisk server itself is the router. Phones on 10.0.2.0/24 have 10.0.2.1 as default gateway. Another option is that there are no real routers; the phones are disconnected from the Internet, they still have 10.0.2.1 as default gateway but they only use it to reach the Asterisk server. > The only way I can imagine that happening is if a router in between > the phone and the server has been told that 192.168.1.0/24 is > reachable *through* 10.0.2.1, which seems like a bizarre way to > construct a network. I do not feel that the two scenarios above are particularly bizarre. > Getting replies from Asterisk *back* to the phone would also require > the IP stack on the Asterisk server to route those replies back over > the 10.0.2.0/24 interface instead of the 192.168.1.0/24, which doesn't > make any sense either. If the phone is on 10.0.2.0/24, the IP stack will route packets to it directly through the 10.0.2.1-interface by default. It actually takes quite serious contortions to make it send the packets elsewhere. Servers with multiple interfaces are a bit out of the ordinary. Right now Asterisk is difficult to work with on such servers, which is not a large problem for Asterisk in general, because they are so rare. You can always work around the problem either by creative routing or by explicitly binding to one address. > chan_sip does have the ability to use connect()-ed sockets for dialogs > now, since that is required for TCP, TLS and WebSocket support. It > wouldn't be a huge leap to use them for UDP as well, if that was > beneficial. It would be greatly appreciated :) It is low priority for the Asterisk project, as there are always workarounds. Extra points for making Asterisk support IP addresses appearing and disappearing... That would make VRRP/HSRP failover work. (It "works" if you bind to 0.0.0.0, but it is difficult to get Asterisk to use the VRRP-address as the source address for outgoing packets). /Benny -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On 07/12/2012 12:38 PM, Freddi Hansen wrote: We have since Asterisk 1.2 been using a configuration with 6 NIC's bonding to 3 networks, one public internet and 2 private networks. Routing calls between networks and having phones on all 3 networks is no problem. There is one case though where we do fixup with iptables. We have 30 virtuel adresses on one of the private networks and when Asterisk sends a packet to a destination then the first address of the NIC is inserted as source by the OS. example one NIC has ip's 192.168.0.10,192.168.0.20,192.168.30 Telephone (192.168.0.100) sends a packet to Asterisk 192.168.0.30, Asterisk sends response to 192.168.0.100 but with source address 192.168.0.10 as thats the first ip on that NIC. In Iptables OUTPUT q we do a set-mark to an index into our source ip's then in POSTROUTING we insert the source adr using the mark Yes, this is the situation I referred to earlier. In your case, it's all on one interface, but the server has multiple addresses on the *same* network, and thus it cannot know (without help) with address should be used for outbound packets. -- Kevin P. Fleming Digium, Inc. | Director of Software Technologies Jabber: kflem...@digium.com | SIP: kpflem...@digium.com | Skype: kpfleming 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source, address when multiple interfaces are used
> I must be missing something. If a phone sends a UDP packet to > 192.168.1.1, how does that get routed to (arrive at) the 10.0.2.1 > interface on the Asterisk server? The only way I can imagine that > happening is if a router in between the phone and the server has been > told that 192.168.1.0/24 is reachable *through* 10.0.2.1, which seems > like a bizarre way to construct a network. Getting replies from Asterisk > *back* to the phone would also require the IP stack on the Asterisk > server to route those replies back over the 10.0.2.0/24 interface > instead of the 192.168.1.0/24, which doesn't make any sense either. This can and will happen, if the multi-interface Asterisk server is also being used as the router between these networks. In this case, the packet sent by the client system to 192.168.1.1, is being sent by the client to the client's active (possibly default/only) routing gateway, which will be 10.0.2.1. The packet arrives at the server/router, and because it matches the IP address assigned to one of the server's network adapters (and Asterisk is bound to all of them) it's delivered to Asterisk. When Asterisk replies, it's doing so via a socket which is bound to 0.0.0.0. Since there's no specific IP address bound to this socket, the kernel has to pick one of the host's IP addresses to put into the packet it sends... and the one it picks is the one assigned to the network adapter on which it chooses to transmit the port. In this case, that will be 10.0.2.1. So, the client sends a packet to 192.168.1.1 and gets a response from 10.0.2.1, which is a huge WTF situation for many protocols. This is not just an issue for SIP. I've had exactly this same problem with IAX2 clients and Asterisk, and had to apply the exact same cure - I tell IAX2 to bind itself only to my host's externally-routable public IP address, and not to 0.0.0.0. Then, if I specify the public IP address as the server in each IAX2 client configuration, everything works fine. This is probably a not-unusual configuration if you're setting up a modest-size "VoIP-only" or "VoIP-mostly" network on a budget... a Linux or other Unix-ish system running Asterisk will often have enough CPU power to handle the RTP routing between networks, saving you the cost of a dedicated router. I have this very issue on my own system - a modest home network with a couple of internal LANs, some IP ranges set aside for VPNs of various sorts, and one externally routable IP address. > chan_sip does have the ability to use connect()-ed sockets for dialogs > now, since that is required for TCP, TLS and WebSocket support. It > wouldn't be a huge leap to use them for UDP as well, if that was beneficial. Would be well worthwhile... and if you can port similar code over into chan_iax2, it would fix the problem there as well. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On 07/12/2012 09:19 AM, Benny Amorsen wrote: "Kevin P. Fleming" writes: That's quite interesting; can you describe a scenario where this occurs? Imagine you have a server with two interfaces, eth0 with 192.168.1.1/24 and eth1 with 10.0.2.1/24. Further imagine that you wish to be able to move phones between the networks without changing the SIP server address, so you set 192.168.1.1 as the SIP server no matter which network they happen to be on. Now the phones which happen to be connected to eth1 will send a request to 192.168.1.1. If Asterisk is bound to 0.0.0.0, the reply will come from 10.0.2.1. This could be solved if Asterisk did a connect() to the socket and use the same socket for answering. That would tell the system IP stack that this is in fact a connection, and so the system would ensure that the reply source IP would be correct. I must be missing something. If a phone sends a UDP packet to 192.168.1.1, how does that get routed to (arrive at) the 10.0.2.1 interface on the Asterisk server? The only way I can imagine that happening is if a router in between the phone and the server has been told that 192.168.1.0/24 is reachable *through* 10.0.2.1, which seems like a bizarre way to construct a network. Getting replies from Asterisk *back* to the phone would also require the IP stack on the Asterisk server to route those replies back over the 10.0.2.0/24 interface instead of the 192.168.1.0/24, which doesn't make any sense either. We have since Asterisk 1.2 been using a configuration with 6 NIC's bonding to 3 networks, one public internet and 2 private networks. Routing calls between networks and having phones on all 3 networks is no problem. There is one case though where we do fixup with iptables. We have 30 virtuel adresses on one of the private networks and when Asterisk sends a packet to a destination then the first address of the NIC is inserted as source by the OS. example one NIC has ip's 192.168.0.10,192.168.0.20,192.168.30 Telephone (192.168.0.100) sends a packet to Asterisk 192.168.0.30, Asterisk sends response to 192.168.0.100 but with source address 192.168.0.10 as thats the first ip on that NIC. In Iptables OUTPUT q we do a set-mark to an index into our source ip's then in POSTROUTING we insert the source adr using the mark b.r Freddi -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On 07/11/2012 11:36 PM, Jeff LaCoursiere wrote: This does exhibit the problem though. Your OS stack assumes one of those addresses - the first identified interface? - is the one that all replies will appear to come from. So phones on the 192.168.2.0/24 network that try to register get replies from 192.168.1.1 and ignore them. No, I don't think it does. If the server has four interfaces, on subnets 192.168.{1,2,3,4}.0/24, those are *not* overlapping, and everything will work as expected. If a UDP packet is received on the third interface, from an address reachable via routes over that interface, then the reply to that packet will be sent out over that same interface, with the source address set to the address assigned to that interface. Servers are setup this way all the time, and it works as it should. There must be more to the network configuration than something this simple in order to cause the IP stack on the Asterisk server to choose the wrong source IP address for outbound packets. -- Kevin P. Fleming Digium, Inc. | Director of Software Technologies Jabber: kflem...@digium.com | SIP: kpflem...@digium.com | Skype: kpfleming 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On 07/12/2012 09:19 AM, Benny Amorsen wrote: "Kevin P. Fleming" writes: That's quite interesting; can you describe a scenario where this occurs? Imagine you have a server with two interfaces, eth0 with 192.168.1.1/24 and eth1 with 10.0.2.1/24. Further imagine that you wish to be able to move phones between the networks without changing the SIP server address, so you set 192.168.1.1 as the SIP server no matter which network they happen to be on. Now the phones which happen to be connected to eth1 will send a request to 192.168.1.1. If Asterisk is bound to 0.0.0.0, the reply will come from 10.0.2.1. This could be solved if Asterisk did a connect() to the socket and use the same socket for answering. That would tell the system IP stack that this is in fact a connection, and so the system would ensure that the reply source IP would be correct. I must be missing something. If a phone sends a UDP packet to 192.168.1.1, how does that get routed to (arrive at) the 10.0.2.1 interface on the Asterisk server? The only way I can imagine that happening is if a router in between the phone and the server has been told that 192.168.1.0/24 is reachable *through* 10.0.2.1, which seems like a bizarre way to construct a network. Getting replies from Asterisk *back* to the phone would also require the IP stack on the Asterisk server to route those replies back over the 10.0.2.0/24 interface instead of the 192.168.1.0/24, which doesn't make any sense either. chan_sip does have the ability to use connect()-ed sockets for dialogs now, since that is required for TCP, TLS and WebSocket support. It wouldn't be a huge leap to use them for UDP as well, if that was beneficial. -- Kevin P. Fleming Digium, Inc. | Director of Software Technologies Jabber: kflem...@digium.com | SIP: kpflem...@digium.com | Skype: kpfleming 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
"Kevin P. Fleming" writes: > That's quite interesting; can you describe a scenario where this occurs? Imagine you have a server with two interfaces, eth0 with 192.168.1.1/24 and eth1 with 10.0.2.1/24. Further imagine that you wish to be able to move phones between the networks without changing the SIP server address, so you set 192.168.1.1 as the SIP server no matter which network they happen to be on. Now the phones which happen to be connected to eth1 will send a request to 192.168.1.1. If Asterisk is bound to 0.0.0.0, the reply will come from 10.0.2.1. This could be solved if Asterisk did a connect() to the socket and use the same socket for answering. That would tell the system IP stack that this is in fact a connection, and so the system would ensure that the reply source IP would be correct. Alas, few programmers are aware that you can even do connect() for UDP, and I believe it would be a rather large change to the Asterisk SIP stack to pass connected sockets around rather than just remembering IP addresses and port numbers. (Admittedly I haven't looked at that code in ages, so I could easily be wrong). The workaround is to explicitly bind to 192.168.1.1. Since Asterisk can bind to precisely one address, that kills off IPv6. /Benny -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
Similar problem On 12/07/2012, at 4:36 PM, Jeff LaCoursiere wrote: > On Thu, 2012-07-12 at 15:49 +1200, Alec Davis wrote: >> I've seen similar. >> >> We tried 4 interfaces. On 4 lans, are these considered to be overlapping? >> 192.168.1.1 >> 192.168.2.1 >> 192.168.3.1 >> 192.168.4.1 >> > Running openvpn on asterisk server for a few remote users. > Depends on the netmask you use :) Assuming you used /24, so "no", they > don't overlap. > > This does exhibit the problem though. Your OS stack assumes one of > those addresses - the first identified interface? - is the one that all > replies will appear to come from. So phones on the 192.168.2.0/24 > network that try to register get replies from 192.168.1.1 and ignore > them. > The normal LAN phones get replied to using the standard LAN address, the ones over openvpn get a reply using the local openvpn address, which if they aren't expecting it they ignore We got round it by setting the outbound proxy to the unexpected address and then everything seems happy - we are using Yealink though so it maybe different for other phones You could use IP Tables I guess too Cheers Duncan -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On Thu, 2012-07-12 at 15:49 +1200, Alec Davis wrote: > I've seen similar. > > We tried 4 interfaces. On 4 lans, are these considered to be overlapping? > 192.168.1.1 > 192.168.2.1 > 192.168.3.1 > 192.168.4.1 > Depends on the netmask you use :) Assuming you used /24, so "no", they don't overlap. This does exhibit the problem though. Your OS stack assumes one of those addresses - the first identified interface? - is the one that all replies will appear to come from. So phones on the 192.168.2.0/24 network that try to register get replies from 192.168.1.1 and ignore them. j > I tried this months ago on 1.8, and set provisioned phones to register with > asterisk interface on the lan they were on. > The phones won't register, we're un-responsive, 60 of them. > > Removed the bindings, and left only one. > Reprovisioned the phones again, all 60 of them. All is well. > > Have I tried again. No. > Did I have enough time to debug. No. > Sorry. > > Alec Davis > > > > -Original Message- > > From: asterisk-users-boun...@lists.digium.com > > [mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of > > Kevin P. Fleming > > Sent: Thursday, 12 July 2012 2:28 a.m. > > To: asterisk-users@lists.digium.com > > Subject: Re: [asterisk-users] chan_sip sending from wrong > > source address when multiple interfaces are used > > > > On 07/11/2012 07:51 AM, Olle E. Johansson wrote: > > > > > > 10 jul 2012 kl. 20:50 skrev Kevin P. Fleming: > > > > > >> On 07/10/2012 03:24 AM, Olle E. Johansson wrote: > > >> > > >>> The Asterisk SIP channel has no knowledge about > > interfaces and can't > > >>> bind to a specific interface for communication. In fact, > > it's a well > > >>> known bug that if you have multiple interfaces with different IP > > >>> networks, Asterisk will send from the wrong IP on some of > > the interfaces. > > >> > > >> Are you sure about that? The only problem area that I'm > > aware of is when there are multiple *overlapping* interfaces > > (on the same subnet, or providing the same route(s)). In that > > case, Asterisk can receive messages on one IP address out of > > the overlapping set, but reply using a different one from the > > set, because it doesn't specify the source IP address and > > instead lets the UDP/IP stack select one. > > >> > > >> If the interfaces don't overlap in any way, I don't see > > how it would be possible for Asterisk to send messages with > > the wrong source IP address, since it does not specify the > > source IP address at all. If this is occurring, it must > > involve the operating system's IP stack in some fashion. > > > > > > Yes, I still use quite a lot of IPtables tricks to overcome > > this issue. > > > > That's quite interesting; can you describe a scenario where > > this occurs? > > > > -- > > Kevin P. Fleming > > Digium, Inc. | Director of Software Technologies > > Jabber: kflem...@digium.com | SIP: kpflem...@digium.com | > > Skype: kpfleming > > 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us > > out at www.digium.com & www.asterisk.org > > > > > > > > -- > > _ > > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > New to Asterisk? Join us for a live introductory webinar every Thurs: > >http://www.asterisk.org/hello > > > > asterisk-users mailing list > > To UNSUBSCRIBE or update options visit: > >http://lists.digium.com/mailman/listinfo/asterisk-users > > > -- > _ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: >http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: >http://lists.digium.com/mailman/listinfo/asterisk-users -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
I've seen similar. We tried 4 interfaces. On 4 lans, are these considered to be overlapping? 192.168.1.1 192.168.2.1 192.168.3.1 192.168.4.1 I tried this months ago on 1.8, and set provisioned phones to register with asterisk interface on the lan they were on. The phones won't register, we're un-responsive, 60 of them. Removed the bindings, and left only one. Reprovisioned the phones again, all 60 of them. All is well. Have I tried again. No. Did I have enough time to debug. No. Sorry. Alec Davis > -Original Message- > From: asterisk-users-boun...@lists.digium.com > [mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of > Kevin P. Fleming > Sent: Thursday, 12 July 2012 2:28 a.m. > To: asterisk-users@lists.digium.com > Subject: Re: [asterisk-users] chan_sip sending from wrong > source address when multiple interfaces are used > > On 07/11/2012 07:51 AM, Olle E. Johansson wrote: > > > > 10 jul 2012 kl. 20:50 skrev Kevin P. Fleming: > > > >> On 07/10/2012 03:24 AM, Olle E. Johansson wrote: > >> > >>> The Asterisk SIP channel has no knowledge about > interfaces and can't > >>> bind to a specific interface for communication. In fact, > it's a well > >>> known bug that if you have multiple interfaces with different IP > >>> networks, Asterisk will send from the wrong IP on some of > the interfaces. > >> > >> Are you sure about that? The only problem area that I'm > aware of is when there are multiple *overlapping* interfaces > (on the same subnet, or providing the same route(s)). In that > case, Asterisk can receive messages on one IP address out of > the overlapping set, but reply using a different one from the > set, because it doesn't specify the source IP address and > instead lets the UDP/IP stack select one. > >> > >> If the interfaces don't overlap in any way, I don't see > how it would be possible for Asterisk to send messages with > the wrong source IP address, since it does not specify the > source IP address at all. If this is occurring, it must > involve the operating system's IP stack in some fashion. > > > > Yes, I still use quite a lot of IPtables tricks to overcome > this issue. > > That's quite interesting; can you describe a scenario where > this occurs? > > -- > Kevin P. Fleming > Digium, Inc. | Director of Software Technologies > Jabber: kflem...@digium.com | SIP: kpflem...@digium.com | > Skype: kpfleming > 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us > out at www.digium.com & www.asterisk.org > > > > -- > _ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: >http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: >http://lists.digium.com/mailman/listinfo/asterisk-users -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [asterisk-users] chan_sip sending from wrong source address when multiple interfaces are used
On 07/11/2012 07:51 AM, Olle E. Johansson wrote: 10 jul 2012 kl. 20:50 skrev Kevin P. Fleming: On 07/10/2012 03:24 AM, Olle E. Johansson wrote: The Asterisk SIP channel has no knowledge about interfaces and can't bind to a specific interface for communication. In fact, it's a well known bug that if you have multiple interfaces with different IP networks, Asterisk will send from the wrong IP on some of the interfaces. Are you sure about that? The only problem area that I'm aware of is when there are multiple *overlapping* interfaces (on the same subnet, or providing the same route(s)). In that case, Asterisk can receive messages on one IP address out of the overlapping set, but reply using a different one from the set, because it doesn't specify the source IP address and instead lets the UDP/IP stack select one. If the interfaces don't overlap in any way, I don't see how it would be possible for Asterisk to send messages with the wrong source IP address, since it does not specify the source IP address at all. If this is occurring, it must involve the operating system's IP stack in some fashion. Yes, I still use quite a lot of IPtables tricks to overcome this issue. That's quite interesting; can you describe a scenario where this occurs? -- Kevin P. Fleming Digium, Inc. | Director of Software Technologies Jabber: kflem...@digium.com | SIP: kpflem...@digium.com | Skype: kpfleming 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at www.digium.com & www.asterisk.org -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users