Reference Turnkey Applications Tutorials Visual Designer
Reference Turnkey Applications Tutorials Visual Designer
    • REST API
      • Overview
      • API Endpoint
      • Authentication
      • Requests
      • Responses
      • Paging
      • Reason Codes Dictionary
    • Management APIs
      • Accounts
      • Identity Access Management BETA
        • Identity Access Management Overview
        • Identity Access Management API
          • User Management
            • Create a User
            • Update a User
            • Retrieve a User
            • Delete a User
          • API Keys Management
            • Create an API Key
            • Update an API Key
            • Retrieve an API Key
            • Delete an API Key
      • Applications
      • Clients
        • Create a Client
        • Delete a Client
        • Change Client’s Password
        • Get a List of Available Clients
      • Incoming Phone Numbers
        • IncomingPhoneNumber Instance Resource
        • IncomingPhoneNumbers List Resource
        • Local IncomingPhoneNumber Factory Resource
        • Toll-Free IncomingPhoneNumber Factory Resource
        • Mobile IncomingPhoneNumber Factory Resource
        • Attach a phone number to an application
        • Enable Incoming MMS for an Application
        • Delete a phone number
        • List of Phone Numbers
        • Incoming Phone Number Regex Support
      • Notifications
      • Usage Records
      • Trace Records
    • Voice
      • Calls
        • Call List Resource URI
        • Making a Call
        • Modifying Live Calls
        • Examples
        • List Filter
        • Paging Information
      • Conference Management
        • Supported Operations
        • Conference List Resource URI
      • Conference Participants Management
        • Participants List Resource URI
      • Gather DTMF
      • Gather Speech
      • Say
      • Play
      • Hold
      • Recordings
      • Refers
        • Resource Properties
        • Supported Operations
        • Paging Information
      • Resume
      • SIP Refer Support
    • Messages API - BETA
      • Overview
      • Channel Identities
      • Send Message
      • Status Callback Parameters
      • Status Callback Events
      • Receive Message
        • Incoming Message Request Parameters
      • Get Message List
      • Get Single Message
      • Message Attributes
      • Status Description
    • SMS
      • Messages
        • Send SMS
        • Get SMS List
        • Get single SMS Information
        • SMS Attributes
      • Error Codes
    • Email
    • RCML
      • Overview
        • Interacting with Your Application
        • RCML Verbs
      • Dial
        • Client
        • Conference
        • Number
        • SIP
      • Email
      • Gather
      • Say
      • Play
      • SMS
      • Message - Beta
      • Hold
      • Resume
      • Hangup
      • Pause
      • Redirect
      • Record
      • Reject
      • Refer
    • Visual Designer API
      • List Application Templates
      • :List a Specific Application Template
      • Create a Visual Designer Application
      • Get Application Details
      • Save Application Changes
      • Create Application Parameters
      • List Application Parameters
      • Delete Application Parameters
      • Upload Application Media Files
      • List Application Media Files
      • Play Application Media Files
      • Delete Application Media Files
      • Get Application Logs
      • Delete Application Logs
      • Get Application Settings
      • Modify Application Settings
      • Rename an Application
      • Delete an Application
      • Get Visual Designer Configuration
    • Turnkey Apps APIs
      • Smart 2FA
        • Sending One-Time Passwords
        • Verifying One-Time Passwords
        • Cancel One-Time Passwords
        • Session Detail Record (SDR)
        • Get list of One-Time Passwords
        • Get a Single One-Time Password
        • Usage Record One-Time Passwords
        • Common Response Error Code
        • Limit
          • Create Limit
          • Update Limit
          • Delete Limit
          • Get List of Limits
      • Call Queuing
      • Auto Attendant
        • Users
        • Announcement
        • Auto Attendant System
        • Menu
        • Schedule
        • Phone Number
        • Usage Records
        • Third Party Integration
      • Number Masking
        • Application
        • Mask Number Pool
        • Context
        • Participants
        • Interactions
        • Usage Records
      • Task Router
docs 1.0
  • docs
    • 1.0
  • docs
  • Enterprise:RCML
  • Enterprise:Hold

Hold

Hold

During a programmable SIP call, the RCML <Hold> Verb instructs Restcomm to put the remote party on hold with silence or music on hold.Calls wait on hold until the call is resumed via the <Resume> verb. Calls wait on hold until the call is resumed via the <Resume> verb.

The <Hold> feature can be invoked via REST API as well.

Hold Attributes

Name Allowed Values Default Value

action

relative or absolute URL

none

method

GET, POST

POST

holdMusic

absolute URL

none

Action Attribute

The 'action' attribute takes a URL as an argument.

After Hold executes, Restcomm will make a GET or POST request to this URL including the parameters below.

If you provide an 'action' URL, Restcomm will continue the current call after the hold finished, using the RCML received in your response to the 'action' URL request.

Any RCML verbs occuring after a <Hold> which specifies an 'action' attribute are unreachable.

If no 'action' is provided, <Hold> will finish and Restcomm will move on to the next RCML verb in the document.

If there is no next verb, Restcomm will end the phone call.

Method Attribute

The 'method' attribute takes the value 'GET' or 'POST'.

This tells Restcomm whether to request the URL via HTTP GET or POST.

HoldMusic Attribute

The 'holdMusic' attribute lets you specify a custom music file to be played while the caller is on Hold.

The file will be played in a loop until the call is resumed or modified through Live Call Modification.

The attribute value is a valid URL pointing to WAV file.

Hold Action Parameters

The Restcomm parameters passed to your application in its asynchronous request to the Hold action URL. The list of basic parameters can be found in the RCML Voice Request documentation.

The <Hold> request also passes these additional parameters:

Parameter Description Allowed Values

HoldStatus

Provides the application with our understanding (based on SIP re-INVITE transaction messages) of the status of the Hold.

held, failed, no-answer

HoldSipResponseCode

The SIP response code received in response to the HOLD request sent to the SIP endpoint.

integer

Notice that Restcomm will also send the standard RCML Voice parameters in the request.

Nesting

<Hold> does not support nesting.

Examples

For examples of how to use the <Hold> verb see below.

Hold a call leg and perform an action when finished

<Response>
   <Hold action="/myHoldAction" method="POST"/>
</Response>

Hold Call Flows

The following flow diagrams illustrate the possible call flow scenarios for the RCML <Hold> verb.

Successful Hold

The diagram below outlines dialing to a Restcomm IVR. After the subscriber press a digit, call is held to the destination subscriber.

Successful Hold Call Flow
Platform

Programmable Voice

Programmable SMS

Turnkey Applications

Smart 2FA

Call Queue

Auto Attendant

Number Masking

Task Router

Campaign Manager

Learn

Terms And Conditions

About

ABOUT

CONTACT US

© 2020, All rights reserved.