Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now

Menu

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Calls per Second (CPS) - Trunking Termination

Overview

Trunking Termination Calls per Second (CPS) refers to how many new SIP Trunking call setups are allowed in a second for Trunking Termination (outgoing traffic from your communications infrastructure to the PSTN). Twilio, by default, provides the ability for you to place 1 CPS per Trunk per Region (see limits). Optionally, you may increase your CPS settings per Region for a monthly fee.

If you’re interested in increasing your CPS for Elastic SIP Trunking, please talk to sales. In order to receive increased CPS, average call duration must be above 30 seconds and ASR (Answer-Seizure rate) above 60%.

CPS options for Trunking Termination

There are two options for increasing Termination CPS for SIP Trunking:

Trunk Level CPS

Provision each individual Trunk with the CPS you require for each Region. Pay per trunk, per Region. You are able to see your Trunk CPS settings in the Console, under the specific Trunk, under Termination settings.

Master account CPS

Provision your Master Account with the CPS you require for each Region. Pay per Master Account, per Region. The Master CPS settings are a pooled resource used by any Trunk in the given account or corresponding sub-accounts. We give you the ability to also enforce Trunk level CPS settings in Console, when Master Account CPS is enabled and allow you to over provision CPS at the Trunk level, and you'll only be billed for the Master Account CPS settings.

Master CPS is best fit for your needs if you have several trunks across multiple sub-accounts that need increased CPS, but you aren’t sure what level you’ll need on each of those trunks.

There are two “checkpoints” used to determine when calls will be allowed or rejected.

(1) Actual Calls on each Trunk vs. Trunk CPS Limits: Do actual calls on a specific Trunk exceed the CPS settings set on that Trunk for a given Region?

  • Yes - Calls start to be rejected based on the Trunk CPS settings
  • No - Go to next rule

(2) Total Actual Calls across all Trunks vs. Master account CPS Limits: Do total actual calls across all Trunks exceed the Master CPS settings in a given Region?

  • Yes - Calls start to be rejected based on the Master account CPS settings
  • No - All calls will go through

Master account CPS example

Here’s an example of how this works:

Master Account CPS setting:

*North America - Oregon (US2): 25 CPS

Trunk 1 Trunk 2 Trunk 3 Totals
Provisioned 20 CPS 25 CPS 30 CPS 75 provisioned across all Trunks (over-provisioned)
Actual Calls 30 CPS 24 CPS 30 CPS 84 actual Terminating Calls attempted across all Trunks
Rule 1 - Trunk Limits Calls capped at 20 CPS All 24 CPS allowed All 30 CPS allowed 74 actual CPS allowed based on Trunk CPS settings
Rule 2 - Master account Limits Cap calls at 25 CPS (calls from any trunk may be rejected

Debugger Alerts

Twilio will log a Debugger Alert record when you're CPS limits are reached, our Debugger Alert will tell you which limit was hit; either the Trunk level or Master account CPS level.

These debugger alerts are:

These may be very useful to determine if you need to increase your CPS settings. You can configure Alert Triggers to fire based on your preferences on any Alert error code; optionally, you can also send a corresponding webhook or an email notification.

If you would like to modify your Master Account or Trunk Level CPS settings, please contact sales here.

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.