When I started working with DIY VoIP as a way to save money, I ended up setting up accounts with 2 prepaid VoIP providers, Vitelity for voice and later Gafachi for T.38 fax support. So far, I haven't been able to get T.38 working all that well, so I started to think of other ways to use my balance at Gafachi... perhaps as backup in case I couldn't reach any of the servers at Vitelity, which so far hasn't yet happened.
The new info
Last Friday, I found out how to get the current international calling rates for both providers in easily-parsable download files, and wrote scripts to use those to periodically update a local database and then calculate charges based on the number called. The original idea was to have that save me time manually calculating those charges if I ever made an international call that could be written off as a business expense, which isn't that difficult considering I work from home and we have partners in Europe and South America.
The new idea
When I was looking at the call rate info and figuring out the best way to parse and use it, I noticed something... while Vitelity has the same call rate for US48 and Canada outgoing calls (1.44 cents/min, the cheaper of the two domestic rates), the Gafachi rate for calls to Canada is less than half of that (0.68 cents/min). While I don't make that many international calls, most of the ones I do make are to Canada. While there are differences in rates for other countries as well, it's generally not to that degree.
That has me thinking this morning about the possibility of routing calls using one provider or the other, based on cost. It actually wouldn't be that hard... I can use the same database table and query that I'm using for billing calculations, and add something to sort results by call rate as well.
This could be very cool indeed...