API Endpoint
The Trunk Object
A trunk represents a SIP connection between your infrastructure and Plivo’s network. Trunks can be inbound (receiving calls from Plivo) or outbound (sending calls to Plivo).Attributes
Unique identifier for the trunk.
Unique address on Plivo to route SIP traffic (e.g.,
21784177241578.zt.plivo.com).Friendly name for the trunk.
Status of the trunk:
enabled or disabled.Direction of the trunk:
inbound or outbound.Whether SRTP (media) and TLS (signaling) encryption is enabled.
IP access control list UUID (for outbound trunks).
Credentials list UUID (for outbound trunks).
Primary origination URI UUID (for inbound trunks).
Fallback origination URI UUID (for inbound trunks).
Example Object
List All Trunks
Get all trunks with optional filtering.HTTP Request
GET https://api.plivo.com/v1/Account/{auth_id}/Zentrunk/Trunk/
Query Parameters
Response
Pagination metadata:
limit (results per page), offset (items skipped), total_count (total matching trunks), previous and next (relative URLs for adjacent pages).Array of trunk objects — see The Trunk Object.
Example
cURL
Retrieve a Trunk
Get details of a specific trunk.HTTP Request
GET https://api.plivo.com/v1/Account/{auth_id}/Zentrunk/Trunk/{trunk_id}/
Response
Returns the trunk object nested under theobject key.
Unique identifier for the API request.
The trunk object — see The Trunk Object.
Example
cURL
Create a Trunk
Create a new SIP trunk for inbound or outbound traffic.HTTP Request
POST https://api.plivo.com/v1/Account/{auth_id}/Zentrunk/Trunk/
Request Parameters
Response
Unique identifier for the API request.
Status of the request. Returns
Trunk created successfully. on a successful creation.Unique identifier for the trunk.
Error Codes
Outbound Trunk Example
For outbound trunks (calls from your PBX to Plivo), you need eitheripacl_uuid or credential_uuid for authentication.
cURL
Inbound Trunk Example
For inbound trunks (calls from Plivo to your PBX), you need aprimary_uri_uuid pointing to your server.
cURL
Update a Trunk
Modify an existing trunk’s properties.HTTP Request
POST https://api.plivo.com/v1/Account/{auth_id}/Zentrunk/Trunk/{trunk_id}/
Request Parameters
Response
Unique identifier for the API request.
Status of the request. Returns
Trunk updated successfully. on a successful update.Unique identifier for the trunk.
Example
cURL
Delete a Trunk
Permanently delete a trunk.HTTP Request
DELETE https://api.plivo.com/v1/Account/{auth_id}/Zentrunk/Trunk/{trunk_id}/
Response
HTTP 204 No ContentExample
cURL
Trunk Types
Outbound Trunks
Route calls from your PBX/infrastructure to Plivo:- Your system sends SIP INVITE to the trunk domain
- Authentication via IP ACL or credentials
- Calls terminate on PSTN via Plivo
Inbound Trunks
Route calls from Plivo to your PBX/infrastructure:- Calls arrive at Plivo (from PSTN or Plivo numbers)
- Plivo forwards to your origination URI
- Fallback URI used if primary fails
- Can be attached to purchased phone numbers
Related
- Credentials - Manage SIP credentials
- IP Access Control Lists - Manage IP whitelists
- Origination URIs - Manage destination URIs