Proxy Limits
Twilio Proxy has a number of limits in place which will constrain certain elements of the system and how it is used.
The Proxy limits are enforced at the Service instance level (except for Service list limits which are enforced at the Account level). These limits are set within a Service instance scope.
Number Pool Limits
Each service can have a maximum of 5000 Reserved numbers and 500 dynamic/non-reserved numbers.
Active Participants per Number
We recommend, but do not enforce, a limit of 100 participants associated with a given number in active sessions at any given time. See https://www.twilio.com/docs/proxy/phone-numbers-needed for more information on proxy number management.
Throughput Limits
Limits of this type will impact the number of simultaneous actions that can be performed within a Service Instance.
Requests Per Second
RPS is the guaranteed Requests Per Second against a given endpoint that a Service instance will support. All Service instances have a baseline of 30 RPS per endpoint. Proxy will allow short bursts above the baseline RPS - up to 5x the baseline. If the bursts become sustained throughput, the Service will start rejecting requests.
How This Works
The request limit is based on average request rate in 5s sliding window. For example, for 30 req/s limit we allow burst up to 150 req/s. After this your application client request logic needs to wait until average goes below threshold to make any query requests again against that endpoint.
Requests that go over RPS threshold are rejected with HTTP status code 429
Too Many Requests.
When the Throughput is Exceeded
For reliable handling of short-term bursts of requests towards the Proxy REST API, please make sure your backend application implements a retry logic. When your application receives HTTP status code 429
back from the Proxy service, it should repeat the request several times, using a good exponential back-off algorithm like the one advocated by Amazon.
Data Length/Size Limits
Limits for user provided data in UTF-8 characters. If a payload limit is specified in bytes, we assume that the data is serialized using UTF-8 encoding where each character (e.g. emoticon) may take more than one byte.
Resource Property Limits
Resource | Field | Maximum length / Size |
---|---|---|
Service | UniqueName | 191 characters |
Service | CallbackUrl | 4000 characters |
Service | InterceptCallbackUrl | 4000 characters |
Service | OutOfSessionCallbackUrl | 4000 characters |
Session | UniqueName | 191 characters |
Session | Ttl | 0 < ttl < 2147483647 |
Participant | FriendlyName | 255 characters |
Participant | Identifier | 191 characters |
Participant | ProxyIdentifier | 255 characters |
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 by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.