Back in January I made a mistake.
I was talking with a client that I’ve known for many years – one of the first Metaswitch deployments I ever supported when I worked at the company – and they needed some work done on their Metaswitch translations (the rules that control call billing and routing, if you’re unfamiliar).
Great! I thought. Translations are fun, and as a bonus this is one of the things we’re best at!
[A note to any potential clients out there: we are, of course, equally awesome at everything.]
We chatted a bit more, and it turned out they needed their translations to be 100% redesigned to take into account current best practices and the current scale of their business. Okay, fair enough – that’s a fairly big project, but still it falls squarely inside our wheelhouse.
So we agreed a price, signed a deal, and got to work.
And then I really started digging into their configuration. Oh. My. Goodness.
- There were 48,718 entries in Number Validation
- There were 1,574 different routing actions.
This is where Stephen shakes his head and says “That’s another fine mess you’ve gotten us into…”

The first step in any translations project is to understand how things are working currently – but where on earth could we begin?
Metaswitch translations, but easier
In this article I’m going to introduce you to a little tool that Metaswitch have made available through your Dashboard on the Communities site – called FlowShow.
[Whenever I say the name, I can’t help remembering the day when my buddy from Atlanta tried to teach this fresh-off-the-boat English guy to say “Fo sho” instead of “Yes, certainly sir.”]

FlowShow promises to make your translations much easier to understand by turning the raw data into easy-to-understand flow diagrams. If it works, it could have a lot of benefits:
- New switch techs can more easily understand the structure of your Metaswitch translations.
- You’ll be able to easily spot those parts of the system that are no longer used, so you can remove them and make everything simpler.
- You’ll be able to easily find the best place to insert a new table to add more function.
- Over-confident Metaswitch consultants will be able to more quickly understand just what kind of a mess they’ve gotten themselves into.
FlowShow – a walk through
I’m not going to walk you through every single step of using it – instead I’ll give a quick overview and then show you what it does.
- To start, go to Communities article 438129 (or search for FlowShow). This document contains a link to the tool.
- You’ll need to use MetaView Explorer to export an entire config set, and then use WinSCP to pull that off your MetaView Server.
- This export file is then uploaded to the FlowShow web page, and then FlowShow will take a bit of time (maybe 10 minutes?) processing it before you can see the output.
Once you’re on the results page you’ll see that there are 4 tabs across the top of the screen, corresponding to the four sections used in Metaswitch translations.

The Attribute sets section is simple but useful: for each Attribute Set it summarizes the attributes and tells you which Number Validation table references that Attribute Set. And equally useful, it highlights any Attribute Sets that are not used – which means you can safely delete them.

On-switch and LNP lookups simply shares your configuration in this area, but has a helpful “Filter” box at the top so you can more quickly find the relevant sections.
The core of the tool lies in the Number Validation Tables and Trunk Routing sections – so that’s where things get fun.
There have been many times that I’ve tried to draw out a translations scheme on paper, and I always run into problems because (a) the tables are just too complex to display in a diagram and (b) there are just so many rate center tables that it would quickly get out of control.
FlowShow does a pretty good job of addressing both these concerns.
Firstly – it uses a bigger piece of paper. What I mean is that the tool creates a diagram that is actually much bigger than my computer screen, and then just provides a movable window to inspect part of that diagram.
I’m not sure if you’ve ever used the Genealogy tool Geni.com but it works in a similar way. Once my parents got excited about it the family tree got so huge that it couldn’t all be viewed at once – but you can move around and look at the part that’s interesting to you.
The other cool trick is that the tool is smart enough to identify tables that are performing fundamentally the same function. In the screenshot below you can see that it recognizes the post-dialing plan tables and groups all 214 of them together in one block – making it easier to understand the output.

Having said all of that, there are times when the translations are just complex, and FlowShow can’t hide that from you. I love the crazy mess of arrows in the middle of the diagram below.

There’s also some cool use of color coding – the green in the above screenshot means that these tables are used for on-switch subscriber calls, and there are different colors for inbound trunk calls, post-ANI-screening calls, etc. The gray table above is never used.
There’s also a pane to the right of the diagram where you can see the detailed configuration of any table or entry within that table – for example here’s a snapshot of the Digits Main Table.

By including this data FlowShow gives you a much more user-friendly way to inspect your translations. You can’t modify anything, but you can see all of the configuration – even including the details of the NPA tables (in the right pane only).
I haven’t shown you Trunk Routing, but it’s basically the same as Number Validation.
Should you use it?
Yes, absolutely.
The biggest downside is that it takes a bit of effort to get it set up – exporting the configuration, copying it off Metaview, importing it into the tool… These things could easily take 30 minutes of elapsed time, but the good news is you don’t need to watch it throughout, and if your translations don’t change very much, you probably don’t need to refresh it every single time.
If I were you, I’d go ahead and get your current configuration loaded in there, and then any time you need to troubleshoot a call in SAS, or modify your translations you have the tool ready to help you out.
You’ll need to refresh the data in FlowShow occasionally – once your active config set gets different enough from FlowShow to be annoying – but on balance you’ll save a lot of time by using the tool.
Sadly I didn’t discover it until our big translations project was almost complete, but in the future, we’ll be using FlowShow fo sho.
If you need some updates to your switch translations, and would rather outsource them, please contact us, and that will give us another excuse to use FlowShow.