What is Orange Ant?
In addition, starting in 2015 we deployed our new Valid European Telephone Number tool. This will enable you to check for valid/invalid EU and EEA numbers. As a consequence, you can now charge your customers depending on whether their call originated from inside or outside this zone. With higher confidence than ever before. Millions of rules implemented in the system. Updated all the time.
Following text is about the OrangeAnt Least Cost Routing. Details about the new Valid European Number tool can be found in the EU NUMBERS menu, once you login.
Is it for me?
Note! Voice trading is a skill based on knowledge and rules that you should master before attempting to use OrangeAnt output on a switch. You should be absolutely sure what you are doing when implementing any routing table on a switch with live, production traffic. You should test with simulated voice traffic if the OrangeAnt output is profitable on all your routes. You should have live 24 hour per day monitoring system alarming you if you loose money on routes. You should have automated procedures to instantly block and prevent traffic with negative margin on your switch. If you cannot meet these requirements, do not use OrangeAnt. We do not teach voice trading. This is a pricelist comparison tool. You will not learn voice trading with OrangeAnt. Errors in codes, missing codes in sales and purchasing pricelists, skipping pricelists, errors in pricelists, late routing updates, insufficiently frequent routing updates, wrong routing dates, wrong currency presumptions, lack of fraud management, lack of cost and revenue monitoring, end many, many more things can all lead to substantial money loss.
How does it work?
Long answer – When you register for the OrangeAnt service, you will be able to use the routing menu of the system. If you are not registered, this menu is currently disabled for you. You may register freely. You will not be charged for any service until you choose to generate your first routing. The routing menu is the place you will spend most of your time while using OrangeAnt. There, you can create new vendors you interconnect with, upload their new pricelists and choose the currency of the pricelist (USD and EUR supported). You may browse the history of pricelists you uploaded, delete vendors and manage other aspects of your voice-trading. Once you update all your pricelists, you may generate a pricelist comparison and a routing table for your switch (LCR). You will at that time be charged for the service.
Once you request the routing to be generated by OrangeAnt, vendor pricelists are compared against the destination table (MDT – Master Destination Table). This table is a list of your switching prefixes (prefixes you use to switch voice traffic) and are the basis of your sales pricelist (items in your sales pricelist use the same prefixes as those in your MDT). If you have a Master Destination Table you'd like to use, you may upload it to OrangeAnt, or you can choose to use the one provided by the system.
How much does it cost?
You can pay with PayPal. Internet's most secure payment method. Other forms of payment may be arranged, but we prefer to avoid them, and we may choose to decline them. Your PayPal payment will be processed immediately and the funds will be instantly available on your OrangeAnt account. As far as your yearly costs are concerned, it is expected that an average voice trader should be spending between 500 and 750 euro per year on OrangeAnt. Calling card providers may get away with 250 per year, or even less. If you are spending more than that, you are probably not using the system correctly. Please read the remaining passages in this FAQ and watch the videos. It could save you money.
What are the limitations?
What is the expected input?
1. Format of the upload file is Windows CSV – if you don’t know what a CSV file is, you shouldn’t use OrangeAnt. Really. Get someone else in your organization to use OrangeAnt for you. Mac users should use Windows CSV format when saving files for upload (Save As... --> Windows CSV).
2. Delimiter is semicolon (;)
3. Each row in the file must have 4 items delimited by semicolon. These are:
prefix (or country code + area code) – the calling prefix for this destination including the country code
destination (or description) – vendor’s description of the prefix
price – vendor’s price per minute of call in their basic currency (EUR and USD supported)
valid-from-date – this must be in YYYY-MM-DD format (ISO 8601 format)
for example, this would be fine as a part of a bigger pricelist:
96771;YEMEN SABA PHONE MOBILE;0,0897;2014-05-01
4. No double prefixes (area codes) allowed. We do not support peak and off peak prices.
The system will check the data before updating the database. Pricelists not compliant with the expected format will be rejected. You will be asked to fix the issue and reupload.
Since it's free, we might as well try and open a new vendor and upload the first pricelist into the system. Just to see if your pricelist format is OK. Routing menu when you first register looks like this (picture below). Not much there.
Click Add new to add new vendor.
This is what you get (picture below). Just add the name you'd like to call your vendor, pick the currency vendor uses and choose the file from your hard drive. Leave the ON/OFF toggle switch as is for now and click save.
If you did everything by the book, this is what your screen will look like (picture below). If you’re looking at something else, things went wrong. Check the four rules at the beginning of this chapter, and retry. Error pop-up window usually provides helpful information.
You just opened a new vendor and uploaded their first pricelist successfully. Practice it a few more times. Hit the Browse button and try adding a new test pricelist to the same vendor. You can always delete any test vendor by clicking the orange X sign on the right side of the screen. Remember, you will not be charged for any service until you decide to generate a routing.
How do I get the output file and what does it look like?
You get the output file after you generate the LCR (least cost routing) for a particular day. The system will take into consideration all the prefixes (from all the vendors) with active price on that day (the day you select for the Generate Routing Date). Since all the prefixes have a valid from date, the system will use that date as the starting date for the prefix-price pair, and will close every prefix-price pair using the data from the new upload file into the same vendor. This is due to the fact that once you open your vendor, and start uploading consecutive pricelists over time, a chain of prefix-price-valid_from_date data starts updating into the system. This allows the system to pick particular price for particular prefix on a particular date you want (date you choose to Generate your Routing for), and include only those prices into the routing. Which makes sense, since they are the only ones effective on that day.
To explain this better, I'll need an example.
This example is for one prefix only (among many other that may be uploaded in a single pricelist):
First upload - one prefix example:
Second upload - one prefix example (note changes in red):
Actual situation in the database for prefix 960:
As you may have noticed, there is a new date that appeared in bold. You did not upload this one. It got auto assigned. The system closed the prefix 960 with price 0.35000 on date 2014-01-14 at 23:59:59 and (as per Second upload) opened a new prefix 960 with a new price 0.38550 valid from 2014-01-15 at 00:00:00. Should you after that request a new routing for VENDOR_A on 2014-01-07, the price 0.35000 will be taken into consideration. Should you generate the routing for 2014-01-25, the price 0.38550 will be used. Shows you how important it is to use the correct routing date.
The output file may take from a few seconds up to a few minutes to complete and will be waiting for you in the history menu at the top of the screen. Your previous routings are there as well, should you need them.
The format of the output is fixed, and you cannot influence it. You may, of course, later change it in Excel to suite your switch, as all required data is there.
This is how the output will look like if you open it in Excel:
Let us analyze it. Stay with me here. It is very important. Column A is the prefix (country code + area code). The next column is the description from your (or system-provided) Master Destination Table (MDT). Next column is your First Choice for this route/prefix. This is the preferred vendor based on their pricelist. Following that, in column D, is the calculated pessimistic price for that vendor. This is the worst-case-scenario price. The highest possible cost, based on your MDT and all available codes in the vendor’s pricelist. After that is the second choice, their price, third choice and so on for every vendor that provides the price for this destination. A skilled Excel user can translate this output into one compatible with their switch in matter of minutes. Also, your technical department may automate this process for your switch. The prices in columns D, F, H will be the basis of your sales pricelist. We’ll touch on this in the next chapter.
How can I make a sales pricelist from this?
In this example we will create our sales pricelist by increasing our second-routing-choice by one percent. This will allow us to be sure that for each prefix we’re selling, we have at least two vendors where we can route calls through. Should the first choice vendor increase the price (and drop out of the next routing due to that), or if their route fails due to lack of capacity, or any other reason, our switch can use the second-routing-choice as a failover route and still be profitable.
However, our routing has other vendors, except the first two choices. You can see this in the picture below, where the view is zoomed out. There is another carrier as our third choice (called Test carrier) for each prefix. Our possible cost if the call is terminated via this carrier is above our sales price. We do not want to route our calls there. For your convenience, I colored all unacceptable prices in red, and those that are fine in green.
And I am going to remove the red ones from the routing (picture below). Now I'm confident no calls are going to be routed to vendors where I can work with negative margin.
Few more clicks in Excel, and this is what I got (picture below). My sales pricelist is on the left. The input for the switch is on the right. You do not want to keep them in the same sheet. I am showing it like that for explanation purposes. All the required data is there. The pricelist is perfectly fine. However, the switch input greatly depends on the switch you are using, and will surely require modifications.
The date I am using as a Valid from date in my pricelists is the date I choose to make the routing for, when I was generating my routing. You still need to make sure the switch starts using the routing at the time you want. Linux Cron can assist you with that. It is essential to know exactly what you are doing with dates, as it could be disastrous to have wrong validity date on both sales pricelist or the routing. If you're not sure, don't do it.
About picking the routing date...
Colors represent difference between the smallest and the biggest Valid From date in each of vendor's pricelist.
Today is 2015-01-11 and you have just implemented your routing at 00:00 hours. Other purple dates indicate when you should again reroute your traffic. On 2015-01-17 VENDOR A has a price change in their pricelist, and the day after that VENDOR C has some price changes in their pricelist, and so on. You can see these dates for your last upload file in the routing menu under FIRST DATE and LAST DATE. The first date is the lowest date in the last uploaded pricelist for that vendor. Last date is the highest date for any prefix in the last uploaded pricelist for that vendor. If you don't want to play it safe and do daily routings, you may want to skip routings on dates where there are no price changes in your system. You can, of course, detect such dates in your billing system as well.
Detecting cherry-picking opportunities
Row 8 of the Excel sheet shows that Example_Vendor has an error in their pricelist, and is selling prefix 9372 at unrealistically low price, giving us an opportunity to exploit it.
MDT - Master Destination Table
1. MDT file is a CSV file
2. Delimiter is semicolon
3. No double codes allowed
4. Maximum of 200.000 codes in a single MDT
This is how it should look like:
You may also choose to use the system provided MDT table, or your own, by choosing one of them at the bottom of the routing screen.
Note! System provided MDT table is maintained and may change at any time. You will not be notified about this change. Use you own MDT to be sure in advace what codes are in there. Uploading your new MDT table will render void any MDT tables you may have uploaded previously.
Making a target list
Sounds easy enough. If the vendor matches my targets in their next pricelist, they will position themselves as my first choice.
The good thing is I can make this target list every time I generate a new routing, and I don't have to pay anything extra to get it.