Skip to main content
An extension is an endpoint that registers: a desk phone, a softphone, or the browser. An agent signed in to the panel registers as their own extension automatically — see the phone in your browser. Extensions

The SIP password is shown once

When you create an extension its password is displayed exactly once, at that moment. The API never returns it again — not to you, not to an administrator, not to itself.
Copy it into the handset before closing the dialog. If it is lost, reset it — which issues a new one and requires the handset to be reconfigured.

Registering a phone

The extension’s page shows exactly what to type. It is worth knowing why there are two different names on it: The domain is the name this extension is known by; the server is the machine the phone talks to. They differ on purpose: every organisation has its own domain and they share the switch. The domain does not need a DNS record — nothing resolves it, and nothing connects to it.
So an extension’s full address is 911001@abc.firet.one, while the phone is still pointed at the node. Putting the domain in the server field is the commonest way to end up with a handset that never registers.
Put the domain in the phone’s domain / realm field, not the server’s address. A phone that presents the address can only be matched by its number, and when that number also exists in another organisation it is refused — the sign-in log says the handset gave the server’s IP as its domain.

A phone outside the office

Use TLS on port 5061 when the page lists it. Over 5060 the password exchange and the call audio travel across the internet unencrypted.
  • Server: the name shown on the page, not an IP — the phone checks the certificate against it. Never type in your website’s domain instead: if it sits behind Cloudflare, SIP never reaches the switch. If the page shows a warning that the name resolves elsewhere, tell your operator.
  • SRTP: optional or compulsory.
  • On the phone, turn on NAT traversal (rport) with a keep-alive of 20–30 seconds. On the site’s router, turn SIP ALG off.
If the page shows no TLS line, the node has no certificate for it; ask your operator.

The extension’s page

Each extension has a page of its own, opened from its number in the list; editing is a separate page behind Edit. The left column is what the switch says now and what the extension has done; the right is what an installer types into a phone, the settings as they stand, and the registrations that came and went. Registered devices and calls, live from the switch: every device registered as the extension, with its address and transport, what it calls itself, whether the switch can reach it and how fast, when its registration expires, and any call in progress. Above the devices is the agent on the extension and the Desk’s status for them, so “who is signed in here” and “which phones ring for them” are one view. A mobile app that can be woken by a push notification says so when it registers, in its Contact: the provider (fcm for Android, apns or apns.dev for iPhone), its push token and the app’s parameter. They are shown under the device, marked FCM push or APNs push; a desk phone shows no push. Tokens the app posted instead are listed under Can be woken by push, and every push sent for the extension under Recent pushes, with the provider’s answer and whether the device woke in time. See Mobile push for how the pushing is set up. Recent calls are the extension’s last ten, with a link to all of them; Conference sessions are the rooms it sat in, with its role; Past registrations are the devices that signed off or expired since the daemon started watching.

Where an extension dials from

A number typed without a + only means something if you know the country: 09216217231 is +919216217231 dialled from India and +619216217231 from Australia. The organisation sets that country. An extension can override it, which is for tenants whose agents sit in more than one place — leave it blank to inherit.
It restricts nothing else. An organisation may hold numbers and carriers in any country; this only decides how a partially-typed number is read.

Recording

Record calls on an extension records what that desk makes and takes. Recording is on if any level says so — organisation, team, extension, queue, trunk or process. A level can switch recording on; it cannot switch off a policy set above it.

An extension an AI answers

Choose An AI agent when creating one, and pick the profile that should answer. Nothing registers against that extension: dialling it opens a media stream to the model rather than ringing a device, so it has no handset settings and no Desk sign-in. See Virtual agents.

Several devices, one extension

An extension can be registered by more than one device at once. An inbound call rings all of them and the first to answer wins; the rest stop ringing.
FireTone keeps one registration per device, not one per extension. A phone that moves network re-registers rather than displacing a colleague’s.

Codecs

Both legs of a call should agree on a codec so the switch relays rather than transcodes. That difference is near-zero CPU against the most expensive thing the system does, and the fleet screen draws transcode capacity as its own bar for exactly that reason. An extension’s codec profile is what it may offer, first choice first. Every profile keeps G.711 behind its first choice, so a phone that cannot do the first choice still registers and still connects. Under the dropdown, one line says what the chosen profile actually offers. The packet size (ptime) beside it is a choice of 20, 30 or 40 ms — 20 is what nearly everything expects — and an extension can leave it to the organisation’s default. G.729, iLBC and G.726 are for SIP handsets. No browser speaks any of them, so a browser softphone on one of these profiles lands on the G.711 fallback — it works, but narrowband, and without Opus. Leave softphone extensions on Standard. Choosing one of these does not make calls cost more by itself: a handset on iLBC calling through a carrier that also lists iLBC is relayed untouched. It costs transcode capacity only when the two ends share no codec at all.

Choosing codecs one by one

A profile fits most phones. It does not fit one whose installer has narrowed its codec set to something the profile does not name — G.729 only, say, or G.722 — and that phone then shares no codec with what the switch offers it and every call fails at once with “no common codec”, conference rooms included. For that phone, open the extension and switch Codec to Choose codecs: tick what the phone speaks, in the order you want, exactly as a trunk’s codecs are chosen. The list replaces the profile for this extension and is what the phone is offered on every call. Clear it to go back to the profile. The daemon says in its log when a call fails for this reason, naming what the extension allows and what the phone offered.