Programmable Voice — SIP Trunking and Call Control
Build voice applications with carrier-grade SIP trunking, call control APIs, STIR/SHAKEN attestation, and global PSTN connectivity.
Key benefits
Ultra-low latency
Sub-200ms call setup times globally with media anchored close to your users across 20+ PoPs worldwide.
STIR/SHAKEN attestation
Full A, B, and C attestation support to ensure your calls reach their destination and display correctly.
Global PSTN connectivity
Reach any phone number in 160+ countries via our direct carrier interconnects and peering agreements.
WebRTC support
Embed browser-based calling directly into your web or mobile app with our WebRTC SDK.
Call recording
Record inbound and outbound calls with dual-channel audio, automatic transcription, and secure storage.
Programmable IVR
Build sophisticated call trees, menus, and routing logic using CloudVNO Markup Language or REST webhooks.
How it works
Get a phone number
Provision a DID, toll-free, or SIP trunk endpoint via API or dashboard. Active within seconds in 160+ countries.
Make or receive calls via REST
POST to /v1/calls to initiate outbound calls, or configure a webhook URL to handle inbound calls as they arrive.
Handle with webhooks
CloudVNO calls your webhook for each call event — answer, DTMF, recording complete — letting you drive call logic in real time.
Code example
from cloudvno import Client
client = Client("YOUR_API_KEY")
# Initiate an outbound call
call = client.calls.create(
from_="+14155551234", # Your CloudVNO number
to="+12125559876",
url="https://yourapp.com/webhooks/voice", # TwiML or CloudVNO Markup
)
print(f"Call SID: {call.sid}")
print(f"Status: {call.status}") # initiated → ringing → in-progress → completed
# Retrieve call details
call = client.calls.get(call.sid)
print(f"Duration: {call.duration}s")
print(f"Direction: {call.direction}")Features
Pricing
See full pricing →Pay as you go. No minimums. No contracts. Volume discounts available.
Get started in 5 minutes
Sign up free and start building with CloudVNO. No credit card required.