Create a SIP Endpoint
POST/endpoints/sip
To create a new SIP Endpoint, you send a POST
request to the SIP
Endpoint resource.
Permissions
The API token must include the following scopes: Voice.
Request
- application/json
Body
required
String representing the username portion of the endpoint. Must be unique across your project and must not container white space characters or @
.
A password to authenticate registrations to this endpoint.
Friendly Caller ID used as the CNAM
when dialing a phone number or the From
when dialing another SIP Endpoint.
When dialing a PSTN phone number, you must send it From
a number you have purchased or verified. send_as
indicates which number this endpoint has set as its origination. random
indicates it will randomly choose a purchased or verified number from within the project.
Defaults to the project's SIP Settings default send as number.
A list of encryption ciphers this endpoint will support.
Currently supported values are: AEAD_AES_256_GCM_8
, AES_256_CM_HMAC_SHA1_80
, AES_CM_128_HMAC_SHA1_80
, AES_256_CM_HMAC_SHA1_32
, AES_CM_128_HMAC_SHA1_32
.
Defaults to the project's SIP Settings default cipher list. You can unset the custom cipher list and use the project's SIP Settings default cipher list by sending an empty array.
A list of codecs this endpoint will support.
Currently supported values are: OPUS
, G722
, PCMU
, PCMA
, VP8
, H264
.
Defaults to the project's SIP Settings default codec list. You can unset the custom codec list and use the project's SIP Settings default codec list by sending an empty array.
A string representing whether connections to this endpoint require encryption or if encryption is optional. Encryption will always be used if possible.
Possible values are default
, required
, optional
.
Defaults to the project's SIP Settings default.
What type of handler you want to run on inbound calls. Possible values are: relay_context
, relay_topic
, relay_script
, laml_webhooks
, laml_application
, dialogflow
, video_room
.
A string representing the LaML URL to access when a call is received. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the HTTP method to use with call_request_url
. Valid values are GET
and POST
. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the LaML URL to access when the call to call_request_url
fails. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the HTTP method to use with call_fallback_url
. Valid values are GET
and POST
. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing a URL to send status change messages to. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the HTTP method to use with call_status_callback_url
. Valid values are GET
and POST
. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the ID of the LaML application to forward incoming calls to. This is only used (and required) when call_handler
is set to laml_application
.
A string representing the Relay topic to forward incoming calls to. This is only used (and required) when call_handler
is set to relay_topic
. Alias of call_relay_application
. If both are sent, call_relay_application
takes precedence.
A string representing a URL to send status change messages to. This is only used (and required) when call_handler
is set to relay_topic
.
A string representing the Relay context to forward incoming calls to. This is only used (and required) when call_handler
is set to relay_context
. Alias of call_relay_application
. If both are sent, call_relay_application
takes precedence.
A string representing a URL to send status change messages to. This is only used (and required) when call_handler
is set to relay_context
.
A string representing the ID of the Video Room to forward incoming calls to. This is only used (and required) when call_handler
is set to video_room
.
A string representing the ID of the Call Flow to forward incoming calls to. This is only used (and required) when call_handler
is set to call_flow
.
A string representing the ID of the Ai Agent to forward incoming calls to. This is only used (and required) when call_handler
is set to ai_agent
.
A string representing a URL of a SWML script to response incoming calls. This is only used (and required) when call_handler
is set to relay_script
.
Responses
- 201
CREATED
- application/json
- Schema
- Example (from schema)
Schema
The unique identifier of the SIP Endpoint on SignalWire. This can be used to update or delete the endpoint programmatically.
String representing the username portion of the endpoint. Must be unique across your project and must not container white space characters or @
.
Friendly Caller ID used as the CNAM
when dialing a phone number or the From
when dialing another SIP Endpoint.
When dialing a PSTN phone number, you must send it From
a number you have purchased or verified. send_as
indicates which number this endpoint has set as its origination. random
indicates it will randomly choose a purchased or verified number from within the project.
Defaults to the project's SIP Settings default send as number.
A list of encryption ciphers this endpoint will support.
Currently supported values are: AEAD_AES_256_GCM_8
, AES_256_CM_HMAC_SHA1_80
, AES_CM_128_HMAC_SHA1_80
, AES_256_CM_HMAC_SHA1_32
, AES_CM_128_HMAC_SHA1_32
.
Defaults to the project's SIP Settings default cipher list. You can unset the custom cipher list and use the project's SIP Settings default cipher list by sending an empty array.
A list of codecs this endpoint will support.
Currently supported values are: OPUS
, G722
, PCMU
, PCMA
, VP8
, H264
.
Defaults to the project's SIP Settings default codec list. You can unset the custom codec list and use the project's SIP Settings default codec list by sending an empty array.
A string representing whether connections to this endpoint require encryption or if encryption is optional. Encryption will always be used if possible.
Possible values are default
, required
, optional
.
Defaults to the project's SIP Settings default.
What type of handler you want to run on inbound calls. Possible values are: relay_context
, relay_topic
, relay_script
, laml_webhooks
, laml_application
, dialogflow
, video_room
.
A string representing the LaML URL to access when a call is received. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the HTTP method to use with call_request_url
. Valid values are GET
and POST
. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the LaML URL to access when the call to call_request_url
fails. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the HTTP method to use with call_fallback_url
. Valid values are GET
and POST
. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing a URL to send status change messages to. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the HTTP method to use with call_status_callback_url
. Valid values are GET
and POST
. This is only used (and required) when call_handler
is set to laml_webhooks
.
A string representing the ID of the LaML application to forward incoming calls to. This is only used (and required) when call_handler
is set to laml_application
.
A string representing the Relay topic to forward incoming calls to. This is only used (and required) when call_handler
is set to relay_topic
. Alias of call_relay_application
. If both are sent, call_relay_application
takes precedence.
A string representing a URL to send status change messages to. This is only used (and required) when call_handler
is set to relay_topic
.
A string representing the Relay context to forward incoming calls to. This is only used (and required) when call_handler
is set to relay_context
. Alias of call_relay_application
. If both are sent, call_relay_application
takes precedence.
A string representing a URL to send status change messages to. This is only used (and required) when call_handler
is set to relay_context
.
A string representing the ID of the Video Room to forward incoming calls to. This is only used (and required) when call_handler
is set to video_room
.
A string representing the ID of the Call Flow to forward incoming calls to. This is only used (and required) when call_handler
is set to call_flow
.
A string representing the ID of the Ai Agent to forward incoming calls to. This is only used (and required) when call_handler
is set to ai_agent
.
A string representing a URL of a SWML script to response incoming calls. This is only used (and required) when call_handler
is set to relay_script
.
{
"id": "67075301-69b2-4fc3-8a2c-c95a69a5665e",
"username": "c3p0",
"caller_id": "C-3P0",
"send_as": "random",
"ciphers": [
"AEAD_AES_256_GCM_8",
"AES_256_CM_HMAC_SHA1_80",
"AES_CM_128_HMAC_SHA1_80",
"AES_256_CM_HMAC_SHA1_32",
"AES_CM_128_HMAC_SHA1_32"
],
"codecs": [
"OPUS",
"G722",
"PCMU",
"PCMA",
"VP8",
"H264"
],
"encryption": "required",
"call_handler": "ai_agent",
"call_request_url": null,
"call_request_method": "POST",
"call_fallback_url": null,
"call_fallback_method": "POST",
"call_status_callback_url": null,
"call_status_callback_method": "POST",
"call_laml_application_id": "",
"call_relay_topic": "office",
"call_relay_topic_status_callback_url": "https://myapplication/handle_relay_callbacks",
"call_relay_context": "office",
"call_relay_context_status_callback_url": "https://myapplication/handle_relay_callbacks",
"call_video_room_id": "",
"call_flow_id": "",
"call_ai_agent_id": "",
"call_relay_script_url": "https://dev.signalwire.com/relay-bins/f9d13f68-f71e-4042-95bb-b07b9e2f2f92"
}