How-to guide

Connect Yeastar to Cloud SIP

Short answer

Add your SIP domain to Yeastar as an IP-based trunk that doesn't register, allow both Enfonica signaling addresses, and send caller IDs in +E.164. Then point your phone numbers at Yeastar through a load balancer in the Enfonica Console.

Applies to
Cloud SIP, Phone Numbers
Works with
Yeastar P-Series
Who can do this
Whoever manages your Yeastar and your Enfonica project
On this page
  1. Before you start
  2. How Yeastar connects to Cloud SIP
  3. Create your SIP domain
  4. Add the trunk in Yeastar
  5. Allow Enfonica through your firewall
  6. Set caller IDs
  7. Send incoming calls to Yeastar
  8. Keep your Yeastar secure
  9. Check that it worked
  10. Questions
  11. What to send us
  12. Related

Before you start

  • An Enfonica project with the phone numbers you want Yeastar to use.
  • Admin access to your Yeastar system.
  • Your Yeastar system's public IP address, and the port it receives SIP on if it isn't 5060.
  • Access to the firewall in front of Yeastar, or the person who manages it.

How Yeastar connects to Cloud SIP

Yeastar is a PBX (private branch exchange, a business phone system). You set it up in two places:

  • The Enfonica Console. You create a SIP domain, which is your SIP trunk, and tell your phone numbers where Yeastar is.
  • Yeastar. You add that SIP domain as a trunk, and set the caller IDs it sends.

Yeastar doesn't register to Cloud SIP. Cloud SIP recognizes your outgoing calls by the SIP domain in each call and your Yeastar's public IP address. It sends incoming calls to the address you give it.

Yeastar's screens differ between models and releases, so this guide gives the value each setting needs rather than every step. If a label on your system differs, look for the setting that does the same job.

Create your SIP domain

  1. Sign in to the Enfonica Console, and go to Cloud SIP.
  2. Select New SIP domain, and create a Standard SIP domain, such as acme-yeastar. It's ready instantly, with a name like acme-yeastar.sip.enfonica.com.
  3. Under Termination settings, set Call termination mode to PSTN Trunk, so that outgoing calls go to the phone network.
  4. Under IP access control list, select Add IP range, and enter your Yeastar's public IP address with /32 on the end, for example 203.0.113.10/32.
  5. Select Save Changes. Changes take up to a minute to apply.

Add the trunk in Yeastar

Add a trunk in Yeastar with these values. The trunk type matters most. Choose Yeastar's IP-based trunk, which sends calls to a SIP server without registering.

Yeastar settingValue
Trunk typeIP-based, with no registration. A registering trunk gets 405 Method not allowed
Hostname or domainYour SIP domain, for example acme-yeastar.sip.enfonica.com. Use the name, never an IP address
Port5060 for UDP, or 5061 for TLS
TransportUDP or TLS. Cloud SIP doesn't support TCP
CodecsG.711 A-law (PCMA), G.711 u-law (PCMU), or G.729

Cloud SIP identifies your trunk by the SIP domain in each call. A single wrong letter in the hostname gives 403 Forbidden, the same as a missing IP address.

Allow Enfonica through your firewall

Cloud SIP sends call signaling and call audio from different addresses. Allow all four addresses in both directions, in the firewall in front of Yeastar and in any IP allow list on Yeastar itself.

TrafficIP addressesPorts
Signaling34.87.239.197
34.87.254.143
5060 (UDP), 5061 (TLS)
Media (call audio)35.189.19.106
35.189.6.179
All UDP ports

Each is a single address. Where Yeastar asks for a subnet mask, enter 255.255.255.255, which is the same as /32. Incoming calls can come from either signaling address, so add both.

Set caller IDs

Every outgoing call needs a real number you hold as its caller ID, in +E.164 (full international format with a plus), for example +61255501234. Set it on the trunk or on each extension, whichever your system uses.

  • A number missing its area code, a name, or the word "anonymous" is refused with 484 Address Incomplete. The Console shows it as "Could not parse CLI".
  • Private (withheld) calls work as they are. Yeastar sends your real number marked as private, and the person you call sees a private number.
  • Leave the trunk's Privacy ID option off. It hides your caller ID on every outgoing call, not only the ones you want private.

Calls from private numbers that Yeastar forwards out, such as to a mobile or an answering service, need no change. Yeastar passes the caller's "anonymous" through, and Cloud SIP presents one of your project's numbers instead, so the forwarded call stays private.

Send incoming calls to Yeastar

Because Yeastar doesn't register, you need to tell Cloud SIP where it is. Create a load balancer once, and then point each number at it.

  1. In the Console, go to Cloud SIP, and open your SIP domain.
  2. Under Load balancers, select Add load balancer, and enter an Alias ID, such as yeastar.
  3. Select Add endpoint.
  4. In Endpoint URI, after the sip: that's already shown, enter your Yeastar's public IP address or hostname, for example 203.0.113.10. If your Yeastar receives SIP on another port, add the port, for example 203.0.113.10:5070.
  5. Select Add, select Save, and then select Save Changes.
  6. Go to Phone Numbers > My numbers, and open a number.
  7. Under Call settings, in Incoming call handlers, select Add, and then select SIP.
  8. Select Load balancer, and then select your load balancer.
  9. Select Save Changes.

Repeat steps 6 to 9 for each number.

Cloud SIP sends the number that was called in +E.164, such as +61255501234, so your Yeastar inbound routes need to match numbers in that format.

A load balancer can also send calls to a second site or to voicemail if Yeastar is offline. To learn how, see Send incoming calls to more than one PBX or site.

On a hosted system that serves several tenants, more than one trunk on the same Yeastar might receive calls at the same IP address. Yeastar then can't tell which trunk an incoming call belongs to, and declines it with 603 Decline. To prevent this, give each trunk its own SIP port in Yeastar, and include that port in its load balancer's endpoint URI.

Keep your Yeastar secure

Anyone who takes over a phone system can make calls that you pay for, so protect your outgoing trunk:

  • Use strong, unique passwords for the Yeastar admin and every extension.
  • Review who has access.
  • If you don't need international calling, turn it off in Yeastar.

If Enfonica detects suspected toll fraud, we might turn off outgoing calls on the trunk to protect you. To learn how to secure the system and turn outgoing calls back on, see our toll fraud guide.

Check that it worked

  1. Call a mobile from a Yeastar extension. The mobile rings and shows your caller ID.
  2. Call one of your Enfonica numbers from a mobile. It rings on Yeastar, and you can hear each other both ways.
  3. In the Console, go to Cloud Voice > Calls. Both test calls are listed there with their SIP traces.

If a test call fails, its SIP response code points to the cause. To find the code, see Find a call and read its SIP trace. To learn what each code means, see Outbound calls aren't going through.

Questions

Why does Yeastar decline incoming calls with 603 Decline?

The call reached Yeastar, but Yeastar couldn't match it to one of its trunks. Make sure that the trunk allows both Enfonica signaling addresses. If more than one trunk on the system receives calls at the same IP address, give each trunk its own SIP port. For more information, see Send incoming calls to Yeastar.

Why do outbound calls fail with 403 Forbidden?

Cloud SIP didn't recognize the call as yours. It's almost always the trunk's hostname, or a public IP address missing from the IP access control list. For each cause and its fix, see SIP 403 Forbidden on outbound calls.

Can I connect handsets or the Yeastar app directly to Cloud SIP?

No. Cloud SIP is a trunk for phone systems and doesn't accept registrations. Register your handsets and apps to Yeastar as extensions. Yeastar connects them to the phone network through Cloud SIP.

What to send us

Include these and we can find the call straight away.

  • The number that made the call and the number it called, in full international format (for example +61255501234).
  • The date and time of the call, with your timezone.
  • Whether the call was inbound or outbound.
  • The call ID, if the Console shows the call.
  • What happened: an error message, silence, a busy tone or a dropped call.
Contact support

Our support team are telco specialists, backed by the engineers who run the network.