Markets open
A businessman on a phone call at a high-floor window, rooftop telecom antennas across the skyline
Voice

Voice termination,priced up front

Terminate calls on routes you pick yourself. The rate is shown before you dial, and each call is billed once, at hangup, from your balance.

A-Z terminationNumbers & originationIVR & call handling
In short

Place calls through one API on routes bought from carriers: A-Z termination with full-CLI, partial-CLI and NCLI tiers, inbound numbers with IVR, forwarding and voicemail, and least-cost or quality-first routing on every call.

Calls are billed when they end, at the route's per-minute rate and billing increment, and a retried request with an idempotency key is never placed twice.

What you can do

SIP termination

Outbound A-Z voice with Full-CLI, NCLI and partial-CLI tiers.

Inbound DIDs

Local, national, mobile and toll-free numbers.

IVR & call flows

Menus, forwarding, voicemail and business-hours rules, set by API or in the dashboard.

Smart Routing

Cheapest, best quality or balanced route chosen for each call.

T.38 fax

Routes that carry fax over IP are flagged, so you can pick one that does.

Idempotent requests

Send an idempotency key and a retried call request is never placed twice.

From signup to a completed call

Live in four steps

No sales call and no contract. Every step happens in your own dashboard or through the API, in whatever order suits your team.

  1. 01

    Fund the account

    Top up from $5 by card or crypto, or from $100 by bank wire. Building first? Test API keys run simulated calls against $50 of sandbox credit, so no real call is placed and no real money moves.

  2. 02

    Choose the route

    Compare routes to your destination by rate per minute, quality tier, caller ID handling and billing increment before you buy. Or leave the choice to Smart Routing on every call.

  3. 03

    Place the call

    Send one POST to /comms/calls with the number, your caller ID and either a route or a routing strategy. Running your own switch? The SIP credentials issued with a route work with it as it is.

  4. 04

    Read what happened

    The response carries the status, SIP code, hangup cause, talk time, billed seconds and cost. A call.completed webhook fires too, and the call record is written to your account.

Priced before, settled after

The rate up front, the cost to the last decimal

Every route carries its per-minute rate and billing increment, so the price of a call is known arithmetic before anyone picks up. When the call starts, funds for its maximum length are held. At hangup it is billed on the seconds its increment counts, and the unused part of the hold goes straight back to your balance. The result arrives in the same response: status, SIP code, billed seconds and the exact charge, carried to six decimal places.

  • Billing increments stated per route: 1/1, 6/6, 30/6 or 60/60
  • A call that never connects is not charged
  • Talk time and billed seconds recorded separately, so rounding is always visible
  • The maximum call length is capped at what your balance can cover
API callExample
POST /api/v1/comms/callsAnswered, SIP 200
To
+44 7700 900123
Caller ID
+44 7700 900456
Route
United Kingdom, Direct
Caller ID handling
Full CLI
Rate $0.0120/minBilling 6/6Max length 300 s
Talk time
2:14
answered call
Billed
138s
on the 6/6 increment
Charged
$0.028152
from your balance
Route cost138 s at $0.0120/min
$0.027600
Platform fee2% of route cost, capped at $0.001
$0.000552
Total charged
$0.028152
API call to +44 7700 900123
14 Sep 2026, 10:42
-$0.028152

$0.061000 held at dial for the 300 s maximum. $0.032848 returned at hangup.

Caller ID, stated per route

Choose the caller ID handling before you pay for it

Whether the person you call sees your number is decided by the route, so every voice route says so up front. Full CLI keeps your caller ID intact, Partial CLI keeps only some digits, and NCLI does not preserve it, usually at the lowest price. The quality tier, billing increment, channel capacity and T.38 fax support sit beside the rate, so a support line, a sales team and a notification run can each buy exactly what they need and nothing they do not.

  • Direct, premium, standard and NCLI tiers on every listing
  • Routes that carry T.38 fax over IP are flagged
  • Rate decks priced by prefix, matched to the longest prefix of the number dialled
  • See what really arrives with a Caller ID test before traffic goes on
Route marketplaceExample
United Kingdom
Voice routes, highest tier first
4 routes
  • DirectFull CLIYour route
    6/6 billing240 channels
    $0.012
    per minute
  • PremiumFull CLI
    60/60 billing180 channelsT.38 fax
    $0.0104
    per minute
  • StandardPartial CLI
    30/6 billing400 channels
    $0.0079
    per minute
  • NCLINCLI
    60/60 billing600 channels
    $0.0058
    per minute
Full CLI:
your caller ID arrives intact
Partial CLI:
some digits are kept, the rest replaced
NCLI:
your caller ID is not preserved
Inbound numbers

Numbers that answer like a business

Calls coming in deserve the same care as calls going out. Buy local, national and mobile numbers, and toll-free where available, on the same account, then decide what happens when one rings: a menu that routes callers by keypress, destinations that ring in order or all at once, opening hours with holidays, and voicemail when nobody can pick up. Deliver each call to your SIP server, a hosted softphone login or any phone.

  • Menus on any key from 0 to 9, star or hash, with the wait and repeats you set
  • Weekly opening hours per number, a holiday list and a rule for outside hours
  • Voicemail and call recording, played back from the dashboard
  • Present the same numbers as caller IDs on outbound campaigns
Phone numberExample
+44 7700 900456
United Kingdom, Mobile
Active

Menu (IVR)

Greeting: main menu
  • Press 1SalesSIP server 203.0.113.10
  • Press 2SupportForward to +44 7700 900789
  • Press 0VoicemailGreeting: after hours

Waits 7 seconds for a key, then repeats the menu up to twice.

Business hours

Europe/London
Mon-Fri
09:00-18:00
Saturday
10:00-14:00
Sunday
Closed
Holidays
25 Dec, 26 Dec

Outside hours Voicemail

Voicemail

New messages2
One request

Send the first one in a minute

No onboarding call and no waiting for an account manager. Create an account, take your API key and post to the endpoint below, the same one that carries live traffic. Test keys let you try it without sending a real message or call.

place-call.sh
one request
curl https://packetexchange.io/api/v1/comms/calls \
  -H "Authorization: Bearer $PE_KEY" \
  -d to="+447700900123" \
  -d from="+447700900456" \
  -d strategy="best_quality"   # Smart Routing
REST API + MCPrated per call · ledger-verified
What the voice platform does

Built for traffic that has to connect

The details that decide whether a voice integration survives production: what a retry does, how a call is rated, which numbers are refused, and what you can read back afterwards.

One request per call

POST /comms/calls places the call and returns when it ends, with status, SIP code, hangup cause, billed seconds and cost in the response. Subscribe to call.completed to receive the same result by webhook.

Three routing strategies

cheapest ranks by rate, best_quality ranks by answer rate with price as the tiebreak, and balanced weighs quality against cost. The most specific prefix wins first, or pin a routeId to use one route.

Caller ID handling per route

Full CLI, Partial CLI or NCLI is stated on every voice route next to its quality tier, so what the called party sees is a choice you make, not a surprise you discover.

Increments you can see

Each route bills on its own increment: 1/1, 6/6, 30/6 or 60/60. Every result returns talk time and billed seconds side by side, so a rounded charge always explains itself.

Retries that never double-dial

Send an X-Idempotency-Key and a repeated request replays the original response instead of placing a second call. Reuse a key with a different body and it is refused; a request still running returns a conflict.

Rates by destination

Routes priced with a rate deck are rated at the longest prefix that matches the number you dial. If the deck does not cover a number, the call is refused rather than billed at a headline price.

Checks before the dial

Numbers on your do-not-call list or the platform-wide list, and destinations under embargo, are refused before routing or billing. Origination is capped at 10 call requests a second per credential.

A sandbox that behaves like live

Test keys run the same routing and rating checks as live traffic, then simulate the call and charge sandbox credit only. Your integration sees real response shapes without a real call.

Why PacketExchange

Carrier routes, chosen by you

A typical voice API quotes one price per country and picks the carrier behind it. Here you see every route to a destination, decide which one carries your traffic, and pay the rate it is listed at.

Keep the margin

You pay the route's own rate plus a platform fee of 2% of that cost, capped at $0.001 per call. On a short call to a low-cost destination, the fee is a fraction of a tenth of a cent.

Control on every call

Pin the exact route for one call and let Smart Routing choose for the next. Pick the caller ID handling, quality tier and billing increment that suit each kind of traffic you run.

Minutes to the first call

Open an account, fund it from $5 and place a call through the API in the same sitting. Routes you buy come with SIP credentials, so your switch can send traffic straight away.

One balance for everything

Termination, phone numbers, SMS, dialer campaigns and AI voice agents all draw on the same prepaid balance, with one login and one ledger to reconcile.

Before and after

What changes when voice runs on the exchange

The same job, done the way most teams buy voice today, and the way it runs here.

The usual wayOn PacketExchange
Route choiceOne price per country, with the carrier behind it chosen for you.Every route listed with its tier, caller ID handling, rate and increment. Pin one, or let Smart Routing choose per call.
Caller IDAssumed to arrive intact until answer rates say otherwise.Full CLI, Partial CLI or NCLI stated on the route, with a real handset test available before traffic goes on.
RoundingPer-minute billing, with the rounding rules in the small print.The increment shown on the route, with talk time and billed seconds returned for every call.
RetriesA timeout followed by a retry can place the same call twice.An idempotency key replays the first response, so a retried request never dials again.
InboundNumbers, IVR and voicemail from another vendor, on another bill.Numbers with menus, opening hours, voicemail and recording on the same account and balance.
CommitmentA contract or monthly minimum before production traffic.Prepaid from $5 by card or crypto, with no monthly platform fee and no minimum spend.
Built for

IVR & call routing

Inbound menus, forwarding and out-of-hours voicemail.

Calling from your product

Place a call from your backend with one request.

Contact-centre trunks

Carrier voice for support and sales.

Pricing

The route's rate, one capped fee

A call is billed at the rate of the route that carried it, on that route's billing increment, plus a platform fee of 2% of the carrier cost, capped at $0.001 per call. Calls that do not connect are not charged.

Traffic from your own switch over a SIP trunk carries a 0.5% fee instead, capped at the same $0.001. Phone numbers are priced separately, with a setup fee and a flat monthly price shown before you buy.

See wholesale pricing
  • Route rate per minute

    Set by the carrier that listed the route, shown before you buy, and rated on the route's own increment.

  • Platform fee

    2% of the carrier cost through the API or dialer, 0.5% over your own SIP trunk, never more than $0.001 per call.

  • Prepaid balance

    Top up from $5 by card or crypto, or from $100 by bank wire. Each call holds only what its maximum length could cost.

  • Phone numbers

    A setup fee and a flat monthly price per number, drawn from the same balance, with auto-renew you control.

No monthly platform fee, no minimum spend, and nothing charged for a call that never connects.

Questions

Voice, answered

Do I need my own switch to place calls?

No. The calls API originates the call for you and returns the result when it ends. If you already run a softswitch or SBC, buy a route and point your switch at it with the SIP credentials that come with the purchase.

How do I know what caller ID the person I call will see?

Every voice route states its caller ID handling: Full CLI passes your number intact, Partial CLI keeps some digits and NCLI does not preserve it. To confirm what actually arrives, run a Caller ID test, which places a real call to a handset in the destination country.

What happens if my request times out and my code retries it?

Send an X-Idempotency-Key header. A retry with the same key and body replays the original response instead of placing a new call, and a retry that arrives while the first request is still running is told so rather than dialling again.

How exactly is a call billed?

Talk time is rounded by the route's billing increment and multiplied by its per-minute rate, then a platform fee of 2% of that cost is added, capped at $0.001. Funds for the call's maximum length are held when it starts, and the unused part is returned at hangup.

Which routing strategy should I use?

Use cheapest when price decides, best_quality when the call has to connect, and balanced, the default, when you want the most quality for the cost. Each ranks only routes that serve the number, most specific prefix first. Pass a routeId to skip the choice.

Can I test my integration without spending money?

Yes. Test API keys run the same routing and rating checks as live keys, then simulate the call and charge sandbox credit instead of your balance. An invite code adds $50 of sandbox credit.

Can I receive calls as well as make them?

Yes. Buy numbers and route each one to a SIP server, a hosted softphone login or any phone, ringing destinations in order or all at once, with menus, opening hours, voicemail and call recording available on every number.

Are there numbers you will not call?

Destinations under comprehensive embargo are refused, and so is any number on your own do-not-call list or the platform-wide list. Both checks run before routing, so a refused call is never billed.

Put your first call through today

Open a free account, fund it from $5 and place a call on a route you chose, with its rate and caller ID handling known before it rings.