Connect to a phone number, SIP URI, Call Fabric resource, queue, or WebSocket stream.
Connects the current call to a destination — a phone number, SIP URI, Call Fabric Resource, queue, or WebSocket stream. The connection mode is determined by which property you use. See dialing strategies below.
Delay answer until the B-leg answers.
Bearer token sent as an Authorization header during the WebSocket handshake. Stream destinations only.
An array of call state event names to be notified about. Allowed event names are created, ringing, answered, and ended. Can be overwritten on each destination.
Webhook url to send call status change notifications to for all legs. Can be overwritten on each destination. Authentication can also be set in the url in the format of username:password@url. Learn more about status callbacks.
Audio codec for the stream. Supported values: PCMU, PCMA, G722, L16. Codec can include rate and ptime modifiers (e.g., PCMU@40i, L16@24000h@40i). Stream destinations only.
Comma-separated string of codecs to offer. Has no effect on calls to phone numbers.
Confirmation to execute when the call is connected. Can be either:
The amount of time, in seconds, to wait for the confirm script to execute.
Custom key-value pairs sent in the WebSocket start message. Stream destinations only.
The encryption method to use for the call. Possible values: mandatory, optional, forbidden.
Caller ID number. Optional. Can be overwritten on each destination.
Custom SIP headers to add to INVITE. Has no effect on calls to phone numbers.
The name of the header.
The value of the header.
Maximum duration, in seconds, allowed for the call.
Stream name identifier. Stream destinations only.
SIP password to use for authentication when dialing a SIP URI. Has no effect on calls to phone numbers.
Enable realtime mode for bidirectional audio. Stream destinations only.
Action to take based on the result of the call. This will run once the peer leg of the call has ended.
Will use the switch properties when the return_value is a object, and will use the cond properties method when the return_value is an array.
See Variables for details.
Array of play URIs to play as ringback tone.
Time, in seconds, to set the SIP Session-Expires header in INVITE. Must be a positive, non-zero number. Has no effect on calls to phone numbers.
Webhook URL to deliver status events. For phone, SIP, and Call Fabric destinations, reports the connect operation status (connecting, connected, failed, disconnected). See Connect Status Callbacks. For stream destinations, reports stream status notifications. See Stream Status Callbacks.
HTTP method for the status webhook. Possible values: GET, POST. Stream destinations only.
Maximum time, in seconds, to wait for an answer.
SWML to execute after the bridge completes. This defines what should happen after the call is connected and the bridge ends.
Can be either:
Required when connecting to a queue (when to starts with queue:).
SIP username to use for authentication when dialing a SIP URI. Has no effect on calls to phone numbers.
If true, WebRTC media is offered to the SIP endpoint. Has no effect on calls to phone numbers.
The connect object supports four mutually exclusive dialing strategies. Use exactly one of the following properties:
Single destination to dial. The value format determines the destination type:
+15552345678)sip:alice@example.com)/public/test_room)queue: prefix (e.g., queue:support)stream:wss:// prefix (e.g., stream:wss://example.com/audio)destinationDestination to dial. Can be:
+15552345678)sip:alice@example.com)/public/test_room)queue:support)stream:wss://example.com/audio)An array of call state event names to be notified about. Allowed event names are created, ringing, answered, and ended.
Webhook url to send call state change notifications to. Authentication can also be set in the url in the format of username:password@url.
Confirmation script to execute on this destination when answered. Overrides the top-level confirm. Applies to phone, SIP, and Call Fabric destinations.
Seconds to wait for the confirm script to execute on this destination. Overrides the top-level confirm_timeout. Applies to phone, SIP, and Call Fabric destinations.
Media encryption (SRTP) for this destination. Overrides the top-level encryption. Applies to SIP destinations only.
Possible values: mandatory, optional, forbidden.
Caller ID number. Optional.
Maximum time, in seconds, to wait for destination to answer.
Set by the method:
connected | failed.connect_result.A POST request will be sent to call_state_url with a JSON payload when the call state changes.
Only events listed in call_state_events will be sent (default: ended).
The type of event. Always calling.call.state for this method.
The channel for the event, includes the SWML session ID.
Unix timestamp (float) when the event was generated.
The project ID associated with the call.
The Space ID associated with the call.
An object containing call state parameters.
The call ID.
The node handling the call.
The current call state. Valid values: created, ringing, answered, ended.
The direction of the call leg (e.g., outbound).
Details about the device involved in the call.
The type of device (e.g., phone, sip).
The originating phone number.
The destination phone number.
The reason the call ended (only present when call_state is ended). Valid values: hangup, busy, no_answer, cancel, declined, error.
When you provide a top-level status_url, SignalWire sends HTTP POST requests reporting the overall status of the connect operation.
The type of event. Always calling.call.connect for connect status events.
The channel for the event, includes the SWML session ID.
Unix timestamp (float) when the event was generated.
The project ID associated with the call.
The Space ID associated with the call.
An object containing connect status parameters.
The call ID.
The node handling the call.
The segment ID for the call leg. Present when a segment ID has been assigned.
The tag associated with the call. Present when a tag has been set.
The current connect state. Possible values:
connecting — Attempting to connectconnected — Successfully connectedfailed — Connection faileddisconnected — Connection endedThe reason the connection failed. Only present when connect_state is failed.
Details about the connected peer. Present when connect_state is connected.
The peer’s call ID.
The tag associated with the peer call. Present when a tag has been set on the peer.
The node ID of the node handling this call.
The queue ID when the peer was connected via a queue. Only present for queue-based connections.
The queue name when the peer was connected via a queue. Only present for queue-based connections.
Details about the peer’s device.
When connecting to a WebSocket stream destination with a status_url, SignalWire sends HTTP requests reporting the stream status.
The type of event. Always calling.call.stream for stream status events.
The channel for the event, includes the SWML session ID.
Unix timestamp (float) when the event was generated.
The project ID associated with the call.
The Space ID associated with the call.
An object containing stream status parameters.
The control identifier for the stream.
The current stream state. Possible values:
streaming — Stream is activefinished — Stream has endedThe WebSocket URL of the stream.
The stream name, if one was provided.
connect with Call FabricUse a Call Fabric Resource with the connect method by simply including the Resource Address.
Learn more about Resources and Addresses.