Call Control in Conference (Token authentication)

Call Control API is used to perform toolbar actions when dialing through offline campaigns. This API helps in taking a third-party number into a conference and then can Mute, Unmute, Hold, Unhold, and KICK_CALL(which is also DROP) numbers without the interference of Agent login.

To use this API with the help of a token, follow these steps:

  1. Generate the Token: Use the 'Generate Token' API to obtain an authentication token.
  2. Enter the Token ID: Navigate to the right section of this page, under the 'AUTHORIZATION' tab. Here, input the generated token ID.
  3. With the token entered, pass the below header and body parameters:

Parameter

Description

Content-Type

Should be - application/json

action*

CONFERENCE/HOLD/UNHOLD/MUTE/UNMUTE/KICK_CALL

ucid*

Unique ID generated when offline call is initiated

conferenceNumber*

  • *For the In-CcaaS instance use the format:** Prefix "0" (zero) followed by a 10-digit number.
  • *For International instances use the format:** Prefix the country code with a plus sign (+), followed by the phone number.

did*

Phone number through which calls are dialed out to agents and customers

agentPhoneName*

Phone name associated with an agent number

userName

Your CloudAgnet account user name


❗️

Note

  • Desired ‘action’(parameter) impacts the PhoneName that is passed in the parameter field.
  • Parameters with ‘*’ are mandatory parameters.
  • Always pass the agent phone number in the 'conferenceNumber' parameter to use 'KICK_CALL' action
  • No call controller options will be shown to the SIP agent when a conference call is answered

Possible responses

Success response with valid inputs.

{"status": "Success","message": "dialing","ucid": "90174967305497"}

Hitting the request when the token is expired.

{"status": "false","message": "Token Expired","data": null}

Missing Token.

"{""status"": ""false"",""message"": ""Token Should Not be Null or Empty."",
""data"": null}"

Passing Invalid Token.

{"status": "false","message": "Invalid Token","data": null}

Hitting API with valid inputs when the setting "API Authentication" is set to - "Basic Auth"

"{""status"": ""false"",""message"": ""Api Key Should Not be Null or Empty."",
""data"": null}"

Passing Invalid userName Key

"{""status"": ""false"",""message"": ""Username Should Not be Null or Empty."",
""data"": null}"

Passing Invalid userName Value

{"status": "false","message": "Invalid User Details","data": null}

Missing userName key

"{""status"": ""false"",""message"": ""Username Should Not be Null or Empty."",
""data"": null}"

Missing userName Value

"{""status"": ""false"",""message"": ""Username Should Not be Null or Empty."",
""data"": null}"

Passing Invalid Action key

{"status": "Fail","message": "Invalid action"}

Passing Invalid Action Value

{"status": "Fail","message": "Invalid action"}

Missing Action key

{"status": "Fail","message": "Invalid action"}

Missing Action Value

{"status": "Fail","message": "Invalid action"}

Passing Invalid UCID Key

{"status": "Fail","message": "ucid should not be empty and must be numeric"}

Passing Invalid UCID Value

{"status": "Error","message": "call not found"}

Missing UCID key

{"status": "Fail","message": "ucid should not be empty and must be numeric"}

Missing UCID Value

{"status": "Fail","message": "ucid should not be empty and must be numeric"}

Passing Invalid conferenceNumber Key

{"status": "Fail","message": "Please pass valid Conference number"}

Passing Invalid Conference Number Value

{"status": "Fail","message": "Please pass valid Conference number"}

Missing Conference Number key

{"status": "Fail","message": "Please pass valid Conference number"}

Missing Conference Number Value

{"status": "Fail","message": "Please pass valid Conference number"}

an invalid number like 12345 for the conference number

{"status": "Error","message": "call not found"}

if the conference number is already in the same call

{"status":"Error","message":"Number Already Found in Conference"}

if the conference number equals to same agent number

{"status":"Error","message":"Number Already Found in Conference"}

Passing Invalid DID Key

{"status": "Fail","message": "did should not be empty and must be numeric"}

Passing Invalid DID Value

{"status": "Error","message": "call not found"}

Missing DID key

{"status": "Fail","message": "did should not be empty and must be numeric"}

Missing DID Value

{"status": "Fail","message": "did should not be empty and must be numeric"}

Passing Invalid agentPhoneName Key

{"status": "Fail","message": "agentPhoneName should not be empty"}

Passing Invalid agentPhoneName Value

{"status": "Fail","message": "Please pass valid agentPhoneName"}

Missing agentPhoneName key

{"status": "Fail","message": "agentPhoneName should not be empty"}

Missing agentPhoneName Value

{"status": "Fail","message": "agentPhoneName should not be empty"}

action=CONFERENCE

{"status": "Success","message": "dialing","ucid": "90174967305497"}

action=HOLD

{"status":"Success","message":"hold success"}

action=UNHOLD

{"status":"Success","message":"Call is Un-hold successfully"}

action=MUTE

{"status":"Success","message":"Call got mute successfully"}

action=UNMUTE

{"status":"Success","message":"Call unmute successfull"}

action=KICK_CALL

{"status": "Success","message": "call got disconnected"}

When there is no call with the provided UCID.

{"status": "Error","message": "call not found"}

Re adding the same number to conference.

"{""status"": ""Success"",""message"": ""dialing"",
""ucid"": ""90149696880184""}"


📘

Further Insights

By default, the domain name is https://in1-ccaas-api.ozonetel.com. Please refer here to change based on the need.

Language
Credentials
Bearer
URL
Click Try It! to start a request and see the response here!