---
title: FreePBX SIP Trunk Setup with a Kenyan Number (PJSIP)
description: >-
  Add a Sautikit Kenyan number to FreePBX 17 as a chan_pjsip trunk with
  registration: SIP server, port 5080, auth username, codecs and routes.
summary: >-
  In FreePBX, add a chan_pjsip trunk with Authentication Outbound, Registration
  Send, SIP Server sip.sautikit.com, port 5080 and your Sautikit SIP
  credentials, then add routes.
date: 2026-11-05T00:00:00.000Z
type: guide
---


## Summary

FreePBX can use a Kenyan Sautikit number as a registration-based PJSIP trunk. Go to **Connectivity > Trunks > Add Trunk > Add SIP (chan_pjsip) Trunk**, and on **pjsip Settings > General** set Username and Auth username to your Sautikit SIP username, Secret to your SIP password, Authentication = **Outbound**, Registration = **Send**, SIP Server = `sip.sautikit.com`, SIP Server Port = **5080**, Context = `from-pstn`, and a UDP transport. Put ulaw and alaw first on the Codecs tab, then add an inbound route for the number and an outbound route that sends `+254` numbers. The number costs KES 500 a month, inbound calls are free and outbound calls cost KES 3.00 a minute billed per second.

## What you need

- **A Sautikit number** (KES 500 a month, no setup fee) and a SIP credential for FreePBX: in the [Sautikit console](https://app.sautikit.com), open the number, go to **SIP & Devices**, click **+ Add device**, label it "FreePBX", and keep the username, password and the device's **extension**.
- **FreePBX 17** (16 works the same way) with admin access.

## Sautikit settings at a glance

| FreePBX field | Value |
|---|---|
| Username | your Sautikit SIP username |
| Auth username | your Sautikit SIP username (same value) |
| Secret | your Sautikit SIP password |
| Authentication | Outbound |
| Registration | Send |
| SIP Server | `sip.sautikit.com` |
| SIP Server Port | `5080` |
| Context | `from-pstn` |
| Transport | `0.0.0.0-udp` |
| Codecs | ulaw, alaw |

## Step 1: create the trunk

1. Go to **Connectivity > Trunks** and click **Add Trunk > Add SIP (chan_pjsip) Trunk**.
2. **General tab:** Trunk Name "Sautikit-Kenya", Outbound CallerID = your Sautikit number in `+254` format, CID Options = Force Trunk CID, Maximum Channels as needed.
3. **pjsip Settings > General:** fill in the fields from the table.
4. **pjsip Settings > Advanced:** leave the defaults. Expiration 3600 and Retry Interval 60 are fine; a shorter expiration (for example 300) makes the trunk recover faster after a network drop.
5. **pjsip Settings > Codecs:** tick ulaw and alaw and drag them to the top.
6. Click **Submit**, then **Apply Config**.

Sautikit listens on 5080, not 5060, so a trunk left on the default port never registers.

## Step 2: check registration

From the Asterisk CLI:

```bash
asterisk -rx "pjsip show registrations"
```

The Sautikit trunk should show `Registered`. Behind NAT, set External Address and Local Networks under **Settings > Asterisk SIP Settings** first.

## Step 3: inbound route

**In Sautikit:** open the number and set **Forward** to the FreePBX device's extension, so calls to the number go to the trunk.

**In FreePBX:** go to **Connectivity > Inbound Routes**, add a route with DID Number = your Sautikit number (or leave it blank to catch everything from this trunk) and set its destination: a ring group, IVR, queue or extension.

## Step 4: outbound route

Go to **Connectivity > Outbound Routes**, add a route, and choose the Sautikit trunk in **Trunk Sequence**. Sautikit dials E.164, so add dial patterns that rewrite local numbers:

| Prepend | Prefix | Match pattern |
|---|---|---|
| `+254` | `0` | `7XXXXXXXX` |
| `+254` | `0` | `1XXXXXXXX` |
| | | `+254XXXXXXXXX` |

Submit and apply. Outgoing calls show your Sautikit number as caller ID.

## Step 5: test

Call your mobile from an extension; it should show the Sautikit number. Call the Sautikit number from your mobile; it should reach your inbound route's destination.

## Troubleshooting

**`pjsip show registrations` shows Rejected.** Username and Auth username must both be the generated Sautikit username. Copy the password again with **SIP setup** on the device row.

**Status stays Unregistered.** Check the port is 5080 and the transport is UDP, and that outbound UDP is allowed through the firewall.

**Inbound calls go to "number not in service" on FreePBX.** Check the inbound route's DID matches the number format the trunk sends, or use a blank DID route for this trunk.

**Outbound calls fail.** Check the dial pattern produces `+254…` and your Sautikit wallet has credit.

## FAQ

### Does FreePBX support register-based SIP trunks?

Yes. A chan_pjsip trunk with Authentication set to Outbound and Registration set to Send signs in to the provider with a username and password.

### What port does Sautikit use for FreePBX?

5080 over UDP at `sip.sautikit.com`. Enter it in the SIP Server Port field.

### How much does a Sautikit trunk cost for FreePBX?

No trunk fee. The number is KES 500 a month, inbound calls are free, and outbound calls are KES 3.00 a minute billed per second.
