How to Configure a SIP Extension in Issabel
Step-by-step for Issabel administrators: add an extension under PBX > PBX Configuration > Extensions, set the secret, codecs, DTMF and NAT options, apply the configuration, and check that a phone registers.
Published 8 November 2026 · Updated 9 November 2026 · 6 min read · By SpaGreen Creative
Short answer
In the Issabel panel, go to PBX > PBX Configuration > Extensions, add a generic SIP or PJSIP device, set the User Extension, Display Name and secret, choose rfc2833 for DTMF and nat=yes for remote phones, submit, then click Apply Config. Check the SIP port and codecs under Asterisk SIP Settings.
To add a SIP extension in Issabel, sign in to the web panel, open PBX > PBX Configuration > Extensions, add a generic SIP (chan_sip) or PJSIP device, set the User Extension, Display Name and secret, choose rfc2833 for DTMF and yes for NAT if the phone is remote, submit, and click Apply Config. Then check the SIP port and codecs under Asterisk SIP Settings, open the firewall for SIP and RTP, and register a phone to confirm. This tutorial is written from the PBX administrator's side. For entering the extension in SIPdia, see How to configure SIPdia with Issabel.
Issabel is an open source PBX distribution built on Asterisk. Its PBX pages are a web front end that writes Asterisk configuration for you, so the fields below map directly onto Asterisk options. Menu wording can differ slightly between Issabel 4 and 5.
Before you start
- Administrator access to the Issabel web panel.
- A plan for extension numbers (for example 1001 to 1099) that does not collide with feature codes or outside numbers.
- A password manager or secure note for the secrets. Each extension gets a long random secret.
Step 1: Choose the channel driver
Asterisk has two SIP drivers. chan_sip is the older one and usually listens on UDP 5060. PJSIP is the current one and, on Issabel 5, may be bound to a different port. Before you create extensions, open PBX > PBX Configuration > Asterisk SIP Settings and note:
- which driver is enabled;
- the port and bind address for each driver;
- the RTP port range (Asterisk's default is UDP 10000 to 20000);
- the NAT settings: external IP and local networks.
Pick one driver for all new extensions. Mixing them works but makes troubleshooting harder. See common SIP ports for what the usual numbers mean.
Step 2: Add the extension
- Go to PBX > PBX Configuration > Extensions.
- In the device list, choose Generic SIP Device for chan_sip or the PJSIP device option if your installation offers it, then click Submit.
- Fill in the Add Extension form:
- User Extension: the number phones will dial, for example
1001. - Display Name: the caller ID name shown on internal calls.
- Outbound CID: optional; the caller ID for external calls if a trunk allows it.
- User Extension: the number phones will dial, for example
- In the Device Options section:
- secret: keep the generated value or set a long random one. This is the password the phone uses.
- dtmfmode:
rfc2833. Phones then send keypad digits as RTP events (RFC 4733), which nearly all modern softphones support. - nat:
yesif the phone connects from another network, including over a VPN.nois fine for phones on the same LAN. With PJSIP the equivalent options are Force rport, Rewrite Contact and RTP Symmetric, all set to yes. - disallow and allow: set
disallow=allandallow=ulaw,alaw(addopusif your Issabel version includes the codec). Leave these empty to inherit the global list. - qualify:
yes, so Asterisk pings the phone and the status page shows whether it is reachable.
- In the Voicemail section, set the status to Enabled and give the box a numeric PIN if the user needs voicemail.
- Click Submit.
- Click the Apply Config bar that appears at the top. Issabel now writes the Asterisk files and reloads.
Apply Config
Everything on the PBX pages is stored in a database first. Asterisk learns about it only after Apply Config. If a phone cannot register right after you create an extension, this is the first thing to check.
Step 3: Check codecs and the global SIP settings
Return to PBX > PBX Configuration > Asterisk SIP Settings:
- Under codecs, make sure
ulaworalawis enabled. G.711 is the most widely supported codec and the usual common baseline for SIP phones. Enableopustoo if offered and your phones support it. - Under NAT settings, enter the server's external address if phones connect from outside, and list every internal subnet as a local network. Without this, Asterisk puts a private address in its SIP messages and remote phones get one-way audio.
- Leave the RTP range at 10000 to 20000 unless you have a reason to change it, and note it for the firewall.
Click Submit and Apply Config again if you changed anything.
Step 4: Open the firewall
If the Issabel firewall is active under Security > Firewall, or if a router sits between the phones and the server, allow:
| Traffic | Protocol and port |
|---|---|
| SIP signalling (chan_sip) | UDP 5060 |
| SIP signalling (PJSIP) | the port shown in Asterisk SIP Settings |
| SIP over TLS, if enabled | TCP 5061 |
| RTP audio | UDP 10000 to 20000 |
Do not open these ports to the whole internet. Remote phones should connect over a VPN or from allow-listed addresses. Keep fail2ban enabled on the server; Issabel exposes it under the Security menu.
Step 5: Review the feature codes
Open PBX > PBX Configuration > Feature Codes. The defaults that matter for phones with forwarding and Do Not Disturb buttons are *72/*73 (forward all), *90/*91 (forward on busy), *52/*53 (forward on no answer), *78/*79 (Do Not Disturb) and *97 (voicemail). If you change them, tell your users; softphones that dial these codes need the same values.
Step 6: Register a phone and verify
- Enter the extension number, secret, server address, port and transport into any SIP phone. For SIPdia, follow How to configure SIPdia with Issabel.
- On the server, check the registration:
asterisk -rx "sip show peers" # chan_sip
asterisk -rx "pjsip show contacts" # PJSIP
The extension should list the phone's IP address and a status of OK (xx ms) or Avail.
3. If it does not appear, watch the SIP traffic while the phone retries:
asterisk -rvvv
sip set debug on # chan_sip
pjsip set logger on # PJSIP
A 401 followed by 200 OK is a successful registration. A 401 with no 200 OK means the secret is wrong. Nothing at all means a port or firewall problem.
Step 7: Make a test call
- From the new phone, dial
*97and enter the voicemail PIN. If the prompt responds to digits, DTMF is right. - Dial another extension and check audio in both directions. One-way audio points to NAT or RTP ports; see one-way audio in VoIP.
- Call the new extension from another phone and confirm it rings and the Display Name shows.
Common mistakes
- Forgot Apply Config. The most common cause of "the extension does not exist".
- Wrong driver port. The phone is set to 5060 but PJSIP listens elsewhere, or the reverse.
- Codec mismatch. The phone offers only Opus and the extension allows only G.729. Allow ulaw or alaw everywhere.
- NAT without local networks. Remote phones register but have no audio.
- Short secrets. Asterisk servers are brute-forced constantly. Use the generated secret or something equally long.
Next steps
- Register SIPdia on the extension with How to configure SIPdia with Issabel.
- Understand the objects behind the form in How SIP extensions work in Asterisk.
Frequently asked questions
Should I create a chan_sip or a PJSIP extension in Issabel?
Use whichever driver your Issabel installation has enabled and bound to the port you expect. Issabel 4 installations typically use chan_sip on UDP 5060. Issabel 5 can use PJSIP. Check PBX > PBX Configuration > Asterisk SIP Settings to see which driver listens on which port.
Where are the codecs set in Issabel?
Per extension in the disallow and allow fields on the extension form, and globally under PBX > PBX Configuration > Asterisk SIP Settings. Allow ulaw or alaw at minimum. Opus can be allowed on installations that include the codec.
Why do my changes not take effect?
Issabel writes the Asterisk files only when you click the Apply Config bar at the top of the PBX pages. Until then the extension exists in the database but Asterisk has not reloaded.
How do I check that an extension registered?
Run asterisk -rx 'sip show peers' for chan_sip or asterisk -rx 'pjsip show contacts' for PJSIP on the server. The extension should appear with the phone's IP address and a status of OK or Avail.
Sources and further reading
- Issabel project websitewww.issabel.org
- Issabel community forumforum.issabel.org
- Asterisk documentation: Configuring res_pjsipdocs.asterisk.org
- RFC 4733: RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signalswww.rfc-editor.org
This article is published by SpaGreen Creative, the maker of SIPdia. Product names mentioned belong to their owners. Where it describes other software, treat the steps as general guidance and check the official documentation linked above.
