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 @
.
c3p0
A password to authenticate registrations to this endpoint.
yavinOrBust
Friendly Caller ID used as the CNAM
when dialing a phone number or the From
when dialing another SIP Endpoint.
C-3P0
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.
random
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.
["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"]
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.
["OPUS","G722","PCMU","PCMA","VP8","H264"]
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.
required
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
.
ai_agent
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
.
null
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
.
POST
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
.
null
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
.
POST
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
.
null
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
.
POST
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.
office
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
.
https://myapplication/handle_relay_callbacks
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.
office
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
.
https://myapplication/handle_relay_callbacks
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
.
https://dev.signalwire.com/relay-bins/f9d13f68-f71e-4042-95bb-b07b9e2f2f92
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.
67075301-69b2-4fc3-8a2c-c95a69a5665e
String representing the username portion of the endpoint. Must be unique across your project and must not container white space characters or @
.
c3p0
Friendly Caller ID used as the CNAM
when dialing a phone number or the From
when dialing another SIP Endpoint.
C-3P0
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.
random
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.
["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"]
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.
["OPUS","G722","PCMU","PCMA","VP8","H264"]
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.
required
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
.
ai_agent
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
.
null
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
.
POST
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
.
null
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
.
POST
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
.
null
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
.
POST
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.
office
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
.
https://myapplication/handle_relay_callbacks
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.
office
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
.
https://myapplication/handle_relay_callbacks
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
.
https://dev.signalwire.com/relay-bins/f9d13f68-f71e-4042-95bb-b07b9e2f2f92
{
"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"
}