Transfer active Call
Transfer a call to another phone number. This is a subset of update calls.
Request URL
POST
https://api.catapult.inetwork.com/v1/users/{userId}/calls/{callId}
Ensure call is active
To answer a call (or set active) be sure to do one of the following:
- All incoming calls to be auto-answered. Set
{"autoAnswer": true}
flag in yourapplication
. - Update the individual Call by:
POST
to the {callId} with{"state": "active"}
.
Supported Parameters
Parameter | Description | Mandatory |
---|---|---|
state | transferring to transfer the incoming call to another line. The Call must be active |
Yes |
recordingEnabled | Indicates if the call should be recorded. Values true or false . You can turn recording on/off and have multiple recordings on a single call. |
No |
recordingFileFormat | The file format of the recorded call. Supported values are wav (default) and mp3 . |
No |
transferTo | Phone number or SIP address that the call is going to be transferred to. | No |
transferCallerId | This is the caller id that will be used when the call is transferred. This parameter is only considered in transfer state. - transferring an incoming call: allowed values are 1) private 2) the incoming call from number or 3) any Bandwidth number owned by user.- transferring an outgoing call call: allowed values are 1) private or 2) any Bandwidth phone number owned by user. |
No |
callbackUrl | The server URL where the call events for the new call will be sent upon transferring. | No |
whisperAudio | Audio to be played to the caller that the call will be transferred to. See Audio Parameters below. | No |
Audio Parameters
Parameter | Description | Mandatory |
---|---|---|
fileUrl | The location of an audio file to play (WAV and MP3 supported). | No |
sentence | The sentence to speak. | No |
gender | The gender of the voice used to synthesize the sentence. It will be considered only if sentence is not null. The female gender will be used by default. | No |
locale | The locale used to get the accent of the voice used to synthesize the sentence. Currently audio supports: - en_US or en_UK (English) - es or es_MX (Spanish) - fr or fr_FR (French) - de or de_DE (German) - t or it_IT (Italian) It will be considered only if sentence is not null/empty. The en_US will be used by default. |
No |
voice | The voice to speak the sentence. Audio currently supports the following voices: - English US: Kate, Susan, Julie, Dave, Paul - English UK: Bridget - Spanish: Esperanza, Violeta, Jorge - French: Jolie, Bernard - German: Katrin, Stefan - Italian: Paola, Luca It will be considered only if sentence is not null/empty. Susan’s voice will be used by default. |
No |
Example 1 of 2: Transfer a call using the caller Id of the party being transferred
curl -v -X POST https://api.catapult.inetwork.com/v1/users/{userId}/calls/{callId}\
-u {token}:{secret} \
-H "Content-type: application/json" \
-d \
'
{
"state" : "transferring",
"transferTo : "+19192223333"
}'
var transferPayload = {
transferTo : "+18382947878",
};
//Using Promises
client.Call.transfer("callId", transferPayload).then(function (res) {});
await client.Call.TransferAsync("callID", "+18382947878");
call.update({:state => 'transferring', :transfer_to => '+18382947878' })
Example 2 of 2: Transfer a call and play audio to the '838-294-7878' Line
curl -v -X POST https://api.catapult.inetwork.com/v1/users/{userId}/calls/{callId}\
-u {token}:{secret} \
-H "Content-type: application/json" \
-d \
'
{
"state":"transferring",
"transferCallerId": "private"
"transferTo": "+18382947878",
"whisperAudio": {
"sentence" : "Hello! You have an incoming call"
}
}'
//Transfer call
var speakSentence = {
transferTo : "+18382947878",
transferCallerId : "private",
whisperAudio : {
sentence : "You have an incoming call",
gender : "female",
voice : "julie",
locale : "en"
}
};
//Using Promises
client.Call.transfer("callId", speakSentence).then(function (res) {});
await client.Call.TransferAsync("callID", "+18382947878", "private", new WhisperAudio {
Sentence = "You have an incoming call",
Gender = "female",
Voice = "julie",
Locale = "en"
});
call.update({
:state => 'transferring',
:transfer_to => '+18382947878',
:transfer_caller_id => 'private',
:whisper_audio => {
:sentence => 'You have an incoming call',
:gender => 'female',
:voice => 'julie',
:locale => 'en'
}
})