How it Works

The Outbound API uses HTTP or HTTPS with a GET or POST request.

The GET/POST request has to be sent to:




Where <brm> is the address of the BRM machine and <port> is the HTTP or HTTPS port configured in BRM here: HTTP API Configuration Options.

When using a GET request the attributes are passed as part of the URI. This takes the form of:


When using a POST request the content must contain a specific set of JSON as described here JSON Request Format.

A From header can be supplied as one of the SIP header/value pairs. If supplied this must be a fully formed SIP header, for example sip:user@mymachine.

The callerId and From header/value pair interact with the SIP From header with the following precedence
  1. From header in custom headers in SIP proxy
  2. Caller id in SIP proxy
  3. Outbound API From header/value pair
  4. Outbound API caller id
  5. Configuration caller id
  6. "bvr" if none of the above are used

The Outbound API supports either:

  1. Making an outbound call and then passing control to a VXML or CCXML applications.
  2. Invoking a CCXML application and not making an outbound call.

The second option allows finer control of the outbound call, including use of the Call Progress Detection functionality: Call Progress Detection

The application to invoke or start is identified in the JSON by the use of a unique key. These keys have to be defined, prior to using the API, and assigned to an application using BAM as described here: BAM Command Line Utility HTTP API Keys Panel

Outbound calls can also be controlled using an allow/deny list to specificall allow or deny certain phone numbers in the platform. All phone numbers are allowed by default.

For further details see here: BAM Command Line Utility Outbound Allow/Deny List Panel