I am unable to get a Grandstream GXP 2170 (Firmware Version to register to our secondary server if the primary server "goes down." We are currently using FusionPBX version 4.5.6 and switch version 1.8.4 (64bit). We have the primary and secondary servers in place in the device settings. We have DNS SRV selected instead of TCP (we use tcp on everything basically except for Grandsteam). We have an SRV record created for the primary and secondary addresses. When we "break" the primary address, the device stays registered to the primary address anyways. The way we are currently testing this is by intentionally typing a spelling error in the SRV record for the primary server, at the source (1and1.com). Shouldn't the device stop being registered at the primary server at this point? Is there a better way to test and confirm that DNS SRV is working properly on a grandstream? Also, if you need more info and my description sucks, I'll be happy to give more details. This is just everything I can think of off the top of my head. Long story short, we need to get DNS SRV working correctly on Grandstream and what is the best way to test this before we implement to our customers.
Holy run on sentence Batman.

Isn't there a "secondary domain" option in there which handles failover for you by registering to primary and secondary?
From my understanding, Grandstreams don't dual register, but they can use DNS SRV. So in theory, if one creates an SRV record for the primary and the secondary, and you then set the device transport to DNS SRV instead of TCP or UDP etc., it should switch over as needed. That being said, if you or anyone is aware of a way to dual reg Grandstreams, we are all for it.
I don't believe that Grandstream has dual registration yet, supposedly "coming soon". I'm working on this now as well but with AWS for dns. Did you ever find your solution? I'm using Route53, 2 servers, and I can get everything working with the Route 53's failover. I have the TTL set to 60 seconds and for the most part it is working.