Informizely customer feedback surveys
By using the Aculab site, you agree with our use of cookies.

Outbound Calls

Placing an outbound call

An outbound call can be placed on Aculab Cloud by calling service_start which takes the name of one of your Outbound Services and a telephone number or SIP address for the call destination. If the Outbound Service has been written as a UAS application, the service starts an instance of the UAS application which then controls when to make the outbound call. For REST, the service makes the outbound call and starts the REST application once the call is answered.

If the call destination is a telephone number the call uses an outbound telephony provider to route the call. If it is a SIP address then the call can be made directly to the SIP endpoint.

For telephone numbers you must specify a valid Caller ID (you can set this in the Cloud Console's Settings / Caller IDs page).

You can use Live Speaker Detection to establish how the call has been answered. There are also some best practices that can be followed.

Note that, due to the way in which the telephone network works, if the called party of an outbound call hangs up, the Aculab Cloud may not generally be informed of this immediately and, therefore, cannot guarantee to inform your application in a timely manner. So, we strongly recommend that you write your application to interact with the called party and, in the event of repeated no response, hang up the call.

Call destination

How the call destination is specified when starting an outbound application depends on the application type:

  • For REST applications, rest_calls is expected to be a JSON string, containing an array of one or more JSON objects. Each object must have a 'to' property containing the call destination, and may have a 'from' property for the caller id data. When invoking multiple outbound applications, an instance will be created for each object in the array.

    Prefix Description Example
    tel place a call to the supplied telephone or cell (mobile) number tel:441908273800
    sip place a call to the supplied SIP username@address sip:contact@example.com
    loc place a local call to an inbound service hosted on the cloud loc:my_inbound_service

    For Example:

    service_start?rest_calls=[{ "to" : "tel:441908283800", "from" : "tel:441908283801"}, { "to" : "sip:bob@acompany.com" }]
  • For UAS applications, outbound_parameters is expected to be a string of data to be interpreted by the application. You are free to pass any required information, such as call destinations in this field. In this example the two call destinations are separated by a comma. When invoking multiple applications the delimiter must be specified, each instance will receive one string from the delimited list as it's outbound_parameters.

    Prefix Description Example
    tel place a call to the supplied telephone or cell (mobile) number tel:441908273800
    sip place a call to the supplied SIP username@address sip:contact@example.com
    loc place a local call to an inbound service hosted on the cloud loc:my_inbound_service

    For Example:

    service_start?outbound_parameters=tel:441908123456,sip:bod@acompany.com&delimiter=,

When using the tel prefix to specify a telephone number to as the destination, the full international number must be supplied. This must not contain any leading '0'. The leading '+' is optional. The call will be placed with Aculab's default providers. Aculab Cloud does not support calling premium rate numbers via our outbound provider.

If a prefix is not supplied then anything containing only digits, or only digits separated with a single '-' will be treated as a PSTN number. All other values will be treated as a SIP address.

Outbound telephony providers

Outbound telephone calls placed via Aculab's provider will be charged to your account. In addition to using Aculab's default outbound telephony providers, it is possible to add your own. If you'd like to add an outbound provider to the list and manage their billing yourself, you'll need to contact us in order to supply the connection details. There may be a charge for this facility.

When signed in, the current list of available providers will be listed here. Each entry in the list has a selector number associated with it.

In this example two providers have been added to the list in addition to the default Aculab provider.

Selector Provider Name
0 aculab
1 providerA
2 providerB

The selector number is a zero-based digit, used as a prefix that determines the provider that should be used. The default provider is aculab and unless the destination address is modified calls will be routed to Aculab's default provider. So a destination address of tel:12225551234 will go via aculab.

Prefixing the destination number with 0 as the selector number will also use aculab as the provider, eg tel:0-12225551234.

To change the provider to providerA the selector number 1 must be used, tel:1-12225551234. Other providers in the list can be selected in the same way.