Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Failover protection - any easy way to do it?!
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Failover protection - any easy way to do it?!

asterisk14asterisk14 Member
edited June 2013 in General

Have googled this, but the info is hard, extensive, too complex! Can you suggest something simple?

I use a VPS as a sip (voip) server. Two sip devices use the sip server and both devices are in different locations. If the server goes down = no calls. If the sip server goes down, then I'll only find out when I pick up the phone, or if someone calls me (on my mobile) and says your voip line is not working! I can get nodeping or uptime robot to monitor the VPS but if I don't check my emails every 10 minutes, it's a bit useless. I know I could get messages sent to me a SMS but that too is useless if I am away from home and don't have access to a computer to re-route the sip devices to a backup server. Plus I would then have to manually change the settings in the sip devices.

I thought the internet would have solved this problem but there doesn't appear to be an easy solution. Basically I want 2 (LEB) servers running, and if server1 deadpools/burns/crashes, I want my sip devices to be automatically redirected to the backup server2 IP address.

Could I do something like this with the Rage4 service recently advertised here???

Is there any easy way to make this happen??

Comments

  • Rage4 DNS has UptimeRobot integration, with automatic failover if you configure it.

  • asterisk14asterisk14 Member
    edited June 2013

    Thanks magiobiwan, this article looks interesting foxpa.ws/2013/05/14/quick-and-dirty-and-free-host-monitoring-for-dns-failover-and-round-robin/ but a bit complex for a linux noob to follow!

  • SplitIceSplitIce Member, Host Rep

    Even if you don't want to use uptime robot, if you have an existing monitoring server (such as Zabbix) you can most likely rig up your own system. Rage4's api is pretty easy to get your head around.

    Since you want simple however uptimerobot + rage4 should meet your needs.

  • "Poor Man's Failover": modern browsers have this functionality built in, if you set up multiple webservers with corresponding multiple A records in DNS, then if first webserver tried is down, the browser will automatically try others.

    I have no experience with VOIP/SIP devices, but I think you should concentrate your research on the SIP devices functionality first. When you configure them to work with your VOIP server, do you reference it using IP address or host name? Maybe you can do either way (as is the case in most email clients - you can point to mailserver IP address or hostname)...?

    If you use host name, check your SIP devices if they have such auto-failover function as described for browsers above. Then all you need to do is set up another LEB Asterisk VOIP server or whatever you use and corresponding A record in DNS. If you can use IP address to point them to VOIP server, maybe you can configure your SIP devices with multiple IP's (i.e. VOIP servers)?

    If not, well, there are many SIP device manufacturers out there. I'm pretty sure some of them will have such auto-failover functionality built-in.

  • asterisk14asterisk14 Member
    edited June 2013

    well i've just created an account at uptime robot and scale extreme. Both services seem to be excellent. I'm even getting free SMS.

    @andrzej - sip devices usually only uses ONE host name or IP - no backup. They can use DNS SRV which is a kind of backup but only if using host name. I will probably only be using the direct IP so won't be able to use DNS SRV.

    @splitlce - thanks. I think when I get my system set up, rage4 and uptimerobot will be the easiest set up. I'll probably have to post here for advice as i am new to linux!

  • We have a specific SIP check that can monitor your SIP server and then trigger a webhook (URL) on failure. If you set that up with your DNS provider's REST API, it can fail over your DNS automagically.

  • @nodeping - sounds complex! think i may go 4 the rage4 + scakextreme/uptimerobot

  • If the sip server goes down, then I'll only find out when I pick up the phone, or if someone calls me (on my mobile) and says your voip line is not working!

    Low end dedicated servers ($25 - 50/mo), install Proxmox and run your VoIP setup on there. Yeah you can run a VoIP setup on a VPS but you're already seeing why folks upgrade to dedicated hardware or go with hosted VoIP

  • asterisk14asterisk14 Member
    edited June 2013

    @doughmanes said:
    Low end dedicated servers ($25 - 50/mo), install Proxmox and run your VoIP setup on there. Yeah you can run a VoIP setup on a VPS but you're already seeing why folks upgrade to dedicated hardware or go with hosted VoIP

    It's just not worth dedi. I can host it at home on a thin client, or just use the full functionality of my linksys spa 3k. it would be cheaper for me to even use the pots line with the rip off britain prices rather than get a dedi!

  • Dnsmadeeasy is another alternative for anycast DNS + monitoring with failover support.

  • asterisk14asterisk14 Member
    edited June 2013

    @earthvpn - At the minute I'm running it on Atlantic.net with a Digital Ocean backup. But in the light of ramnode and the constant attempted hacking of my server, I am seriously thinking about just running it on a 10zig thin client at home which will give me >99.99% uptime, <1% of data loss (i'll be using a compact flash card:-)), 0% chance of data theft or deadpooling....

    Trying to remember all the passwords for the VPS, Atlantic, Digital Ocean, SSH, is also doing my head in. How do you guys with 10 VPS remember/manage all this!

  • @asterisk14 said:
    Trying to remember all the passwords for the VPS, Atlantic, Digital Ocean, SSH, is also doing my head in. How do you guys with 10 VPS remember/manage all this!

    Oh dear heavenly cow.

    If you can remember all your logins and passwords in your head, they are terribly insecure or you're a computer. Your passwords need to be different on each site, and most people if they can remember their passwords, they aren't secure. You need to use KeePass + SSH certificate.

  • smansman Member
    edited June 2013

    VoIP is not as easy as http. You have extensions which generally can use DNS but you also have SIP trunks. Trunks often need static IP's or do not respond well/immediately to dns changes. If using registration instead of IP authentication you cannot have the same trunk trying to register from two servers at the same time. So you have to have it disabled it on one and manually switch it on only if the other one goes down.

    There are also issues such as call detail records. When you switch over then the records are spread over 2 servers. What calls were logged where? So now if you are using FreePBX for example which saves everything in MySQL, rsync is not an option and you have to start thinking about possibly setting up mysql replication.

    SRV records can solve a lot of these problems but unfortunately, a lot of sip phones and most trunk providers do not support srv records.

    Perhaps a free SIP proxy like OnSIP might be able to get around some of these issues. SIP Proxy is how the cloud VoIP guys do redundancy.....combined with DB replication on the backend.

  • asterisk14asterisk14 Member
    edited June 2013

    @sman said:
    VoIP is not as easy as http. You have extensions which generally can use DNS but you also have SIP trunks. Trunks often need static IP's or do not respond well/immediately to dns changes. If using registration instead of IP authentication you cannot have the same trunk trying to register from two servers at the same time. So you have to have it disabled it on one and manually switch it on only if the other one goes down.

    Agree VoIP is a lot harder than HTTP, as with VoIP, you have a VoIP server in the middle with sip devices (extensions) registered at one end and Trunks (providers) at the other. The Trunks in my experience are quite solid (eg sipgate) and will have some sort of failover protection as they are a commercial service. My biggest concern is the LEB VoIP server in the middle. My sip device (Linksys SPA3000) does have DNS SRV but these are useless in my situation as I am using the IP address of my LEB VoIP server as the sip registrar. DNS SRV only work with domain names. So I would have to have something like asterisk1.sipserver.com and asterisk2.sipserver.com and then tell the device to register with sipserver.com, it would then register with either one in case one was down. So this is another extra step (and also an extra point of failure/complication!)

    >

    There are also issues such as call detail records. When you switch over then the records are spread over 2 servers. What calls were logged where? So now if you are using FreePBX for example which saves everything in MySQL, rsync is not an option and you have to start thinking about possibly setting up mysql replication.

    I'm not too fussed about the CDR as I am just using it in a residential environment. It would still be good to have recent call records, but my SPA stores the last number called/recieved anyway.

    SRV records can solve a lot of these problems but unfortunately, a lot of sip phones and most trunk providers do not support srv records.

    There are some VoIP service providers that do not SRV, but AFAIK, most do these days, I've only ever had ONE outage with sipgate in the past 5 years!

    Perhaps a free SIP proxy like OnSIP might be able to get around some of these issues. SIP Proxy is how the cloud VoIP guys do redundancy.....combined with DB replication on the backend.

    Will look into this. Thanks for the information!

Sign In or Register to comment.