@GoogleCloudDNS I need a production web app with a database backend, reliable/standard/secure authentication, that will allow cloud voip providers manage the DNS that their SIP endpoints look to. It needs to - ask the user for their "skyswitch reseller ID" during setup - lookup the records from their skyswitch provided DNS (which is a function of their reseller ID. e.g. reseller ID 23281 uses 23281.hpbx.outboundproxy.com, so $reseller_id.hpbx.outboundproxy.com - it needs to lookup the SRV record for _sip._udp.$reseller_id.hpbx.outboundproxy.com - _sip._udp.23281.hpbx.outboundproxy.com and identify the hosts and priorities assigned by SkySwitch - allow the user to create multiple Zones (involving creating the zone, and reading the ns records, then creating an NS record under sknk.us with those values.) (zones, which we provide under the sknk.us domain managed in our google cloud) - ask the user for the DNS name of the standby PBXes they have. - those zones (a, b, c, d, e etc) will be named $reseller_id-a.sknk.us $reseller_id-b.sknk.us $reseller_id-c.sknk.us etc. One each for each standby PBX URL - in those zones the system must create an A record which matches the A record value of the SkySwitch provided DNS name (23281.hpbx.outboundproxy.com) - in those zones the system must create an A record which matches the A record value of the SkySwitch provided DNS name (23281.hpbx.outboundproxy.com) - in those zones the system must create NAPTR record like this one e.g. 10 100 "S" "SIP+D2U" "" _sip._udp.23281-a.t5.io. (10 100 "S" "SIP+D2U" "" _sip._udp.$reseller_id-a.t5.io.) - an SRV record with the same values as the SkySwitch provided DNS SRV records. e.g. 23281's SkySwitch SRV record looks like "srv=SRV: 30 10 5060 g1-wt02.nms.outboundproxy.com., 20 10 5060 g1-sw02.nms.outboundproxy.com." so 23281-a.sknk.us SRV record should look like that. Then it needs to add the standby PBX hostname for this Zone, as 40 10 5060 $hostname, so the lowest priority. - there needs to be a page that lists all the zones, and for each zone it needs to have buttons to A. "failover to standby pbx" (which changes priority of the standby pbx from to 10 [likely from 40]), B. "restore SkySwitch" (which changes priority of standby pbx to 40 [from whatever value it is]), C. "show status" which lists the current/live SRV record details write complete code. provide complete installation scripts with useful comments, include debug and verbosity scripts / modes during development, and do not use .env for google credentials - embed them in php config file.