HoldCall

更新时间:
复制 MD 格式

You can invoke HoldCall to hold the call associated with a specified call ID under a specified instance. After the call is held, it will be temporarily suspended, and the held party will hear hold music.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

No authorization for this operation. If you encounter issues with this operation, contact technical support.

Request parameters

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

Instance ID.

ccc-test

UserId

string

No

Agent ID.

agent@ccc-test

DeviceId

string

No

A unique ID provided by the agent endpoint to represent an agent workbench. An agent can have multiple workbenches of different types, such as browser, iOS, or Android, but only one can be active at a time.

ACC-YUNBS-1.0.10-****

JobId

string

Yes

Call job ID.

job-6582589278232****

ChannelId

string

Yes

Channel ID to be held.

ch:customer:010123****->1318888****:1609255715825:job-6582589278232****

Music

string

No

Name of the hold music. This parameter is optional and defaults to empty.

Response elements

Element

Type

Description

Example

object

Code

string

Response code.

OK

HttpStatusCode

integer

HTTP status code.

200

Message

string

Response message.

RequestId

string

Request ID.

174F7777-2F6C-4F10-B889-C698E26C1AE0

Params

array

List of response parameters.

string

Response parameter.

Data

object

Data.

CallContext

object

Call context environment.

CallType

string

Call type.

Valid values:

  • INBOUND :

    Inbound

  • BARGE :

    Barge-in

  • CONSULTANT :

    Consultation

  • CONFERENCE :

    Conference

  • MONITOR :

    Listener

  • INTERNAL :

    Internal Call

  • OUTBOUND :

    Outbound

  • INTERCEPT :

    Intercept

  • BACK2BACK :

    Back-to-Back Call

  • PREDICTIVE :

    Predictive Outbound

  • COACH :

    Coaching

OUTBOUND

InstanceId

string

Instance ID.

ccc-test

JobId

string

Call ID.

job-6582589278232****

ChannelContexts

array<object>

List of call channels.

object

Call channel.

ReleaseInitiator

string

The party that initiated the release of the call channel, indicating who first initiated the hang-up for this call channel.

1390501****

ChannelState

string

The status of the call channel.

Valid values:

  • CREATED :

    Created

  • ANSWERED :

    Answered

  • RELEASED :

    Released

  • RETIRED :

    Out Of Effect

  • EARLY_MEDIA :

    Early Media

  • NONE :

    Initial Status

  • RINGING :

    Ringing

ANSWERED

Destination

string

Called party of the call channel.

8001****

UserId

string

The agent ID associated with the voice channel. This field is empty if the channel belongs to a Customer.

agent@ccc-test

SkillGroupId

string

The skill group ID associated with the channel. In inbound scenarios, the associated skill group ID is determined by the skill group configured in the IVR transfer-to-agent module. In outbound scenarios, the associated skill group ID is the ID of the first skill group the agent signed into.

skillgroup@ccc-test

Timestamp

integer

The UNIX timestamp (in milliseconds) of the most recent status change of the channel.

1609255716900

ReleaseReason

string

The release reason of the call channel, indicating why the current call channel was released. The value comes from the response codes defined in the SIP protocol. Customers can refer to the SIP protocol to analyze the release reason.

404 - No destination

CallType

string

The call type of the channel.

Valid values:

  • INBOUND :

    Inbound

  • BARGE :

    Barge

  • CONSULTANT :

    Consultation

  • CONFERENCE :

    Conference

  • MONITOR :

    Listener

  • INTERNAL :

    Internal Call

  • OUTBOUND :

    Outbound

  • INTERCEPT :

    Intercept

  • BACK2BACK :

    Back-to-Back

  • PREDICTIVE :

    Predictive outbound call

  • COACH :

    Coaching

OUTBOUND

JobId

string

The call ID.

job-6582589278232****

ChannelId

string

The channel ID.

ch:user:1390501****->8032****:1609138902226:job-653821410368****

Originator

string

The calling party of the voice channel.

1318888****

UserExtension

string

The extension number of the agent associated with the channel.

8001****

UserContext

object

Agent context environment.

Extension

string

The agent's extension number.

8001****

Heartbeat

integer

The time when the last heartbeat was received from the agent, formatted as a UNIX timestamp in milliseconds.

1609255716908

WorkMode

string

Work mode.

Valid values:

  • ON_SITE :

    On-site mode

  • OFF_SITE :

    Off-site mode

  • OFFICE_PHONE :

    Office phone mode

ON_SITE

DeviceId

string

Device ID, the identity ID of a browser-based Web Real-Time Communication (WebRTC) softphone or a physical phone device. Only one type of device can be registered at a time.

ACC-YUNBS-1.0.10-****

UserId

string

Agent ID.

agent@ccc-test

Reserved

integer

The time when the agent was most recently reserved. Being reserved means an incoming call will soon be assigned to this agent. The format is a UNIX timestamp in milliseconds.

1609255715822

BreakCode

string

Break status code, which can be either System-defined or Custom-defined. System-defined break codes include: Warm-up (temporary break state after an agent is published and before becoming idle), RingingTimeout (break caused by agent ringing timeout), and RejectCall (break caused by agent call rejection). There are no restrictions on Custom-defined status codes; customers can define them according to their business needs.

Valid values:

  • RingingTimeout :

    Break due to agent ringing timeout

  • RejectCall :

    Break due to agent call rejection

  • Warm-up :

    Temporary break state after an agent is published and before becoming idle

Warm-up

InstanceId

string

Instance ID.

ccc-test

OutboundScenario

boolean

Indicates whether the agent is in outbound-only mode.

false

Mobile

string

The agent's personal phone number.

1390000****

JobId

string

Call ID.

job-6582589278232****

UserState

string

Agent status.

Valid values:

  • READY :

    Idle

  • WORKING :

    Post-processing

  • DIALING :

    Dialing

  • BREAK :

    Break

  • OFFLINE :

    Offline

  • TALKING :

    Talking

  • RINGING :

    Ringing

TALKING

SignedSkillGroupIdList

array

List of skill group IDs that the agent has signed into.

string

Skill group ID.

skillgroup1@ccc-test

Examples

Success response

JSON format

{
  "Code": "OK",
  "HttpStatusCode": 200,
  "Message": "无",
  "RequestId": "174F7777-2F6C-4F10-B889-C698E26C1AE0",
  "Params": [
    "无"
  ],
  "Data": {
    "CallContext": {
      "CallType": "OUTBOUND",
      "InstanceId": "ccc-test",
      "JobId": "job-6582589278232****",
      "ChannelContexts": [
        {
          "ReleaseInitiator": "1390501****",
          "ChannelState": "ANSWERED",
          "Destination": "8001****",
          "UserId": "agent@ccc-test",
          "SkillGroupId": "skillgroup@ccc-test",
          "Timestamp": 1609255716900,
          "ReleaseReason": "404 - No destination",
          "CallType": "OUTBOUND",
          "JobId": "job-6582589278232****",
          "ChannelId": "ch:user:1390501****->8032****:1609138902226:job-653821410368****",
          "Originator": "1318888****",
          "UserExtension": "8001****"
        }
      ]
    },
    "UserContext": {
      "Extension": "8001****",
      "Heartbeat": 1609255716908,
      "WorkMode": "ON_SITE",
      "DeviceId": "ACC-YUNBS-1.0.10-****",
      "UserId": "agent@ccc-test",
      "Reserved": 1609255715822,
      "BreakCode": "Warm-up",
      "InstanceId": "ccc-test",
      "OutboundScenario": false,
      "Mobile": "1390000****",
      "JobId": "job-6582589278232****",
      "UserState": "TALKING",
      "SignedSkillGroupIdList": [
        "skillgroup1@ccc-test"
      ]
    }
  }
}

Error codes

HTTP status code

Error code

Error message

Description

400 Parameter.Blank The parameter %s may not be null or blank.
400 InvalidOperation.ChannelState The operation is not allowed. Channel stats (%s) does not meet expectations (%s).
400 InvalidOperation.UserState The operation is not allowed. User state (%s) does not meet expectations (%s).
500 InternalService.CTI An internal CTI service error occurred. %s
404 NotExists.ChannelId The specified channel %s does not exist in call %s.
404 NotExists.InstanceId The specified instance %s does not exist.
404 NotExists.JobId The call %s does not exist.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.