I know nothing about kvstore, but wrote a script to track public IP address changes and update Asterisk, with a goal of having it running with the new IP within a minute of the change. See
Unfortunately, this is 4+ years old and depends on chan_sip. You’ll have to tweak it if you don’t have that driver.
Also, see
for a recently updated list of STUN servers (though it’s not a significant issue if some aren’t working).