Region

Europe

Serving

The first region, and the anchor for Europe, Africa and the Middle East. Everything else was brought up against what this one proved.

What runs here

SIP edge eu.sip.telenaas.com Kamailio signalling only
Media plane media-eu.telenaas.com mediasoup no transcoding
Serves Europe, Africa, the Middle East

Emergency calling

AE no provider yet GB no provider yet IE no provider yet SA no provider yet

Recognising an emergency number is not the same as reaching a dispatcher. Where no certified provider is contracted, the call is refused with a reason rather than attempted and lost.

Region

Africa

Served from Europe

African traffic is anchored in Europe, and that is a decision rather than an oversight. Egress to Africa is billed at several times the European rate and infrastructure there is thin, so the trade is tens of milliseconds against a large multiple on every gigabyte.

What runs here

SIP edge eu.sip.telenaas.com Kamailio signalling only
Media plane media-eu.telenaas.com mediasoup no transcoding
Serves Africa

Emergency calling

EG no provider yet KE no provider yet NG no provider yet ZA no provider yet

Recognising an emergency number is not the same as reaching a dispatcher. Where no certified provider is contracted, the call is refused with a reason rather than attempted and lost.

Region

Asia

Planned

Configured and not yet serving. The hosts below are reserved; until the region is turned on, traffic for Asia is anchored in the nearest healthy one.

What runs here

SIP edge as.sip.telenaas.com Kamailio signalling only
Media plane media-as.telenaas.com mediasoup no transcoding
Serves Asia, Oceania

Emergency calling

AU no provider yet CN no provider yet IN no provider yet JP no provider yet NZ no provider yet SG no provider yet

Recognising an emergency number is not the same as reaching a dispatcher. Where no certified provider is contracted, the call is refused with a reason rather than attempted and lost.

Region

North America

Planned

Configured and not yet serving. The hosts below are reserved; until the region is turned on, traffic for North America is anchored in the nearest healthy one.

What runs here

SIP edge na.sip.telenaas.com Kamailio signalling only
Media plane media-na.telenaas.com mediasoup no transcoding
Serves North America

Emergency calling

CA no provider yet MX no provider yet US no provider yet

Recognising an emergency number is not the same as reaching a dispatcher. Where no certified provider is contracted, the call is refused with a reason rather than attempted and lost.

Region

Latin America

Planned

Configured and not yet serving. The hosts below are reserved; until the region is turned on, traffic for Latin America is anchored in the nearest healthy one.

What runs here

SIP edge la.sip.telenaas.com Kamailio signalling only
Media plane media-la.telenaas.com mediasoup no transcoding
Serves Latin America

Emergency calling

BR no provider yet

Recognising an emergency number is not the same as reaching a dispatcher. Where no certified provider is contracted, the call is refused with a reason rather than attempted and lost.

Telenaas API

Seven products on one platform. Authenticate with Authorization: Bearer <key> and use the path prefix of the product you want. Create a key in the console, under Developers.

One prefix per product

A URL says which product it belongs to, and so does the name of every agent tool. /api/v1/telechat/… and telenaas_telechat_* are the same product reached two ways, and a key scoped to one product cannot wander into another.

Scopes are checked on reads too

A key is deliberately narrower than a person's membership. One scoped to meetings cannot read the call history, even though both belong to the same tenant. Every route below names the scope it needs.

Repeating a request is safe

Send an Idempotency-Key header on anything that writes. Repeating the request with the same key returns the first response instead of doing the work twice, which is what makes retrying after a timeout safe.

TeleCall

One-to-one audio, in the app.

Personal Business

A call between two people over WebRTC, with nothing in the middle. Audio only and direct, so it costs a fraction of a video room and connects in well under a second.

For business: Put a call button in your marketplace, your app or your listing, so a buyer reaches a seller without either of them giving out a number.

Endpoints

Method Path What it does Scope
GET /api/v1/telecall/calls List TeleCall calls

In-app audio calls this key can see, most recent first.

voice:read
POST /api/v1/telecall/calls Place an in-app call

Rings another account over WebRTC. No number is dialled and no carrier is involved, so there is no per-minute charge; pass `to_user_id`. For a call to a telephone, use TeleVoip instead.

voice:call

Agent tools

Tool What it does Scope
telenaas_telecall_place needs approval Ring another account over the app. No number is dialled and no carrier is involved; for a telephone, use telenaas_televoip_call_place. voice:call
telenaas_telecall_history In-app calls this person was in. Not the telephone log. voice:read

TeleMeet

Video meetings, four people to four hundred.

Personal Business

Scheduled or instant, with a waiting room, screen sharing, dial-in by telephone and the AI agents beside it. Only the active speakers are forwarded, which is what makes a large room affordable rather than theoretical.

For business: Branded rooms, your own domain, service levels, and a room size that matches the town hall rather than the stand-up.

Endpoints

Method Path What it does Scope
GET /api/v1/telemeet/meetings List meetings

Meetings for this tenant, most recent first.

meeting:read
POST /api/v1/telemeet/meetings Create a meeting

Room size is capped by the tenant's plan. Asking for more is refused rather than quietly reduced.

meeting:manage
GET /api/v1/telemeet/meetings/{id} Get a meeting

One meeting, with its join code and dial-in PIN.

meeting:read
DELETE /api/v1/telemeet/meetings/{id} Cancel a meeting

Marks it cancelled. Anyone already in the room is not thrown out.

meeting:manage

Agent tools

Tool What it does Scope
telenaas_telemeet_create needs approval Schedule a meeting and return its join code. meeting:manage
telenaas_telemeet_list List meetings for this tenant. meeting:read
telenaas_telemeet_invite_link The link and dial-in PIN for a meeting, to send to somebody outside. meeting:read

TeleDemo

Show the thing, live.

Business

A public room where somebody demonstrates a product in real time and anybody can walk in from a link — no account, no application. Viewers ask questions beside the video, and the presenter can take one of them on camera.

For business: A live shop window. Run a demo from a product page, a marketplace listing or a campaign, and let anybody who is curious watch it happen.

Endpoints

Method Path What it does Scope
DELETE /api/v1/teledemo/demos/{id}/live End a demo

Closes the room. The recording, if there was one, still has to be claimed.

demo:host
POST /api/v1/teledemo/demos/{id}/live Go live

Opens the room and tells everybody watching the directory that it has started.

demo:host
GET /api/v1/teledemo/demos/{id} Get a demo

One demo, with its audience count.

demo:read
GET /api/v1/teledemo/requests Demo requests

People who asked for a demonstration and have not had one yet.

demo:read
GET /api/v1/teledemo/demos/{id}/questions Questions asked

The audience's questions, most upvoted first, with the answers given.

demo:read
GET /api/v1/teledemo/demos List demos

Scheduled, live and finished product demonstrations.

demo:read
POST /api/v1/teledemo/demos Schedule a demo

Creates the demo and its public page. Viewers join by slug and need no account; a demo is a broadcast with a question queue, not a meeting everybody talks in.

demo:host

Agent tools

Tool What it does Scope
telenaas_teledemo_schedule needs approval Schedule a live product demonstration and return its public link. Viewers need no account. demo:host
telenaas_teledemo_list Demos in this tenant: scheduled, live and finished. demo:read
telenaas_teledemo_go_live needs approval Open the room for a demo and announce it to everybody watching the directory. demo:host
telenaas_teledemo_questions What the audience asked, most upvoted first — the useful thing to summarise after a demo. demo:read

TeleVoip

Real numbers on the real telephone network.

Personal Business

Numbers, inbound and outbound calls, queues and emergency calling. The part that reaches somebody who has never heard of us and is holding an ordinary telephone.

For business: Numbers per country, call centre queues, recording where the law allows it, and emergency calling handled properly.

Endpoints

Method Path What it does Scope
POST /api/v1/televoip/numbers/{id}/assign Assign a number

Give a number to a person in this tenant, or to a TeleAssistant so that it answers instead.

number:assign
GET /api/v1/televoip/calls List calls

Telephone call history for this tenant.

voice:read
POST /api/v1/televoip/calls Place a call

An emergency number takes a different path: never billed, never rate-limited, and refused outright if there is no dispatchable location.

voice:call
GET /api/v1/televoip/numbers List numbers

Numbers this tenant holds.

number:read

Agent tools

Tool What it does Scope
telenaas_televoip_call_place needs approval Place a call. Emergency numbers require an address on file. voice:call
telenaas_televoip_call_history Recent calls for this tenant. voice:read
telenaas_televoip_number_list Phone numbers this tenant holds. number:read
telenaas_televoip_number_request Ask for a phone number on behalf of the person this key acts for. number:request

TeleChat

Live chat, between anybody.

Personal Business

Conversations with presence, typing, replies and announcements. Message bodies are encrypted per organisation, so the platform carries them without being able to read them.

For business: Drop the widget into your website and a visitor is talking to your team in one line of script — the same conversation your staff already answer in the console.

Endpoints

Method Path What it does Scope
GET /api/v1/telechat/attachments/{id} Fetch a file

A short-lived download link for a file message: the provider's own when it can sign one, ours otherwise.

chat:read
GET /api/v1/telechat/widgets List chat widgets

The website widgets this tenant has, with their public keys and allowed origins.

chat:read
POST /api/v1/telechat/widgets Create a chat widget

Returns a public key for the `<script>` tag. The key is not a secret — `allowed_origins` is what keeps the widget to your own sites, and an empty list refuses every origin.

chat:moderate
GET /api/v1/telechat/conversations/{id}/archive Archived days

Days moved out of the hot window into the organisation's storage, newest first.

chat:read
GET /api/v1/telechat/conversations List conversations

Chat threads this key can see, including those started from a website widget.

chat:read
POST /api/v1/telechat/conversations/{id}/attachments Send a file

Multipart `file`, or JSON `name` and base64 `data`. Stored in the organisation's own storage; the message carries only the name and a reference.

chat:write
POST /api/v1/telechat/conversations/direct Start a direct conversation

Between the calling person and `user_id`; reuses the existing one.

chat:write
GET /api/v1/telechat/conversations/{id}/messages Read recent messages

The hot window, newest last, decrypted for the caller. Older days are in the archive.

chat:read
POST /api/v1/telechat/conversations/{id}/messages Send a message

Posts into a conversation. Bodies are encrypted at rest per tenant.

chat:write
GET /api/v1/telechat/conversations/{id}/archive/{day} Read an archived day

The messages of one archived day, fetched from the organisation's storage and decrypted for the caller.

chat:read

Agent tools

Tool What it does Scope
telenaas_telechat_message_send Send a message to a conversation. chat:write
telenaas_telechat_conversation_list Conversations visible to this key. chat:read
telenaas_telechat_message_list Recent messages of a conversation, oldest first, decrypted for this key. chat:read
telenaas_telechat_direct_start Start (or find) the direct conversation with a person. chat:write
telenaas_telechat_widget_list The website chat widgets this tenant has, with the origins each one is allowed to load from. chat:read

TeleDesk

A help desk that knows about the call.

Business

Tickets, queues with real routing rules, service levels computed from timestamps rather than tracked by a flag, and a knowledge base that knows what may be sent to a customer and what may not.

For business: One thread per problem, whether it started on the telephone, in chat or in a meeting.

Endpoints

Method Path What it does Scope
GET /api/v1/teledesk/knowledge Search the knowledge base

Pass `audience=public` to get only articles that may be sent to a customer.

helpdesk:read
GET /api/v1/teledesk/tickets/{id} Get a ticket

With its messages. Internal notes are included only for a key holding helpdesk:respond.

helpdesk:read
POST /api/v1/teledesk/tickets/{id}/replies Reply to a ticket

Set `internal` to true for a note to colleagues, which is not sent to the requester.

helpdesk:respond
GET /api/v1/teledesk/tickets List tickets

Help desk tickets for this tenant.

helpdesk:read
POST /api/v1/teledesk/tickets Open a ticket

Routed to a queue by the same rules a ticket opened by a person would be.

helpdesk:respond

Agent tools

Tool What it does Scope
telenaas_teledesk_ticket_open Open a help desk ticket. Routed to a queue by the same rules a person's would be. helpdesk:respond
telenaas_teledesk_ticket_list Tickets in this tenant, newest first. helpdesk:read
telenaas_teledesk_ticket_reply needs approval Reply to a ticket. An internal note is not sent to the person who raised it. helpdesk:respond
telenaas_teledesk_knowledge_search Search the knowledge base. Ask for audience 'public' to get only what may be sent to a customer. helpdesk:read

TeleAssistant

What answers when you cannot.

Personal Business

A virtual assistant in front of a TeleVoip number: a greeting, a menu, voicemail, out-of-hours handling, and an agent that can take a message or route the call.

For business: Per number, per queue, per time of day — with the AI agents transcribing the voicemail and telling you what it was about.

Endpoints

Method Path What it does Scope
GET /api/v1/teleassistant/assistants List assistants

The assistants in this tenant and the numbers they answer.

assistant:read
POST /api/v1/teleassistant/assistants Create an assistant

A greeting, business hours, and what to do outside them: take a message, offer a menu, forward, or hand over to an AI agent.

assistant:manage
GET /api/v1/teleassistant/voicemails List voicemails

Who called, when, and the transcript. The audio is not here: like every recording, it is delivered to a device or to Burmeel Storage and never kept in our database.

assistant:read
GET /api/v1/teleassistant/assistants/{id} Get an assistant

One assistant, with its menu and its schedule.

assistant:read

Agent tools

Tool What it does Scope
telenaas_teleassistant_list Assistants in this tenant: what they answer, and what they do out of hours. assistant:read
telenaas_teleassistant_voicemails Messages left for this tenant, with transcripts. The audio is not here and never was: recordings leave to a device or to Burmeel Storage, and are not kept. assistant:read

Platform

What belongs to no single product: what a key can reach, what it has used, what it has been told, and the automations that wire the products together.

Endpoints

Method Path What it does Scope
GET /api/v1/assistants/plan/{number} An assistant's plan for a dialled number

Infrastructure token. What the assistant in front of this number wants done with an incoming call: the greeting, the action, the forward or the menu. 404 with `no_assistant` means ring it normally.

infrastructure token
GET /api/v1/audit Audit ledger

Hash-chained, append-only, and readable here.

audit:read
POST /api/v1/calls/events A call event from the switch

Infrastructure token. `started`, `answered` or `ended`, keyed on the switch's own call id. This is what turns a call into a record with a duration and a cost.

infrastructure token
GET /api/v1/emergency/route/{number} Emergency routing

Where an emergency call from this number goes, and with what address.

infrastructure token
GET /api/v1/meetings/by-pin/{pin} Resolve a dial-in PIN

Used by the telephony switch. Authenticated with the infrastructure token, not an API key.

infrastructure token
POST /api/v1/meetings/{id}/phone-legs Join a meeting by telephone

Used by the conference bridge. Admits a caller and answers with the RTP addresses for their leg, or 202 when the host has not admitted them yet.

infrastructure token
DELETE /api/v1/meetings/{id}/phone-legs/{participant_id} End a telephone leg

Releases the media node's ports when the caller hangs up.

infrastructure token
GET /api/v1/products The product line

The seven products, what each one is for, which tiers it has, and which of them this tenant's plan actually includes. Read this rather than hard-coding the list.

tenant:read
GET /api/v1/realtime/ice ICE servers

STUN, plus a TURN credential minted for this request and valid for an hour. Fetch these per session rather than caching them: WebRTC that works in an office and fails on a phone is almost always a missing relay, and a stale credential fails the same way.

meeting:read
GET /api/v1/realtime/rooms/{room} Open an SFU room

Opens the room for one of this tenant's meetings on the media plane and returns the router's RTP capabilities — the first step of the mediasoup handshake. `room` is the meeting id; a meeting belonging to another tenant answers 404 exactly as a made-up id does. Signalling continues over the media socket. If no media plane is configured this answers 200 with `sfu: false`, so a caller can fall back to mesh instead of waiting.

meeting:manage
POST /api/v1/realtime/socket-token Mint a socket token

A two-minute token that opens the signalling socket at /media/socket in place of the API key, so the key never appears in a WebSocket URL, a proxy log or a browser history. Pass it as the `token` connect parameter.

meeting:read
GET /api/v1/status Platform status

What this key can reach, and whether the platform is healthy.

tenant:read
GET /api/v1/storage Where files and history live

The organisation's storage plane: Burmeel by default, or its own Amazon S3, Google Cloud Storage, Azure Blob or S3-compatible bucket. Never returns credentials.

tenant:read
PUT /api/v1/storage Choose the storage

`provider` (burmeel, s3, gcs, azure), `bucket`, `endpoint`, `region`, `account`, `prefix`, `key_id`, `secret`. Credentials are encrypted under the organisation's own key and only replaced when supplied.

tenant:manage
POST /api/v1/storage/verify Check the storage

Writes, reads back and deletes a probe object with the configured credentials.

tenant:manage
GET /api/v1/usage Usage

Metered usage for the current billing period.

billing:read
GET /api/v1/webhooks List webhook endpoints

Where we send events.

developer:read
POST /api/v1/webhooks Add a webhook endpoint

Returns the signing secret once. The timestamp is inside the signature, so a captured delivery cannot be replayed later.

developer:manage
GET /api/v1/webhooks/deliveries Delivery history

So "it never arrived" has an answer.

developer:read
GET /api/v1/workflow-runs Automation history

Every run, with the steps it took and the ones it was denied.

automation:read
GET /api/v1/workflows List automations

What runs on its own in this tenant.

automation:read
POST /mcp Model Context Protocol

A JSON-RPC dispatcher for agents. Tools are named for the product they belong to; each enforces its own permission, so an agent can never reach further than a REST client holding the same key.

any authenticated key

Agent tools

Tool What it does Scope
telenaas_storage_describe Where this organisation's files and chat history are stored. tenant:read
telenaas_usage_summary What this tenant has used and what it costs. billing:read
telenaas_audit_search Read the audit ledger. audit:read
telenaas_automation_list Automations in this tenant and whether they are running. automation:read
telenaas_automation_dry_run Test an automation against events that already happened. Nothing is performed. automation:read
telenaas_products The seven products, and which of them this key can actually reach. Read this before guessing a tool name. tenant:read
telenaas_platform_health Whether each part of the platform is answering. tenant:read

Dimmed languages set the page direction; their interface is still in English.