Markets open
A yellow overhead fibre raceway branching into separate routes above rows of black equipment racks
Smart Routing

The cheapestroute that works

Each call is priced across the routes you hold and sent down the cheapest one. In a route group, when a supplier fails, the call rolls to the next.

Cheapest working routeFailover on the SIP responseQuality order when it counts
In short

One supplier is one price and one point of failure.

Smart Routing lets you hold several routes to the same destination and chooses per call: cheapest first by the real per-prefix rate, or highest stated answer rate first where completing the call is worth more than the last fraction of a cent. In a route group on your Switch, when a supplier returns congestion or times out, the call moves to the next candidate, and every attempt is recorded so a call that failed over three times still reads as one call. You keep the low rate without losing the minutes when a supplier goes down.

What you can do

Cost-ordered routing

Cheapest first, by the real per-destination rate.

Quality-ordered routing

Highest stated answer rate first.

Failover chains

Ordered candidates in a route group, each attempt recorded so you can see what happened.

Per-attempt CDRs

Every attempt is grouped under its call, so a three-supplier failover reads as one call.

Prefix-level control

Different behaviour per destination, down to the prefix.

How it works

From a destination to the right route

Smart Routing works at two levels. Any API request can choose its own route by strategy, and on the Switch a route group orders several suppliers and fails over between them.

  1. 01

    Hold the supply

    Every active public route on the marketplace is a candidate for a smart-routed request. On the Switch, the routes you buy, your private routes and your supplier trunks become the suppliers in your route groups.

  2. 02

    Choose the rule

    Set strategy to cheapest, best_quality or balanced on a call or message. For customer traffic, set a route group to Least cost, Priority order or Weighted split.

  3. 03

    Check it before you send

    The Smart Routing screen shows the route a destination would take and the alternatives behind it. Route Trace shows the full switch decision without dialling.

  4. 04

    Send, and read every attempt

    The call is priced at the prefix it matched. In a route group, a retryable SIP answer moves it to the next supplier, and every candidate is written to the call record.

Per request

The most specific prefix wins, then your rule

Leave routeId off a call or message and name a strategy instead. Smart Routing gathers every route that serves the number, prices each one from the rate deck row that matches the longest prefix, and ranks the most specific matches first. Only then does your rule decide: the lowest rate, the highest stated answer rate, or the most answer rate for the money. A cheap country-wide rate never outranks a mobile rate for a mobile number.

  • Three strategies on one parameter: cheapest, best_quality and balanced, with balanced as the default.
  • A route whose rate deck does not serve the number, or blocks it, is never a candidate.
  • Preview the pick and up to four alternatives, with rate, matched prefix and caller ID type.
Smart RoutingExample
Destination
+44 7700 900123
Strategy
CheapestBest qualityBalanced
Selected · Balanced
United Kingdom Mobile
United Kingdom · matched 447
Rate
$0.0118/min
ASR stated
48%
Caller ID
Full CLI
Also considered · 4 routes scanned
  • United Kingdom Mobile
    matched 447
    $0.013152%
  • United Kingdom Mobile
    matched 447
    $0.010431%
  • United Kingdom
    matched 44
    $0.0061-

447 is a longer match than 44, so the mobile routes rank first before any price is compared.

Route groups

Failover that knows a busy line from a broken route

A route group puts your suppliers for a destination into one ordered chain. Least cost sends the cheapest buy rate for the dialled prefix first, Priority order follows the order you set, and Weighted split shares first attempts by load. When a supplier answers with a failure that means another supplier might carry the call, such as a 503 or a timeout, the call moves on, one supplier at a time, inside the group's attempt limit and setup budget. A busy line, a decline or an authentication refusal ends the chain, because retrying those only creates false traffic.

  • Retries 404, 408, 484, 488, 500, 502, 503, 504 and 606 by default. 401, 403 and 407 stop the chain.
  • A group sets its own failover codes, attempt limit and setup budget.
  • A supplier with a backup address is tried there before the chain moves to the next supplier.
Route groupExample
UK mobile
Least costPrefix 447Up to 3 tries60 s setup budget
Try order for 447
  • 1Supplier A$0.0091/min
  • 2Supplier B$0.0097/min
  • 3Supplier C$0.0112/min
  • -Supplier D left out: no buy rate covers this destination.
Route attempts · +44 7700 900321
  1. 1
    Supplier A
    SIP 503 · retryable, moved to the next supplier
    Failed
  2. 2
    Supplier Bcarried the call
    SIP 200 · post-dial delay 2.1 s
    Answered
  3. 3
    Supplier C
    Not reached
    Skipped

Billed once, for the leg that connected. The failed attempt cost nothing.

Route Trace

See the decision before a call is placed

Finding out whether a number will route used to mean placing a real call and reading a 503. Route Trace runs the same resolvers the switch runs and shows the decision instead: how the number was normalised, which dialplan rule matched, which route group took it, what each supplier's buy rate matched and whether it had room. Every supplier that could have carried the call and did not is listed with its reason.

  • Nothing is dialled, no channel is used and nothing is billed.
  • Save a trace with a note when it needs keeping or sharing.
  • A refused number shows the same reason key the live call path would answer with.
Route TraceExample
Customer Acme Telecom
+44 7700 900456
  1. Number
    +44 7700 900456 normalised to 447700900456
  2. Dialplan
    Rule UK mobile matched. Number and caller ID unchanged.
  3. Supply
    Route group UK mobile, least cost
  4. Buy rates
    Supplier A $0.0091 and Supplier B $0.0097, both matched on 447
  5. Capacity
    Supplier A has room: 38 of 60 channels in use
Verdict
Routes
Chain: Supplier A, then Supplier B
Considered and ruled out
  • Supplier Dno_buy_rate
    No buy rate covers this destination, and the trunk has no default rate.
  • Supplier Eoff_schedule
    Outside the schedule set on this trunk.

Nothing was dialled. Save the trace with a note to keep it.

Capabilities

Everything that decides where a call goes

Price, prefix, supplier rules and SIP answers: each one checked on every call, and each one written down.

Three strategies, one parameter

cheapest ranks by rate, best_quality by the answer rate stated on the listing with price as the tiebreak, and balanced by answer rate per unit of cost.

Longest-prefix pricing

Every candidate is priced from the rate deck row matching the most digits of the number, and billed at that row's rate and increment.

Resolve preview

GET /routes/resolve returns the route a destination would take and up to four alternatives, with rate, answer rate, caller ID type and matched prefix.

Three selection rules

Route groups pick the first supplier by Least cost, Priority order or Weighted split, then walk the rest one at a time.

Prefix bands with fall-through

Give a group entries per prefix. The longest matching band is used, shorter bands catch the rest, and a blank prefix covers every destination.

A failover rule per cause

Each SIP answer gets a verdict: move on, end the call, or stop the chain and log a supplier refusal. Suppliers can override the codes and cap attempts per call.

Every attempt on the record

The leg that carried the call, each failed leg, candidates skipped with a reason and candidates never reached, with the buy rate for each.

Supplier rules on every call

Blocked and allowed prefixes, country lists, number length, schedules and maintenance windows are checked per call, and a refusal names the rule.

Why PacketExchange

Keep the low rate without losing the minutes

Least-cost routing only pays when the cheap route completes, the chain stops where it should and you can show what happened.

Priced before it is chosen

Least cost orders suppliers by the buy rate for the exact destination, taken from the same rate lookup billing uses. A supplier with no rate for the number never enters the chain, so a missing price can never pose as the cheapest one.

Completion without false traffic

Calls move on only when another supplier might carry them. Busy lines and refusals end the chain, so a carrier never sees a burst of retries that looks like an attack, and your answer rate is not padded with calls that were never going to connect.

Nothing routed that you did not choose

A customer's call only rides the supply you assigned to that customer. If none of it can carry the call, the call is refused with a reason their switch can act on, never quietly sent somewhere you did not pick.

Marketplace and your own suppliers, one chain

A route bought on the marketplace sits in a route group beside your own supplier trunks, so new supply for a destination is one purchase away and fails over like everything else in the group.

The difference

Least-cost routing, done properly

The usual wayOn PacketExchange
Picking a routeA default supplier per destination, edited by hand when prices moveChosen per request by strategy, from the rate at the longest matching prefix
Country-wide ratesA cheap country rate can win traffic for ranges it was never priced forThe most specific prefix outranks a shorter one before price is compared
FailoverEvery failure retried everywhere, busy lines and refusals includedRetryable answers advance; busy, decline and authentication refusals stop the chain
Unpriced suppliersA missing rate reads as zero and wins the least-cost sortLeft out of the chain, with the reason recorded
A slow connectThe record shows the winning supplier and nothing elseOne row per candidate: tried, skipped with a reason, or not reached
Checking a numberPlace a real call and read the error codeRoute Trace shows the decision and every excluded supplier without dialling
Built for

Protect your margin

Buy at the lowest rate on offer at the moment of the call.

Ride out supplier outages

A dead route stops costing you completed, billable minutes.

Run mixed-quality traffic

Premium where the call must connect, standard where price wins.

Pricing

The routing decision is free

Smart Routing adds nothing to the price of a call or message. A smart-routed request is billed like any other: the rate of the route that carried it, at the prefix it matched, plus the platform fee of 2% of the carrier rate, capped at $0.001.

Route groups, dialplans, Route Trace and attempt records come with the Switch, whose plans are priced by concurrent calls and minutes switched. Termination is billed separately.

See all pricing
  • Rated at the matched prefix

    The rate deck row that won the match sets both the rate and the billing increment.

  • Failed attempts cost nothing

    However many suppliers a call tries first, it is billed once, when a leg connects.

  • Prepaid, from $5

    Top up by card or crypto from $5, or by bank wire from $100, and every call draws from the same balance.

Test API keys resolve the route and the rate exactly as live traffic does, then simulate the call, so no real call is placed and your balance is untouched.

Questions

Smart Routing, answered

Do I have to buy a route before Smart Routing can use it?

No. Every active public route on the marketplace is a candidate for a smart-routed API call. US voice is the exception: it needs a complete compliance profile and an approved purchase of the route.

What does best_quality rank on?

The answer rate stated on each listing, with price breaking ties. Balanced divides that answer rate by the price, so a route has to be good value on both, and a listing that states no answer rate is treated as 50%.

Which SIP responses trigger failover?

By default 404, 408, 484, 488, 500, 502, 503, 504 and 606 move the call to the next supplier in a route group. Busy (486, 600), decline (603) and no answer (480) end the call, and 401, 403 and 407 stop the chain and are logged as a supplier refusal. A group can set its own failover codes, and a supplier can override them where its codes mean something different.

Am I charged for attempts that fail?

No. Only a leg that connects is billed, so an attempt that fails or goes unanswered on the way costs nothing.

Can I still send over a specific route?

Yes. Pass routeId with a route you have bought and the request goes over that route, exactly as before. Smart Routing only applies when routeId is left out.

Does a single API call fail over between routes?

A smart-routed API call goes to the best route for that request. Sequential failover across several suppliers runs in route groups on the Switch, for traffic from your customers' trunks and from sub-account API keys.

How do I find out why a call went where it did?

Open the call record: the route attempts section lists every candidate in order, with the SIP answer, why the engine moved on or stopped, and which one carried the call. To ask the same question before a call is placed, run a Route Trace.

Does Smart Routing work for SMS?

Yes. The same three strategies pick SMS routes by the rate at the longest matching prefix, and the resolve preview accepts type=sms.

Put every call on the right route

Send a smart-routed call with one parameter today, or bring your suppliers to the Switch and build a route group with least-cost order and failover you can audit.