OpenAI Voice Agent on a Jamaican Number: Connect the Realtime API to Your WOCOM Line
OpenAI's speech-to-speech models can now answer an ordinary phone call. There is no app for the caller to install and no browser in the middle: the call arrives over SIP, the same protocol your business phone system already uses, and the model listens and speaks in real time. For a Jamaica business that means a caller can dial your existing +1-876 number and talk to an OpenAI voice agent you have built.
OpenAI does not sell Jamaican phone numbers, and it does not connect to the public phone network on its own. That is the part WOCOM supplies. This guide explains how the pieces fit, what to set up on each side, and the requirements that catch people out.
What You Need Before You Start
- A WOCOM number on Cloud PBX or a SIP trunk. Existing numbers work; you do not need a new one.
- An OpenAI API project with billing enabled. Your project ID (it starts with
proj_) is under Settings → Project → General. - A small web service of your own that can receive a webhook and make an API call. OpenAI will not answer a SIP call until your code tells it to.
- Encryption on the trunk. OpenAI only accepts SIP over TLS on port 5061, with SRTP-encrypted audio. Ask WOCOM to confirm TLS and SRTP are enabled on your route before you test.
How the Call Flows
When someone dials your number, the call reaches the WOCOM network exactly as it does today. Instead of ringing a desk phone, WOCOM forwards it to OpenAI's SIP address for your project:
sip:proj_XXXXXXXX@sip.api.openai.com;transport=tls
OpenAI then sends a realtime.call.incoming event to the webhook you registered. The event carries a call_id and the SIP headers, including the caller's number. Your service replies by calling POST /v1/realtime/calls/{call_id}/accept with the model you want and its instructions: who it is, what the business does, what it may and may not say. Within a moment the caller hears the agent. If you would rather not take the call (outside a test window, or from a blocked number), your service calls /reject instead.
That webhook step is the main difference from most AI receptionist platforms. It gives you full control, because every call passes through your code first, but it also means OpenAI is a developer tool rather than a finished receptionist product.
Step 1: Set Up the OpenAI Side
- In your OpenAI project, open Settings → Project → Webhooks and add the URL of your service. Subscribe it to the
realtime.call.incomingevent and keep the signing secret, so your code can verify that each request really came from OpenAI. - Write the handler. On each event it should check the caller, then
acceptthe call with your model (for examplegpt-realtime-2.1) and your receptionist instructions. - Optionally, open a WebSocket to
wss://api.openai.com/v1/realtime?call_id=...to watch the conversation, run tools such as a booking lookup, and log transcripts.
If your business needs its data processed in Europe, OpenAI also publishes an EU address: sip-eu.api.openai.com.
Step 2: Ask WOCOM to Route Your Number
Send WOCOM support the following:
- The Jamaican number(s) you want answered by the AI, written in E.164 form (for example +1876XXXXXXX or +1658XXXXXXX).
- The platform's SIP address for inbound calls (shown below for this platform).
- Whether the AI also needs to place outbound calls, and from which number.
- Where calls should go if the AI hands a caller to a person: an extension, a ring group, or a mobile number.
For this platform the inbound address is sip:proj_XXXXXXXX@sip.api.openai.com;transport=tls, on TCP port 5061. OpenAI's SIP hosts are routed by location, so allow-listing is done by the addresses its DNS returns rather than one fixed IP. OpenAI publishes its media ranges (13.79.45.80/28, 23.98.140.64/28, 40.67.149.176/28 and 40.83.204.240/28), and WOCOM uses them to keep the audio path open.
Step 3: Handing a Caller to a Person
A good receptionist knows when to pass a call on. OpenAI supports this with SIP REFER: your service calls POST /v1/realtime/calls/{call_id}/refer with a target such as tel:+1876XXXXXXX or a SIP address on your WOCOM system. WOCOM then connects the caller to that extension, ring group or mobile, and the AI drops out of the call. Agree the transfer targets with WOCOM in advance, so REFER is allowed on your route and every target is reachable.
Outbound Calls
The Realtime API answers calls; it does not place them. OpenAI's newer GPT-Live API (gpt-live-1) can dial out over your own trunk. It sends the call to a sips: address on port 5061 with digest username and password, to a destination in E.164 form (+1876...). If you need appointment reminders or callbacks, WOCOM can issue trunk credentials for that. GPT-Live has its own webhook (live.transport.incoming) and endpoints, so build with one API or the other and make sure only one of them accepts each call.
What It Costs (November 2026)
OpenAI charges for the model, not for SIP. At the time of writing, gpt-realtime-2.1 was priced at US$32 per million audio input tokens and US$64 per million output tokens, the lighter gpt-realtime-mini at US$10 and US$20, and gpt-live-1 at US$0.05 per minute plus model usage. Your WOCOM call charges apply as normal. Prices change often, so check OpenAI's pricing page before you budget.
Common Problems
- The call never reaches OpenAI. The usual cause is plain SIP on port 5060. OpenAI only listens on TLS port 5061.
- The call connects but there is no audio. SRTP was not negotiated, or the media ranges above are being blocked.
- The call rings out. Your webhook did not answer, or it answered without calling
accept. Check your service logs first. - The agent does not know the caller's number. Read it from
sip_headersin the incoming event and include it in the instructions you pass toaccept.
Build It Yourself, or Use WOCOM AI?
Connecting OpenAI directly suits teams with a developer who wants complete control over prompts, tools and data. If you want a receptionist that already knows Jamaican place names, takes messages, transfers calls and emails you a summary without writing any code, WOCOM AI is included with Cloud PBX. Many businesses start there and build a custom agent later for one specific line.
For the wider picture of which platforms work with a Jamaican number, read our guide to connecting any AI receptionist. When you are ready to route a number, contact WOCOM and our team will set up the SIP side with you.
Continue exploring
Ready to upgrade your communications?
Talk to our team about the right solution for your business.
Book a Demo Contact SalesEverett Kildare is WOCOM's voice and infrastructure specialist, with more than 25 years of experience designing and running carrier-grade voice, SIP and virtualization infrastructure. Holding a BSc in Information Technology, he has built, secured and migrated phone systems for businesses of every size. Everett writes WOCOM's technical coverage of SIP trunking, cloud PBX, contact centres, business continuity and migration.