I have 4 remote locations, one running 3 phones and the others a single i2004. My BCM is on cable as are two of my remotes. The cable remotes work excellent and only rebuild the tunnel every 24 hours (what I've set it to). The other 2 are DSL. One of the DSL connections is very up and down (it is in a remote area where even the POTS line is unreliable) and the QoS can be very bad at times. The telco did some work on the line which has improved it somewhat. The other DSL one is much better and rebuilds its tullel every 24 hours as well.
I would do everything through VPN as it is much more secure and you can use it to share network resources, backup devices, etc.
I also had an issue with tunnels going up and down on all locations every 30mins - 4 hours at one time. It was because of the VPN tunnels I was using. I was building a tunnel for each phone (ex 10.10.3.10 (phone) => 10.10.1.10 (bcm), etc.) as soon as I changed to all IPs being accessible across the VPN (ex 10.10.3.0 => 10.10.1.0) the connection became a lot more reliable. Also make sure your VPN connections are nailed up on both ends.