Dial¶
The dial
verb initiates a new call by connecting to a telephone number, a registered SIP user, or a SIP URI.
In the example, the dial
verb creates a new call and joins it to a parent call. The target
property specifies multiple call destinations attempted simultaneously.
{
"verb": "dial",
"actionHook": "dial",
"callerId": "+491173331212",
"answerOnBridge": true,
"dtmfCapture": ["*2", "*3"],
"dtmfHook": {
"url": "/dtmf",
"method": "GET"
},
"amd": {
"actionHook": "amd",
"recognizer": {
"vendor": "microsoft",
"language": "en-US",
}
},
"target": [
{
"type": "phone",
"number": "+49XXXXXXXXXXX",
"trunk": "Twilio"
},
{
"type": "sip",
"sipUri": "sip:49XXXXXXXXXXX@sip.myTrunk.com",
"auth": {
"username": "John",
"password": "Doe"
}
},
{
"type": "user",
"name": "jane@sip.example.com"
}
]
}
When multiple endpoints are mentioned in the target
array, all the endpoints are dialed at the same time (also known as simring or blast dial). The call will be connected to the first endpoint that answers the call or completes a call screening application, as specified in the confirmHook
property.
There are several types of endpoints that you can dial:
- A telephone number. This call attempt will be sent out through your configured carrier.
- A SIP endpoint, identified by a SIP URI (and possibly authentication parameters).
Configuration¶
The full set of configuration parameters:
Parameter | Description | Required |
---|---|---|
actionHook | A webhook to receive HTTP POST when the call ends. The webhook includes the properties describing the outcome of the call attempt. Default is dial |
No |
amd | Enable the Answering Machine Detection. | No |
answerOnBridge | If the parameter for an inbound call is true , the call will continue to ring until the dialed number answers. Once the call is answered, a 200 OK message will be sent on the inbound call. However, if this parameter is false , the inbound call will be connected as soon as the outbound call is placed.The default value is false . |
No |
callerId | The inbound caller's phone number, which is displayed to the number that was dialed. The caller ID must be a valid E.164 number. The default value is the caller ID received from the inbound call. |
No |
confirmHook | A webhook for an application to run on the callee's end after the dialed number answers but before the call is connected. This allows the caller to provide information to the dialed number, giving them the opportunity to decline the call, before they answer the call. Note that if you want to run different applications on specific destinations, you can specify the url property on the nested target object. |
No |
dialMusic | The URL specifies a WAV or MP3 audio file containing custom audio or ringback tones to play for the caller while the outbound call is ringing. | No |
dtmfCapture | An array of strings representing DTMF sequences that trigger a mid-call notification to the application via the configured dtmfHook . |
No |
dtmfHook | A notification-only webhook to trigger on dtmfCapture entry matches. |
No |
headers | An object containing SIP headers to apply to the outbound call attempts. | No |
listen | A nested listen parameter streams call audio to a remote server via websockets. | No |
referHook | A webhook to invoke an application when a SIP REFER is received on a dialed call. If the application accepts the REFER , it should return HTTP status code 200 , and Voice Gateway will send a SIP 202 Accepted . Any non-success status will cause Voice Gateway to send a SIP response with the same status code. a webhook to invoke an application when a SIP REFER is received on a dialed call. |
No |
target | An array of up to 10 destinations to simultaneously dial. The entity to answer the call will be connected to the caller and the rest of the called numbers will be hung up. | Yes |
timeLimit | The maximum length of the call in seconds. | No |
timeout | The ring-no-answer timeout in seconds. The default value is 60. |
No |
transcribe | A nested transcribe action, which will cause the call to be transcribed. | No |
Target Types¶
PSTN Number¶
Parameter | Description | Required |
---|---|---|
type | Select a phone type. |
Yes |
confirmHook | A webhook that triggers an application on the callee's end after the dialed number answers but before the call is connected. This action will override any confirmHook property set on the parent dial . |
No |
number | A telephone number in E.164 format. | Yes |
trunk | If provided, this should be the name of a carrier that you created in the Voice Gateway Self-Service portal, which you want to use to complete this call. If not provided, Voice Gateway will select one of your configured carriers that has an outbound SIP trunk. | No |
SIP Endpoint¶
Parameter | Description | Required |
---|---|---|
type | Select a sip type. |
Yes |
confirmHook | A webhook that triggers an application on the callee's end after the dialed number answers but before the call is connected. This action will override any confirmHook property set on the parent dial . |
No |
sipUri | SIP URI to send the call to. | Yes |
auth | Authentication credentials. | No |
auth.username | SIP username. | No |
auth.password | SIP password. | No |
If the SIP Carrier provider requires username/password authentication, specify the credentials in the auth
parameter.
actionHook properties¶
After the dial
verb ends, the actionHook
will be triggered and it will contain the following properties:
Property Name | Description |
---|---|
dial_call_sid | The unique call_sid identifier for the child call. |
dial_status | The final status of the call attempt, one of completed , failed , busy , no-answer , or queued . |
dial_sip_status | The SIP status of the final response to the INVITE that was sent. |
amd.hook properties¶
The webhook triggers when the amd
parameter is used and Voice Gateway identifies the called party as either human or machine, or detects a tone or beep.
Property Name | Description |
---|---|
event | Indicates one of the following events: amd , beep , or silence . |
amd_type | Specifies either human or machine . This property is provided only when the event is amd . |