My company BestFone uses FreeSWITCH for call routing. Self-serve panel at https://panel.bestfone.com (full stack: https://stackshare.io/bestfone-2-0/bestfone-2-0) There's several main scenarios: Calling card -- from several countries (USA/Canada/England/Switzerland) to worldwide. Virtual Numbers -- from any supported country (Voxbone footprint) to worldwide. Playback lines: archives of tele-conferences, with options to pause/rewind/skip forward. I have a few custom-coded lua setups for time based routing, failovers, etc. Most of my system is very simple freeswitch config that calls mod_xml_curl or a .js file that calls my remote API. I used to offer ATA boxes, but both debugging NAT and delivering boxes is much less straightforward than the callingcard/virtual number setup. Avi Marcus BestFone