> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getsmartalex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Euphoria Telecom

> Connect Euphoria Telecom's South African hosted PBX to SmartAlex using Native Extension Mode.

<Info>
  **Audience**: Euphoria Telecom customer admin. **Time**: 10 minutes once you have an extension and password. **Recommended path**: [Native Extension Mode](/telephony/native-extension-mode), SmartAlex registers as an extension on your Euphoria PBX. No Euphoria support ticket required.
</Info>

## About Euphoria Telecom

Cape Town-headquartered hosted PBX provider, common with South African SMB and mid-market. Runs a cloud-hosted softswitch with a web admin portal.

## Recommended path: Native Extension Mode

This is the integration model Euphoria customers use today. SmartAlex registers as a SIP extension on your Euphoria PBX, just like a desk phone. You provision the extension on your side; we register and stay logged in.

### What you need from the Euphoria portal

* Your Euphoria **SIP domain** (looks like `something.voipza.net` or similar, found in the extension's SIP settings)
* An **unused extension number** (e.g. `6105`)
* The extension's **username and password**
* **Transport**: UDP port 5060 works for Euphoria today

### What you need from SmartAlex

* A SmartAlex tenant with the right plan
* The agent you want this extension to route to

### Setup walkthrough

<Steps>
  <Step title="Create the extension on Euphoria">
    In the Euphoria customer portal, create a new SIP extension. Note down the SIP domain, extension number, username, and password.
  </Step>

  <Step title="Create the register-mode trunk in SmartAlex">
    In the dashboard, go to **Phone Numbers → Connect Your Carrier → SIP Trunk**. Pick **Other** for the PBX type. Switch the **Connection Type** toggle to **"Add SmartAlex as a phone on your PBX"** (register direction). Fill in:

    * PBX SIP domain (the Euphoria domain you noted)
    * Extension number
    * Username and password
    * Transport: UDP, port 5060

    Click **Connect to PBX**. Within \~30 seconds, the status flips to **"Registered as ext \<N>"**.
  </Step>

  <Step title="Bind an inbound DID (optional)">
    If you want a specific Euphoria DID to route directly to this extension (rather than through Euphoria's IVR), go to **Phone Numbers → Connect PBX Extension** in the dashboard. The dialog filters to your register-mode trunks; fill in:

    * The register-mode trunk you just created
    * The extension number
    * The agent that should answer
    * The public DID (E.164, e.g. `+27871234567`)
    * A friendly label (e.g. "Cape Town main line")

    Save. This binding writes a phone-number row without a support ticket, Euphoria still routes the DID; we just claim the extension end of it.
  </Step>

  <Step title="Link an agent">
    Open the agent in **Agents → Studio**. On the **Telephony** tab, pick the Euphoria trunk from the dropdown. Save. Calls to that extension on Euphoria now reach this agent.
  </Step>

  <Step title="Populate the extension directory (recommended)">
    For the AI to transfer callers to other extensions on your Euphoria PBX, open the trunk in **Settings → PBX Settings** and add the extensions you want available. Each entry has a display name and free-form aliases, so a caller asking for "billing" or "Sarah" gets routed correctly without scripting every variation.
  </Step>
</Steps>

### How transfers work

When the AI fires a transfer to an extension, it sends a SIP REFER over the live call. Euphoria's softswitch accepts the REFER and rings the target extension exactly as if any other phone on your account had transferred. The AI's leg drops out; the caller is bridged to the human. Caller ID is preserved via P-Asserted-Identity (RFC 3325) so transferees see the real caller, not a relay.

### Monitoring

Every Euphoria-routed phone number has a **Diagnostics** button on the Phone Numbers page. It shows:

* Live registration status
* Last 10 calls in 24h with friendly-label outcomes ("No answer", "Caller hung up", "Reached us, agent never started")
* Last 5 phone-related edge function errors in 24h

If something goes sideways during a call, the diagnostic row tells you the exact disconnect reason in plain English so you don't have to read raw SIP codes.

## Alternative: forward a DID to a SmartAlex number

If you prefer not to register on the Euphoria side, you can simply forward a Euphoria DID to a SmartAlex-provisioned phone number:

1. Log in to the Euphoria customer portal
2. Navigate to Numbers or Phone Numbers
3. Select the DID you want SmartAlex to handle
4. Set destination to **External forward** with the SmartAlex-provisioned DID

This is simpler but loses some of the benefits of Native Extension Mode, the AI no longer sits on your PBX directory, and call recording happens twice (once on Euphoria, once on SmartAlex).

## Euphoria-specific notes

* **Call recording on Euphoria**: their portal has built-in recording. If you use the DID-forwarding path, both Euphoria and SmartAlex may record; decide which is primary.
* **Caller ID**: native extension mode passes the original caller ID through SIP REFER + P-Asserted-Identity. Verify with Euphoria support if you observe missing caller ID on transfers.
* **SA Icasa compliance**: Euphoria holds the carrier-side Icasa licences; your obligations are downstream.
* **MPLS or SIP peering**: enterprise customers can arrange private peering to Euphoria's core. Discuss directly with them.

## Troubleshooting

See the [Native Extension Mode troubleshooting](/telephony/native-extension-mode#troubleshooting) section, the failure modes (registration stuck, authentication failed, one-way audio) and fixes are identical across Euphoria and any other register-mode PBX.

## Next steps

<CardGroup cols={2}>
  <Card title="Native Extension Mode" href="/telephony/native-extension-mode">
    Full walkthrough of the register-direction connection shape.
  </Card>

  <Card title="Switch Telecom" href="/telephony/switch-telecom">
    Another South African hosted PBX.
  </Card>

  <Card title="South Africa" href="/telephony/south-africa">
    Regional notes.
  </Card>

  <Card title="Troubleshooting" href="/telephony/troubleshooting">
    Common PBX integration issues.
  </Card>
</CardGroup>
