Calls
Initiate An Outgoing Call
Initiate an outgoing call on behalf of a user. The user who initiates the call is called first, and upon answering that call, is connected to the other party. The initial call will contain the other party's phone number as the CallerID number.
GET or POST https://api.ubity.com/call
Parameter | Description |
---|---|
key | Your Ubity API key |
exten | The extension or phone number of the user initiating the call (ie. '100') |
number | The extension or phone number to call (ie. '5145551212') |
redirect | The HTTP redirect code and URL that the API must answer (usefull from a web browser) |
cid_name | Let override the default callerid name (you must specify a 'cid_num' too) |
cid_num | Let overdide the default callerid number (you must own that number at Ubity) |
autoanswer | ('on' 'off' '1' or '0' The extension will autoanswer if 'on' or '1') |
Any arbitraty parameter is accepted and will be given back along the callbacks related to that call (see callback section).
The phone or softphone bound to you extension MUST understand the auto-answer SIP header.
Alert-Info: info=alert-autoanswer
% curl -H "Accept: application/json;version=0" "https://api.ubity.com/call?key=KKKK&exten=EEE&number=NNN"
{
"api_call_uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"api_key": "KKKK",
"code": 200,
"diagnostic": "Success",
"mode": "normal",
"stamp": "2018-02-06 10:10",
"url": "https://api.ubity.com/call?key=KKKK&exten=EEE&number=NNN",
"version": 0
}
api_call_uuid
The api_call_uuid
can be found or used with the following method (or because /call was used to trigger a call and you got it in response).
List running calls
GET or POST https://api.ubity.com/calls
Parameter | Description |
---|---|
key | Your Ubity API key |
filter | A simple string to filter calls list |
curl -H 'Accept: application/json;version=0' 'https://api.ubity.com/calls?key=KKKK'
{
"api_key": "KKKK",
"calls": {
"hrVVY8OX0NIkEbwAbK3STB3i_kWlyOZ9Zs5DWsNGsxE": {
"api_call_uuid": "9bab78c0-511f-471e-908f-676ca7ccf8ca",
"answered": true,
"from_callerid_name": "Foo Bar",
"from_callerid_num": "42",
"to_callerid_name": "",
"to_callerid_num": "5556548424",
"ts": 1518555171.0
},
"hrVVY8OX0NIkEbwAbYQYM0DGO9YdFz_v2QvTu257730": {
"answered": true,
"from_callerid_name": "Baz Qwe",
"from_callerid_num": "43",
"to_callerid_name": "Plouf",
"to_callerid_num": "44",
"ts": 1518554523.0
},
},
"code": 200,
"diagnostic": "Success",
"mode": "normal",
"stamp": "2018-02-13 15:54",
"url": "https://api.ubity.com/calls?key=KKKK",
"version": 0
}%
-
In that example, the first call was triggered by the API, so it have a additional data:
api_call_uuid
which is the id that the /call query would have return. -
You can also see that calls is a dictionary. The keys of that dictionary are the long id of each call.
In the example we can see a call with the long id is hrVVY8OX0NIkEbwAbK3STB3i_kWlyOZ9Zs5DWsNGsxE
and the api_call_uuid
is 9bab78c0-511f-471e-908f-676ca7ccf8ca
.
Answering a call
GET or POST https://api.ubity.com/call_answer
Parameter | Description |
---|---|
key | Your Ubity API key |
call | The long id of the call you want to answer |
curl -H 'Accept: application/json;version=0' 'https://api.ubity.com/call_answer?key=KKKK&call=hrVVY8OX0NIkEbwAb4wI7opkNE4xcZ4YVv955CSyXEk'
{
"answered": true,
"api_key": "KKKK",
"code": 200,
"diagnostic": "Success",
"mode": "normal",
"stamp": "2018-02-13 16:18",
"url": "https://api.ubity.com/call_answer?key=KKKK&call=hrVVY8OX0NIkEbwAb4wI7opkNE4xcZ4YVv955CSyXEk",
"version": 0
}
Send a call to voicemail (while ringing)
GET or POST https://api.ubity.com/call_send_to_voicemail
Parameter | Description |
---|---|
key | Your Ubity API key |
call | The long id of the call you want to send to voicemail |
curl -H 'Accept: application/json;version=0' 'https://api.ubity.com/call_send_to_voicemail?key=KKKK&call=hrVVY8OX0NIkEbwAb41tLtzMyxhBdsxSD8cgzglWbRs'
{
"api_key": "KKKK",
"code": 200,
"diagnostic": "Success",
"mode": "normal",
"sent_to_voicemail": true,
"stamp": "2018-02-13 16:17",
"url": "https://api.ubity.com/call_send_to_voicemail?key=KKKK&call=hrVVY8OX0NIkEbwAb41tLtzMyxhBdsxSD8cgzglWbRs",
"version": 0
}
Hangup a call
GET or POST https://api.ubity.com/call_hangup
Parameter | Description |
---|---|
key | Your Ubity API key |
call | The long id of the call you want to hangup |
curl -H 'Accept: application/json;version=0' 'https://api.ubity.com/call_hangup?key=KKKK&call=hrVVY8OX0NIkEbwAbK3STB3i_kWlyOZ9Zs5DWsNGsxE'
{
"api_key": "KKKK",
"code": 200,
"diagnostic": "Success",
"mode": "normal",
"rang off": true,
"stamp": "2018-02-13 16:01",
"url": "https://api.ubity.com/call_hangup?key=KKKK&call=hrVVY8OX0NIkEbwAbK3STB3i_kWlyOZ9Zs5DWsNGsxE",
"version": 0
}
-
The phone or softphone bound to you extension MUST understand the auto-answer SIP infos packet.
Alert-Info: info=alert-autoanswer
↩