Skip to main content

Connect

Dial a SIP URI or phone number.

Parameters

NameTypeDefaultDescription
confirmOptionalstringA URL that returns SWML to execute when the call is connected.
fromOptionalstringCalling party's caller ID numberCaller ID number. Optional. Can be overwritten on each destination.
headersOptionalobjectCustom SIP headers to add to INVITE. Has no effect on calls to phone numbers.
codecsOptionalstringBased on SignalWire settingsComma-separated string of codecs to offer. Has no effect on calls to phone numbers.
webrtc_mediaOptionalbooleanfalseIf true, WebRTC media is offered to the SIP endpoint. Has no effect on calls to phone numbers. Optional. Default is false.
session_timeoutOptionalintegerBased on SignalWire settingsTime, 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.
ringbackOptionalstring[]Plays audio from the providerArray of play URIs to play as ringback tone.
timeoutOptionalinteger60 secondsMaximum time, in seconds, to wait for an answer.
max_durationOptionalinteger14400 seconds (4 hours)Maximum duration, in seconds, allowed for the call.
answer_on_bridgeOptionalbooleanfalseDelay answer until the B-leg answers.
call_state_urlOptionalstringWebhook url to send call state change notifications to for all legs. Can be overwritten on each destination.
call_state_eventsOptionalstring[]['ended']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.

In addition, you are required to specify one and only one of the following dialing parameters:

NameTypeDescription
tostringSingle destination to dial. Possible values are a phone number (i.e.: "+15552345678") or sip uri (i.e. "sip:alice@example.com").
serialobject[]Array of destination objects to dial in order.
parallelobject[]Array of destination objects to dial simultaneously.
serial_parallelobject[][]Array of arrays. Inner arrays contain destination objects to dial simultaneously. Outer array attempts each parallel group in order.

Parameters for destination

NameTypeDefaultDescription
toRequiredstringPhone number or SIP URI to dial.
fromOptionalstringCalling party's caller ID numberCaller ID number. Optional.
timeoutOptionalinteger60 secondsMaximum time, in seconds, to wait for destination to answer.
call_state_urlOptionalstringWebhook url to send call state change notifications to.
call_state_eventsOptionalstring[]['ended']An array of call state event names to be notified about. Allowed event names are created, ringing, answered, and ended.

Variables

Set by the method:

  • connect_result: (out) connected | failed.
  • connect_failed_reason: (out) Detailed reason for failure.
  • return_value: (out) Same value as connect_result.

Examples

Use connect with Call Fabric

Use a Call Fabric Resource with the connect method by simply including the Resource Address.

Learn more by reading our Introduction to Call Fabric or the guide to Managing Resources.

sections:
main:
- answer
- play:
volume: 10
urls:
- silence:1.0
- say:Hello, connecting to a fabric Resource that is a room
- connect:
to: "/public/test_room"

Dial a single phone number

version: 1.0.0
sections:
main:
- connect:
from: "+15553214321"
to: "+15551231234"

Dial a single phone number and go to voicemail on failure

version: 1.0.0
sections:
main:
- connect:
from: "+15553214321"
to: "+15551231234"
result:
case:
connected:
- hangup
default:
- execute: "voicemail"
- hangup

Dial numbers in parallel

version: 1.0.0
sections:
main:
- connect:
parallel:
- to: "+15551231234"
- to: "+15553214321"

Dial SIP serially with a timeout

version: 1.0.0
sections:
main:
- connect:
timeout: 20
serial:
- from: "sip:chris@example.com"
to: "sip:alice@example.com"
- to: "sip:bob@example.com"
codecs: PCMU