<Number> noun
<Dial>
verb's <Number>
noun specifies what phone number to dial. You can use up to 10 <Number>
s within a <Dial>
to simultaneously call several people. The first person to answer the call will be connected to the caller and the rest of the called numbers will be hung up.
Noun Attributes
Attribute | |
---|---|
sendDigits optional | Play DTMF tones when a call is answered. Useful when dialing numbers with extensions. SignalWire will initially dial the main phone number, then send the DTMF tones for the extension when the automated system answers. |
url optional | A specified URL for a document that runs 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. |
method optional | The method attribute specifies whether the request to action is a GET or a POST . Valid values are GET or POST . Default value is POST . |
statusCallbackEvent optional | The current status of the call. The call moves from initiated to ringing when the phone starts ringing. It moves from ringing to answered when the phone call is answered. Finally, it moves from answered to completed when the call is terminated. The status will be set to completed through the following reasons: busy, canceled, completed, failed, or no-answer. To specify multiple events, separate each one with a space. See below for the different call statuses. |
statusCallback optional | The URL to make requests to for each statusCallbackEvent event. See below for request parameters. |
statusCallbackMethod optional | The type of HTTP request to use when requesting a statusCallback . Default is POST . |
Status values for the statusCallbackEvent
attribute
The statusCallbackEvent
attribute has the following call status values:
Value | |
---|---|
initiated | Dialing of a call has begun. |
ringing | The call has begun ringing. |
answered | The call has been answered. |
completed | The call has been terminated. The status will be set to completed through the following reasons: busy, canceled, completed, failed, or no-answer. |
Request parameters for the statusCallback
URL
You can expect several parameters to be present in the request associated to the statusCallback
URL. First, you have the Standard Request Parameters. Then, you also have the following specific parameters:
Parameter | |
---|---|
CallDuration integer | A duration, in seconds, of the finished call. |
RecordingUrl string | The URL for the audio recording of the call. Only present when CallStatus is completed. |
RecordingSid string | The unique identifier for the recording of the call. Only present when CallStatus is completed. |
RecordingDuration integer | The duration, in seconds, of the recorded audio of the call. Only present when CallStatus is completed. |
Timestamp string | The timestamp, in RFC 2822 format, of when an event occurred. |
CallbackSource string | The source of the call connection. |
Examples
Dialing an Extension
- XML
- JavaScript
- C#
- Python
- Ruby
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Number sendDigits="www5645">
123-456-7890
</Number>
</Dial>
</Response>
const { RestClient } = require("@signalwire/compatibility-api");
const response = new RestClient.LaML.VoiceResponse();
dial = response.dial();
dial.number({ sendDigits: "www5645" }, "123-456-7890");
console.log(response.toString());
using System;
using Twilio.TwiML;
using Twilio.TwiML.Voice;
class Example
{
static void Main()
{
var response = new VoiceResponse();
var dial = new Dial();
dial.Number("123-456-7890", sendDigits: "www5645");
response.Append(dial);
Console.WriteLine(response.ToString());;
}
}
from signalwire.voice_response import VoiceResponse, Dial, Number
response = VoiceResponse()
dial = Dial()
dial.number('123-456-7890', send_digits='www5645')
response.append(dial)
print(response)
require 'signalwire/sdk'
response = Signalwire::Sdk::VoiceResponse.new do |response|
response.dial do |dial|
dial.number('123-456-7890', send_digits: 'www5645')
end
end
puts response.to_s
After entering the phone number, we want to wait a little before entering in the extension. In order to do this, a w
can be placed in front of the extension number. Each w
will wait 0.5 seconds before dialing the extension. In this example, SignalWire will wait 1.5 seconds before dialing the extension 5645.
Concurrent Phone Calls
- XML
- JavaScript
- C#
- Python
- Ruby
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Number>123-456-7890</Number>
<Number>987-654-3210</Number>
<Number>102-938-4750</Number>
</Dial>
</Response>
const { RestClient } = require("@signalwire/compatibility-api");
const response = new RestClient.LaML.VoiceResponse();
dial = response.dial();
dial.number("123-456-7890");
dial.number("987-654-3210");
dial.number("102-938-4750");
console.log(response.toString());
using Twilio.TwiML;
using Twilio.TwiML.Voice;
using System;
class Example
{
static void Main()
{
var response = new VoiceResponse();
var dial = new Dial();
dial.Number("123-456-7890");
dial.Number("987-654-3210");
dial.Number("102-938-4750");
response.Append(dial);
Console.WriteLine(response.ToString());;
}
}
from signalwire.voice_response import VoiceResponse, Dial, Number
response = VoiceResponse()
dial = Dial()
dial.number('123-456-7890')
dial.number('987-654-3210')
dial.number('102-938-4750')
response.append(dial)
print(response)
require 'signalwire/sdk'
response = Signalwire::Sdk::VoiceResponse.new do |response|
response.dial do |dial|
dial.number('123-456-7890')
dial.number('987-654-3210')
dial.number('102-938-4750')
end
end
puts response.to_s
You can simultaneously call up to 10 <Number>
s. The first caller to pick up the phone will be connected to the caller and the rest of the called numbers will be hung up.
Notes on Usage
- You can have up to 10
<Number>
s within a<Dial>
. - If you dial an office number or a phone on airplane mode, the call will be picked up within the first ring and all other calls will be hung up.