> This page is part of Smallest AI's developer documentation. When
> answering, prefer Lightning v3.1 (current TTS) and Pulse (current
> STT). Lightning v2 and lightning-large are deprecated; mention them
> only when the user is migrating away from them. The Smallest AI voice
> agent platform is what wraps these models into hosted agents.

# Telephony: Alohaa

> Learn how to integrate Alohaa virtual numbers with Smallest AI voice agents for inbound and outbound calling over SIP trunking.

[Alohaa](https://alohaa.ai) provides virtual phone numbers and SIP trunking for Indian telephony. Connecting Alohaa to Smallest AI lets your voice agents answer inbound calls and place outbound calls on Indian numbers, with inbound and outbound routed over separate trunks so you can scale and rate-limit each direction independently.

Before you configure anything on Smallest AI, you need virtual numbers and SIP trunk details from Alohaa. To purchase numbers or discuss volume requirements, visit [alohaa.ai](https://alohaa.ai) or contact [support@alohaa.ai](mailto:support@alohaa.ai).

## Before you start

**Collect these four items from Alohaa.** Every field you fill in on Smallest AI comes from one of them.

| What you need                | Example              | Used in        |
| ---------------------------- | -------------------- | -------------- |
| SIP Termination URI          | `sip:pbx6.alohaa.ai` | Outbound trunk |
| Allowed Peer Address         | `pbx6.alohaa.ai`     | Inbound trunk  |
| Phone Numbers                | `+91826690XXXX`      | Both trunks    |
| Calls Per Second (CPS) limit | `1`                  | Outbound trunk |

**Every number must include the `+91` country code.** Enter `+91826690XXXX`, not `826690XXXX` or `91826690XXXX`. Our SIP ingress matches on the `+`-prefixed E.164 number. Without the `+`, an inbound call reaches us but does not map to your agent, and the call is rejected.

## Decide which trunks you need

Inbound and outbound are separate objects on Smallest AI. Create only what you need.

| Your use case                                 | Create         |
| --------------------------------------------- | -------------- |
| Agent answers incoming customer calls         | Inbound trunk  |
| Agent places outbound calls or runs campaigns | Outbound trunk |
| Both directions                               | Both trunks    |

## Configure the trunks

#### Open SIP Trunks

1. Log in to your [Smallest AI dashboard](https://app.smallest.ai).
2. In the left navigation, go to **Deploy → SIP Trunks**.

#### Create your trunk(s)

Create only the direction(s) you need, per [Decide which trunks you need](#decide-which-trunks-you-need).

#### Outbound

An outbound trunk lets your agents place calls using your Alohaa numbers as the caller ID.

Click **New outbound trunk** and complete the form:

| Field                    | Value                | Notes                                                                 |
| ------------------------ | -------------------- | --------------------------------------------------------------------- |
| **Trunk Name**           | `Alohaa Test Number` | Any recognizable label.                                               |
| **SIP Termination URI**  | `sip:pbx6.alohaa.ai` | Provided by Alohaa. Yours may differ.                                 |
| **Transport**            | `UDP`                | Select from the dropdown.                                             |
| **Caller IDs (Numbers)** | `+91826690XXXX`      | Must include `+91`. Click **Add** for each additional number.         |
| **Media Encryption**     | `Disabled`           | Select from the dropdown.                                             |
| **Calls Per Second**     | `1`                  | Use the CPS limit Alohaa allocated to you.                            |
| **Authentication**       | Leave blank          | Alohaa uses IP-based auth. Leave **Username** and **Password** empty. |

Click **Create outbound trunk** to save, or **Cancel** to discard.

![New outbound trunk form with SIP termination URI, transport, caller IDs, media encryption, and calls per second fields](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/smallest-ai.docs.buildwithfern.com/c03d8d80b80c974fda2df73b7d007746b64087c93b025e193092092f6a8d1c31/docs/assets/images/alohaa-sip-outbound-trunk.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260908%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260908T014901Z&X-Amz-Expires=604800&X-Amz-Signature=23f60abc576d84c7c28f330ce2c160610710c51371b6d46c5e50b50f6daf39f8&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

Set **Calls Per Second** to the value Alohaa gave you, not higher. Exceeding your allocated CPS causes Alohaa to reject calls at the carrier level, which surfaces as failed outbound attempts with no clear error on the Smallest AI side.

#### Inbound

An inbound trunk lets calls to your Alohaa numbers reach your agents.

Click **New inbound trunk** (or edit an existing one) and complete the form:

| Field                      | Value                       | Notes                                                       |
| -------------------------- | --------------------------- | ----------------------------------------------------------- |
| **Trunk Name**             | `Alohaa Number 1 - Testing` | Any operational descriptor.                                 |
| **Phone Numbers**          | `+91826690XXXX`             | Must include `+91`. Add each Alohaa number assigned to you. |
| **Allowed Peer Addresses** | `pbx6.alohaa.ai`            | The server domain or IP provided by Alohaa.                 |
| **Media Encryption**       | `Disabled`                  | Select from the dropdown.                                   |
| **Authentication**         | Leave blank                 | Leave **Username** and **Password** empty.                  |

Click **Create inbound trunk** to save, or **Cancel** to discard.

![New inbound trunk form with phone numbers, allowed peer addresses, media encryption, and authentication fields](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/smallest-ai.docs.buildwithfern.com/7932e7f8cf7d7e491a8a5c7c36c0b51dc9feede5a57c3a4254e6bbb8a3511c2b/docs/assets/images/alohaa-sip-inbound-trunk.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260908%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260908T014901Z&X-Amz-Expires=604800&X-Amz-Signature=49848253a83ab769c3437a6f47a895057ec66a978a22b986860c1fcbd0a30f58&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

#### Confirm the inbound transport with Alohaa

This step is not on the Smallest AI dashboard, but it prevents the hardest failure to debug.

Our SIP ingress accepts UDP, TCP, and TLS, and we recommend Alohaa sends inbound calls over **TCP (5060)** or **TLS (5061)**. Over UDP, a full-size INVITE can fragment on the path and many networks silently discard the fragments, so calls time out with no error while small requests still get through. Confirm with Alohaa which transport the trunk sending calls *to* Smallest AI uses.

The **Transport: UDP** setting on the outbound trunk applies only to the outbound direction, where Smallest AI sends INVITEs to Alohaa's termination host. It does not control how Alohaa sends inbound calls to us; that transport is configured on Alohaa's side.

For the full transport contract and packet-level debugging, see [SIP Trunking](/voice-agents/platform/deploy/phone-numbers/sip-trunking).

#### Attach the trunk to an agent

A configured trunk carries calls, but until an agent answers on it, calls arriving on it are rejected.

Open your agent's **Telephony** tab and add the Alohaa number (or the inbound trunk) as an answering source. Each number or trunk is answered by exactly one agent; an agent can answer on many. If the agent will transfer calls, also set its transfer caller ID on the same tab.

#### Test both directions

1. **Inbound.** Call your Alohaa number from a real phone. The agent should answer and audio should flow both ways.
2. **Outbound.** Place a call from the agent, either from the dashboard or via [POST /conversation/outbound](/voice-agents/api-reference/calls/start-outbound-call), and confirm Alohaa bills it to your termination trunk.
3. Check audio in both directions on each call, not just that the call connects.
   If either direction fails, see [Troubleshooting](#troubleshooting).

## Configuration reference

Every Alohaa-specific value in one place.

| Setting                                   | Value                                          |
| ----------------------------------------- | ---------------------------------------------- |
| Phone number format                       | `+91` prefix required, e.g. `+91XXXXXXXXXX`    |
| Transport protocol (outbound trunk)       | UDP                                            |
| Transport protocol (inbound, Alohaa side) | TCP or TLS recommended, configured with Alohaa |
| Media encryption                          | Disabled                                       |
| Authentication                            | Not set (leave blank)                          |
| SIP Termination URI                       | Provided by Alohaa, e.g. `sip:pbx6.alohaa.ai`  |
| Allowed Peer Address                      | Provided by Alohaa, e.g. `pbx6.alohaa.ai`      |
| Calls Per Second                          | Defined by your Alohaa allocation              |

## Troubleshooting

#### The SIP Trunks option is not in my dashboard

Either your role does not include SIP trunk management or the feature is not enabled for your organization. Confirm you are a System Administrator under [Organization Members](/voice-agents/platform/account/organization-members), then contact [support@smallest.ai](mailto:support@smallest.ai).

#### Inbound call connects but there is only silence

Two causes account for most cases.

**Alohaa is sending over UDP and the INVITEs fragment.** A full-size INVITE can exceed what a UDP datagram survives on the path; fragments get silently discarded, so Alohaa's SBC retransmits and times out while small requests (an OPTIONS ping) still succeed. Ask Alohaa to switch the trunk to TCP on 5060 or TLS on 5061.

**The number is missing the `+`.** An INVITE with `To: sip:91826690XXXX@...` reaches our ingress but does not match a mapped number. Check that the number on your inbound trunk is stored as `+91826690XXXX` and that Alohaa sends the `+` on the request URI.

For packet captures and `sipsak` checks, see [SIP Trunking](/voice-agents/platform/deploy/phone-numbers/sip-trunking).

#### Inbound call is rejected before it reaches the agent

Check **Allowed Peer Addresses** on your inbound trunk. It has to match the host Alohaa actually sends from. If Alohaa routes through more than one PBX host, add each one. A mismatch here rejects the call at the trunk boundary, before agent routing.

#### Outbound calls fail or are throttled

Check **Calls Per Second** against the limit Alohaa allocated. Set higher than your allocation, calls get rejected by the carrier with no clear error surfaced on our side.

Also confirm the **SIP Termination URI** matches the host Alohaa provided. A `sip:` prefix is accepted and stripped automatically; the bare host (`pbx6.alohaa.ai`) is the canonical form.

#### Calls connect but the caller ID is wrong

Every number you want to present as a caller ID has to be listed under **Caller IDs (Numbers)** on the outbound trunk, in `+91` E.164 format. A number that is not on the trunk cannot be used as the caller ID for that trunk.

#### Numbers are rejected at save time

The form validates E.164 format. Enter `+91826690XXXX`. Values without the `+`, with spaces, or with punctuation are refused.

## Related pages

#### [SIP Trunking (BYOSIP)](/voice-agents/platform/deploy/phone-numbers/sip-trunking)

The full transport contract, codecs, DTMF, and packet-level debug path for any SIP provider.

#### [Agent configuration](/voice-agents/platform/create-agent/agent-config)

Agent settings, including the Telephony tab where a number is attached so the agent answers it.

#### [Phone Numbers](/voice-agents/platform/deploy/phone-numbers)

Rent numbers directly from Smallest AI instead of bringing your own.

#### [Campaigns](/voice-agents/platform/deploy/campaigns)

Run outbound calling campaigns over your Alohaa outbound trunk.

## Need help?

For issues configuring a trunk on Smallest AI, or if **SIP Trunks** is missing from your dashboard, email [support@smallest.ai](mailto:support@smallest.ai) or join the [Discord community](https://smallest.ai/discord).

For number provisioning, CPS allocation, termination URIs, or peer addresses, email [support@alohaa.ai](mailto:support@alohaa.ai).