Create SIP credential
Creates a project-scoped SIP Credential for a SIP device to register with SignalWire. Use it for a shared or independently managed device; use Create Subscriber SIP credential when the credential belongs to a specific Subscriber. To attach an already-existing resource as the credential’s outbound call handler, use Assign Resource to SIP credential instead.
Permissions
The API token used to authenticate must have the following scope(s) enabled to make a successful request: Voice, Messaging, Fax, or Video.
Authentication
SignalWire Basic Authentication using Project ID and API Token.
The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.
Example:
Authorization: Basic base64(project_id:token)
Request
Specify how the SIP endpoint will handle outbound calls.
- default: The SIP endpoint will pull the outbound policy setting from the SIP Profile Settings. This allows centralized management of outbound call behavior across multiple endpoints from a single configuration.
- passthrough: The SIP endpoint will be allowed to dial PSTN numbers. This permits outbound calling to traditional phone numbers without restrictions.
- block-pstn: The SIP endpoint will be blocked from dialing PSTN numbers. Use this to restrict the endpoint from initiating calls to the public telephone network.
- resource: Outbound calls from this SIP endpoint will dial the specified resource and execute its instructions. Requires setting
calling_handler_resource_idto a valid resource. This enables custom call handling workflows for outbound calls.
If call_handler is set to resource, this field expects the id of the set resouce. Will be null otherwise.
Response
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.
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.
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.
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.
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 ID of the Dialogflow agent to forward incoming calls to. This is only used (and required) when call_handler is set to dialogflow.
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.
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.
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 Relay application to forward incoming calls to. This is only used (and required) when call_handler is set to relay_application.
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 a URL of a SWML script to respond to incoming calls. This is only used (and required) when call_handler is set to relay_script.