How to listen for Events

Overview

The event API allows you to subscribe to a variety of different events generated by Cisco's systems.

The examples will start a subscription to voice and voicemail events, which includes call initiated, call ended and new voicemail received.

Event types

Event typeRequired right
CONSENT_REVOKE_EVENT
HANDSET_UPDATE_EVENTevents.handset_update.subscribe
LOCATION_UPDATE_EVENTevents.location.subscribe
ROAMING_EVENTevents.roaming.subscribe
SMS_EVENTevents.sms.subscribe
SMS_DELIVERY_EVENTevents.sms_delivery_report.subscribe
VOICE_EVENTevents.voice.subscribe
VOICEMAIL_EVENTevents.voicemail.subscribe

This event will fire when the OAuth2.0 consent is revoked for a subscription.

It allows the application to cleanup user state. This may either be via our revoke flow or from customer support.

Handset update

This event will fire when a SIM card is used in a new device.

It will contain the previous and current IMEI.

Location update

This event will fire when the handset is registering at a new location.

Roaming

This event will fire on the first location update in a new country.

It will contain the country code and name for the previous and current country.

Sms

This event will fire every time an SMS is sent or received by the handset.

This contains the from and to address in addition to the actual content of the SMS.

Sms delivery report

This event will fire when a SMS delivery report is generated.

This contains the from and to address, and the status for the SMS sent.

Voice

This will fire for when a call is initiated, ringing, answered, sent to voicemail or hung up. It will contain from and to number, call ID and which type of call event it is.

Voicemail

This will fire when a voicemail is left for a subscription.

It contains from and to number and the ID of the voicemail. The actual content of the voicemail may be retrieved by a separate API using this ID.

Listen for events

See full example implementation for Java: Maven starter - Listen for events.

Manual acknowledge

In the below example we enable manual acknowledgement, and set a custom ack timeout.

Concepts