---
title: Connect a Kenyan Number to Vapi with a BYO SIP Trunk
description: >-
  Use a Sautikit Kenyan number with a Vapi assistant: create a BYO SIP trunk
  credential, attach the number, forward inbound calls and dial out over UDP.
summary: >-
  Create a Vapi byo-sip-trunk credential with two gateways (Sautikit's IP for
  inbound, sip.sautikit.com:5080 for outbound), attach your number, then forward
  the number to Vapi.
date: 2026-11-05T00:00:00.000Z
type: guide
---


## Summary

A Vapi assistant can answer and place calls on a Kenyan Sautikit number through Vapi's bring-your-own SIP trunk. Create a `byo-sip-trunk` credential in Vapi with two gateways: Sautikit's signalling IP (inbound only) and `sip.sautikit.com` port `5080` over UDP (outbound only, authenticated with your number's SIP username and password). Attach your number to that credential, then forward the Sautikit number to `+2547XXXXXXXX@<credential-id>.sip.vapi.ai`. The number costs KES 500 a month, inbound calls are free on Sautikit and outbound calls cost KES 3.00 a minute billed per second. Vapi bills its own platform minutes.

## What you need

- **A Sautikit number** (KES 500 a month) and its SIP credential: open the number in the [console](https://app.sautikit.com), go to **SIP & Devices**, click **+ Add device** and label it "Vapi". Keep the username and password.
- **A Vapi account** and its private API key.
- **Sautikit's signalling IP.** Vapi only accepts inbound calls from numeric IPv4 addresses it knows. Allow the address that `sip.sautikit.com` resolves to (`62.12.113.167` as of November 2026). Check it with `dig +short sip.sautikit.com` before you go live.

## Step 1: create the SIP trunk credential in Vapi

Vapi needs a hostname gateway for outbound calls and a numeric IP gateway for inbound calls, so create two:

```js
const res = await fetch("https://api.vapi.ai/credential", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VAPI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    provider: "byo-sip-trunk",
    name: "Sautikit Kenya",
    gateways: [
      {
        ip: "62.12.113.167",
        inboundEnabled: true,
        outboundEnabled: false,
      },
      {
        ip: "sip.sautikit.com",
        port: 5080,
        outboundProtocol: "udp",
        inboundEnabled: false,
        outboundEnabled: true,
      },
    ],
    outboundAuthenticationPlan: {
      authUsername: process.env.SAUTIKIT_SIP_USERNAME,
      authPassword: process.env.SAUTIKIT_SIP_PASSWORD,
    },
    outboundLeadingPlusEnabled: true,
  }),
});

const credential = await res.json();
console.log(credential.id); // keep this: it is part of the inbound SIP address
```

`outboundLeadingPlusEnabled` keeps the `+` on Kenyan numbers, because Sautikit dials E.164 destinations (`+254…`).

## Step 2: attach your number

```js
await fetch("https://api.vapi.ai/phone-number", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.VAPI_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    provider: "byo-phone-number",
    name: "Sautikit Kenya",
    number: "+254709000000",
    numberE164CheckEnabled: true,
    credentialId: process.env.VAPI_CREDENTIAL_ID,
    assistantId: process.env.VAPI_ASSISTANT_ID,
  }),
});
```

Use your own Sautikit number and the credential id from step 1. The `assistantId` is the assistant that answers inbound calls.

## Step 3: forward inbound calls to Vapi

In the Sautikit console, open the number and set **Forward** to one destination:

```text
+254709000000@YOUR_CREDENTIAL_ID.sip.vapi.ai
```

No `sip:` prefix. Save. Calls to your Kenyan number now reach the Vapi assistant. The same setting is `forward.destinations` in the API ([Forward calls and voicemail](/developers/guides/forward-calls-and-voicemail)).

## Step 4: place an outbound call

Start a call from Vapi with the phone number id from step 2 and a customer number in E.164 format. Vapi sends the call to `sip.sautikit.com:5080` with your SIP username and password, and the customer sees your Sautikit number.

## Step 5: test

1. Call your Sautikit number from a mobile. The assistant should answer.
2. Place a Vapi call to your mobile. It should show the Sautikit number.

## Troubleshooting

**Inbound calls fail with 401 or 403 in Vapi's logs.** The call arrived from an IP not in the credential's gateways. Re-check what `sip.sautikit.com` resolves to and update the inbound gateway.

**Outbound calls fail to authenticate.** Copy the username and password again from **SIP setup** on the device row. The outbound gateway must use port `5080` and `udp`.

**Outbound calls are refused by Sautikit.** The destination must be E.164 (`+254…`). Keep `outboundLeadingPlusEnabled` on, and check your wallet has credit.

## Prefer one platform?

Sautikit's own [AI agents](/ai-agents) answer the number directly, with no trunk or second account: KES 4.00 a minute, metered per second, on top of the call rate. A full comparison is on [Sautikit vs Vapi, Retell and Bland](/compare/vapi-retell-bland).

## FAQ

### Can Vapi use a Kenyan phone number?

Yes, through a bring-your-own SIP trunk. Sautikit supplies the Kenyan number, forwards inbound calls to Vapi and carries Vapi's outbound calls on the Kenyan network.

### Why does Vapi need two gateways?

Vapi checks inbound calls against numeric IPv4 addresses, while outbound calls can go to a hostname. One gateway with Sautikit's IP takes inbound calls; one with `sip.sautikit.com:5080` sends outbound calls.

### What does it cost?

The number is KES 500 a month. Inbound calls are free on Sautikit and outbound calls are KES 3.00 a minute, billed per second. Vapi charges its own per-minute platform fee.
