> This is a page from the ElevenLabs documentation. For an index of the documentation, fetch https://elevenlabs.io/docs/llms.txt.

# Yeastar

Your Yeastar P-Series PBX (Cloud, Software, or Appliance Edition) keeps its carrier and numbers, and sends the calls you choose to Reception.ai. Your inbound routes, IVR, and extensions decide which calls the receptionist answers. Choose one of the options below.

| Option                                                        | Effort | How calls reach Reception.ai                                                                         |
| ------------------------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------- |
| [Forward to your receptionist](#forward-to-your-receptionist) | Low    | Over your carrier trunk, to the receptionist's phone number                                          |
| [Connect a SIP trunk](#connect-a-sip-trunk)                   | High   | Over a [SIP trunk](/docs/reception-ai/phone-numbers/bring-your-own-number#sip-trunk) to Reception.ai |

## Forward to your receptionist

Your receptionist answers on its own Reception.ai number, and Yeastar dials it as an external number through your existing outbound route.

### Get a receptionist number

Go to **Receptionists**, select the **Phone** tile, and get a number. See [Phone numbers](/docs/reception-ai/phone-numbers/overview).

### Choose which calls go to the receptionist

In the Yeastar web portal, pick one:

* **Every call to a number:** go to **Call Control** → **Inbound Route**, edit the route for your DID, and set its destination to **External Number** with your receptionist's number. Use the time-condition destinations to send only calls outside your business hours.
* **An IVR option:** go to **Call Features** → **IVR**, open the **Key Press Event** tab, and set a key to **External Number**.
* **One extension's calls:** go to **Extension and Trunk** → **Extension**, edit the extension, and open the **Presence** tab. Under **External Calls**, forward **Always**, on **No Answer**, or **When Busy** to the receptionist's number.

If your outbound route strips a prefix, enter that prefix in the **Prefix** field as well.

### Turn off Call Confirmation

Leave **Call Confirmation** off on any forwarding rule that sends calls to the receptionist. It asks whoever answers to confirm the call, and your receptionist can't press keys.

### Pass the caller's number

On your carrier trunk, go to **SIP Headers** and set **From User Part** to **Originator Caller ID**, if your carrier accepts it. Otherwise your receptionist sees your Yeastar number on every call.

Forwarded calls use two channels on your carrier trunk, and your carrier may charge for the outbound leg. An extension that forwards to an external number needs permission to use the outbound route, or the forward fails.

## Connect a SIP trunk

Yeastar sends calls straight to Reception.ai over a peer trunk, so the second leg doesn't go through your carrier. It needs someone comfortable with Yeastar trunks, routes, and firewalls.

### Add the SIP trunk in Reception.ai

Go to **Integrations**, select **Add integration**, and choose **SIP Trunk**. Under **Inbound allowed addresses**, add the PBX's public IP address. On the Cloud Edition, use the **Static IP Address** that Yeastar shows on the peer trunk you create below. Leave the inbound username and password empty: a peer trunk doesn't authenticate.

### Add the number

Go to **Receptionists**, select the **Phone** tile, enter the number callers dial, with its country code, and select **Add SIP Trunk number**. Reception.ai shows the SIP server host to send calls to.

### Turn on TCP

Reception.ai doesn't accept UDP. Go to **PBX Settings** → **SIP Settings** → **General** → **Basic** and make sure **SIP TCP Port** is enabled. Extensions that use TCP have to register again after you change it.

### Create the peer trunk

Go to **Extension and Trunk** → **Trunk** and select **Add**. Set **Select ITSP Template** to **General**, then:

| Field                                      | Value                                                                       |
| ------------------------------------------ | --------------------------------------------------------------------------- |
| **Trunk Type**                             | **Peer Trunk**. On the Cloud Edition, **Peer Trunk (Port Based)**.          |
| **Transport**                              | **TCP**                                                                     |
| **Hostname/IP**                            | The Reception.ai SIP server host                                            |
| **Port**                                   | `5060`                                                                      |
| **Domain**                                 | The same host                                                               |
| **From User Part** (under **SIP Headers**) | **Originator Caller ID**, so the receptionist sees each caller's own number |

Select **Save** and **Apply**.

### Add an outbound route that sends +E.164

Go to **Call Control** → **Outbound Route** and select **Add**. Add a dial pattern with **Pattern** `999.`, **Strip** `3`, and **Prepend** `+`, and select only the Reception.ai trunk. A call to `99914155550123` then leaves the trunk as `+14155550123`, which is the format Reception.ai requires. Move the route above your other routes so it matches first.

### Send calls to Reception.ai

Use any of the destinations from [Forward to your receptionist](#forward-to-your-receptionist), with **External Number** set to `999` followed by the number in E.164 format without `+`, for example `99914155550123`. With a **Prefix** field, enter `999` there and the rest in the number field.

### Check the firewall

On the Software and Appliance Editions, open the PBX's RTP port range (UDP) in your firewall so audio from Reception.ai reaches it.

### Test it

Call your DID from another phone and check that your receptionist answers, then open **Inbox** and confirm the conversation shows your phone's number. See [Testing](/docs/reception-ai/receptionist/testing).

## Limitations

* **Transfers.** Your receptionist transfers calls by placing a new call to the **Outbound SIP address** of the SIP trunk integration. Point it at a SIP carrier account that accepts a username and password. Routing transfers back into Yeastar isn't covered here: a peer trunk matches calls by source address, and Reception.ai calls from a changing pool of addresses.
* **Cloud Edition limit.** Yeastar P-Series Cloud Edition supports up to 5 port-based peer trunks.
* **Every call uses two channels**, one from the carrier and one to Reception.ai, so check your concurrent call limits.

## Troubleshooting

| Problem                                                          | What to check                                                                                                                                                                                                                     |
| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The receptionist answers, then the call drops                    | **Call Confirmation** is on for the forwarding rule. Turn it off.                                                                                                                                                                 |
| Calls over the SIP trunk fail before ringing                     | Check that the trunk's transport is **TCP**, the port is `5060`, and **SIP TCP Port** is enabled.                                                                                                                                 |
| Calls over the SIP trunk are rejected                            | Add the PBX's public IP, or the Cloud Edition's **Static IP Address**, to **Inbound allowed addresses**, and check that the outbound route prepends `+` to the full number.                                                       |
| Calls go out through your carrier instead                        | Make sure the external number starts with `999` and the Reception.ai route sits above your other outbound routes.                                                                                                                 |
| The receptionist sees your Yeastar number as the caller          | Set **From User Part** to **Originator Caller ID** on the trunk that carries the call.                                                                                                                                            |
| One-way or no audio                                              | Open the RTP port range in your firewall.                                                                                                                                                                                         |
| Callers are asked to press a key before the receptionist answers | [Spam protection](/docs/reception-ai/receptionist/call-handling#verify-caller-identity) asks callers whose number isn't verified to press a key. Forwarded calls can arrive unverified. Turn it off if this affects real callers. |