Dial
The <Dial> verb connects the current caller to another phone . If the called party picks up, the two parties are connected and can communicate until one hangs up. If the called party does not pick up,
Examples
Examples of using the <Dial> verb.
Dial Attributes
Name
Allowed Values
Default Value
action
relative or absolute URL
no default for <Dial>
method
GET, POST
POST
timeout
positive integer in seconds
30 seconds
timeLimit
positive integer (seconds)
14400 seconds (4 hours)
callerId
a valid phone number, or client identifier if you are dialing a <Client>.
Caller’s callerId
record
true, false
false
dialMusic
relative or absolute URL
no default
action. The action attribute takes a URL as the argument. When the dialed call ends, CallAPI will make a GET or POST request to this URL using the parameters below. If an action URL is provided, CallAPI will continue the current call after the dialed party has hung up, using the RCML received in your response to the action URL request. Any RCML verbs occurring after a which specifies an action attribute are unreachable. If no action is provided, will finish and CallAPI will move on to the next RCML verb in the document. If there is no next verb, CallAPI will end the phone call.
method. The method attribute takes the value of 'GET' or 'POST'. This tells CallAPI whether to request the action URL via an HTTP GET or POST. This attribute is modeled after the HTML form 'method' attribute.
timeout The timeout attribute sets the time (in seconds) that waits for the called party to answer the call.
timelimit The timeLimit attribute sets the maximum duration of the in seconds.
callerId The callerId attribute lets you specify the caller ID that will appear to the called party when CallAPI makes the call. By default, when you put a <Dial> in your RCML response to CallAPI's inbound call request, the caller ID that the dialed party sees is the inbound caller’s caller ID. If you are dialing a <Client> , you can set a client identifier as the callerId attribute. For example, if you set up a client for incoming calls and you are dialing it, you could set the callerId attribute to client:thomas.
record. The record attribute lets you specify whether the call will be recorded or not. By default, the call is not recorded. If you set the attribute to 'true' CallAPI will start recording when the two calls are bridged. The current release of CallAPI does not support recordings for Dial Conference. This feature will be available in the next release.
dialMusic The dialMusic attribute lets you specify a custom RingBack tone to be played. The attribute should be set to a valid URL pointing to WAV file.
Request Parameters
You can nest the following nouns within the <Dial> verb: ,<Number> , <Client> and <Conference> .
Parameter
Description
DialCallStatus
The outcome of the <Dial> attempt. See the DialCallStatus section below for details.
DialCallSid
The call sid of the new call leg. This parameter is not sent after dialing a conference.
DialCallDuration
The duration in seconds of the dialed call. This parameter is not sent after dialing a conference.
RecordingUrl
The URL of the recorded audio. This parameter is only sent if record="true" is set on the Dial
verb, and does not include recordings from the <Record> verb or Record=True on REST API calls..
DialCallStatus Values
Parameter
Description
completed
The called party answered the call and was connected to the caller.
busy
CallAPI received a busy signal when trying to connect to the called party.
no-answer
The called party did not pick up before the timeout period passed.
failed
CallAPI was unable to route to the given phone number. This is frequently caused by dialing a properly formated but non-existent phone number.
canceled
The call was canceled via the REST API before it was answered.
The current release of CallAPI doesn’t support recording for Dial Conference. This feature will be available in the next release
Nesting. You can nest the following nouns within <Dial>: <Number>, <Client>, <Conference>
Last updated