Unless you have a networking or other restriction that precludes SIP, I recommend against IAX. You would have to replace it if you changed the PBX at either end to one that was not Asterisk based. IAX is a binary protocol so you are at the mercy of the interpretation in whatever debug tools you are using. And, there are many more experts in SIP than in IAX.
I know nothing about Meraki, but if the on-site PBX has existing SIP trunks (to the PSTN), you can set up a trunk to the Vultr system exactly the same. If the Meraki needed any trunk-specific settings, e.g. to whitelist provider IP addresses, do the analogous settings for Vultr.
At the Vultr end, set up the trunk for Registration Receive, or use IP authentication.
If you have trouble, try to register an IP phone, softphone or SIP app at the Meraki site directly to the Vultr instance. If that works, you should be able to get the local PBX to register in the same way.
Pros)
It was developed by Mark Spencer as his ‘InterAsteriskeXchange’ protocol. First as IAX, then improved to IAX2.
It is efficient and faster than SIP, with trunk=yes even more so as the connection is always up so no Sessions needed to Initaiate for every call.
It uses one port, so it is easy to route and will go boldly where SIP can’t or won’t.
Rarely, if ever, will you see an attack against it.
It is very stable, s well aged and time proven, so doesn’t need much maintainance.
Cons)
Many folks deride and sneer at it. But likely none of them has ever tried it.
Given these, and FWIW, I have been using it for donkeys years, never had a problem, ever!
I still maintain that it is perfect where a static trunk is needed between ‘well known places’
Yep, I did it on another on-site PBX behind SonicWall and it worked fine. However, I can’t open the ports correctly and the documentation doesnt say much.