Alexa Interface
Download OpenAPI specification:Download
The Alexa Interface enables Alexa devices to communicate with services in the iotcomms.io platform using the Alexa Smart Properties call signaling model. It allows Alexa devices to initiate calls towards iotcomms.io services, and it allows iotcomms.io services or external systems to call back to provisioned Alexa devices.
The interface is intended for services that need to include Alexa devices in voice, video, alarm, or contact center communication flows. The Alexa device is represented as a provisioned device in the iotcomms.io platform and can be connected to services such as the SIP Mediaserver Service, Alarmbridge Service, SIP Core Service, and WebRTC Service.
An Alexa device is provisioned in the Device Service using the deviceType value alexa.
When an Alexa device is provisioned, the platform associates the device with a SIP URI. This SIP URI is used as the address for calling the Alexa device from external systems or from other iotcomms.io services.
The SIP URI gives the Alexa device a communication identity inside the iotcomms.io customer tenant. This makes it possible to route calls to the Alexa device from SIP trunks, SIP-based applications, WebRTC endpoints, or platform services that use SIP addressing internally.
The Alexa Interface is based on the Alexa Smart PropertiesAlexa.Comms.CallSignaling model. Call signaling messages are exchanged between Alexa and the iotcomms.io platform to establish, update, and terminate call sessions.
Typical call signaling messages include:
Alexa.Comms.CallSignaling.InitiateOutboundCallAlexa.Comms.CallSignaling.InitiateInboundCallAlexa.Comms.CallSignaling.CallRingingAlexa.Comms.CallSignaling.CallInProgressAlexa.Comms.CallSignaling.CallAcceptedAlexa.Comms.CallSignaling.CallEndedAlexa.Comms.CallSignaling.CallUpdate
Each call session is identified by an Alexa sessionId. The signaling messages also carry participant information and SDP details when media negotiation is required.
When a user initiates a call from an Alexa device, Alexa sends an InitiateOutboundCall event. The event identifies the call session, the participants, and the SDP offer used for media negotiation.
The iotcomms.io platform receives the Alexa call signaling event and maps the call into the target service flow by resolving the called party destination in the Alexa signaling. Depending on the configured destination, the call can be handled by the SIP Mediaserver Service, routed through the SIP Core Service, bridged to a WebRTC endpoint, or converted into an alarm session by the Alarmbridge Service.
A typical Alexa-originated call flow is:
- The Alexa device initiates a call.
- Alexa sends
InitiateOutboundCall. - The iotcomms.io platform creates a corresponding call session.
- The destination starts ringing and the platform sends
CallRinging. - When the destination answers, the platform sends
CallAccepted. - Media is connected between the Alexa device and the selected destination.
- When either side disconnects, the platform sends or receives
CallEnded.
An Alexa device can also be called from an external system or from an iotcomms.io service. In this direction, the Alexa device is addressed using its associated SIP URI.
When a call is made to the SIP URI of an Alexa device, the platform translates the incoming call attempt into an Alexa inbound call request. Alexa then rings the device and returns call progress events as the user answers or rejects the call.
A typical call-to-Alexa flow is:
- An external system or iotcomms.io service places a call to the Alexa device SIP URI.
- The platform resolves the SIP URI to the provisioned Alexa device.
- The platform sends
InitiateInboundCalltowards Alexa. - Alexa rings the target device and returns call progress events.
- When the Alexa user accepts the call, the platform connects media.
- When the call ends, the platform clears the session and propagates the disconnect to the originating system.
Alexa call signaling uses SDP offer and answer exchange to negotiate the media session. The iotcomms.io platform handles the media integration required to connect Alexa calls with other communication systems.
Depending on the service flow, media can be connected to:
- SIP endpoints and SIP trunks through the SIP Core Service
- browser or application endpoints through the WebRTC Service
- interactive call handling applications through the SIP Mediaserver Service
- alarm receiving centers through the Alarmbridge Service
The platform can use the WebRTC Service to bridge Alexa media into WebRTC-based applications. This is useful when Alexa calls need to be answered in a browser-based contact center, operator console, or web application.
Each provisioned Alexa device has an associated SIP URI in the customer domain. The SIP URI is used as the routable identity for the Alexa device.
Example format:
sip:<alexa-device-id>@customer.prod-eu-north-1.iotcomms.io
The SIP URI can be used by:
- Inbound calls from SIP trunks connected to the SIP Core Service
- WebRTC originated calls from applications using the WebRTC Service
- Calls originating from iotcomms.io services to Alexa devices
- Alarm and monitoring applications that need to establish voice or video communication with an Alexa device
SIP Mediaserver Service
The SIP Mediaserver Service can use the Alexa Interface to build interactive call flows involving Alexa devices.
Example use cases include:
- Placing or receiving calls involving Alexa devices
- Connecting Alexa users to contact center agents
- Development of hospitality applcations
- Playing prompts and collecting user input
- Using REST callbacks to control call behavior
- Bridging Alexa calls to SIP or WebRTC destinations
For example, an Alexa device can initiate a call that is received by the SIP Mediaserver Service. The service can then route the call to a contact center, play an announcement, start recording, or connect the caller to another participant.
Alarmbridge Service
The Alarmbridge Service can use the Alexa Interface to include Alexa devices in alarm and emergency communication flows.
Example use cases include:
- Connecting an Alexa device to an Alarm Receiving Center
- Sending alarm events and establishing voice or video communication
- Bridging Alexa-originated calls into alarm handling workflows
- Allowing an ARC or monitoring platform to call back to an Alexa device
In this model, the Alexa device acts as an endpoint in an alarm session. The Alarmbridge Service can map the session into the alarm protocol and routing model required by the receiving ARC.
SIP Core Service
The SIP Core Service can route calls between Alexa devices and external SIP systems. Since each Alexa device has an associated SIP URI, SIP trunks and SIP-based systems can address Alexa devices using normal SIP routing.
Example use cases include:
- Routing calls from PBXs to Alexa devices
- Routing Alexa calls to SIP trunks
- Connecting Alexa devices to external voice platforms
- Using SIP domain routing and trunk connectivity for enterprise integration
WebRTC Service
The WebRTC Service can bridge Alexa calls to WebRTC endpoints. This enables Alexa devices to communicate with browser-based applications, contact center desktops, operator consoles, and embedded real-time communication clients.
Example use cases include:
- Connecting Alexa devices to browser-based contact center agents
- Enabling WebRTC voice and video sessions with Alexa users
- Embedding call handling in web applications
- Bridging Alexa media to WebRTC media
In an alarm communication use case, an Alexa device can initiate a call that is handled by the iotcomms.io platform and routed through the Alarmbridge Service to an Alarm Receiving Center.
High-level flow:
- The Alexa device initiates a call.
- Alexa sends
InitiateOutboundCallto the iotcomms.io platform. - The platform maps the call to an Alarmbridge event receiver.
- Alarmbridge sends the alarm event to the ARC using the configured alarm protocol, such as SCAIP or NOW-IP
- Voice or video media is connected between the Alexa device and the ARC.
- The alarm session is cleared when the call ends or when the ARC disconnects.
This allows Alexa devices to participate in alarm flows while preserving the alarm protocol integration expected by the receiving ARC.
In a contact center use case, the Alexa device can initiate a call that is routed through the SIP Mediaserver Service and WebRTC Service.
High-level flow:
- The Alexa device initiates a call.
- Alexa sends
InitiateOutboundCallto the iotcomms.io platform. - The SIP Mediaserver Service creates the call session and applies the configured call flow.
- The WebRTC Service bridges the call to a browser-based contact center endpoint.
- A contact center agent receives the voice or video call in the web application.
- The call is cleared when either side disconnects.
This enables Alexa-based communication to be embedded into modern web-based contact center applications.
In a hospitality services use case, Alexa devices placed in hotel rooms can be used as guest communication endpoints. The SIP Mediaserver Service provides the calling application logic, while the SIP Core Service provides SIP trunk connectivity to the hotel PBX used by the front desk.
This allows hotel guests to use the Alexa device in the room to request services or call the reception desk, while the hotel continues to answer and manage calls using the existing PBX and front desk telephony environment.
High-level flow:
- The guest initiates a call or service request using the Alexa device in the hotel room.
- Alexa sends
InitiateOutboundCallto the iotcomms.io platform. - The SIP Mediaserver Service receives the Alexa call session and applies the configured hospitality call flow.
- The SIP Mediaserver Service routes the call request to the appropriate destination, such as reception, concierge, room service, or housekeeping.
- The SIP Core Service sends the call over a SIP trunk to the hotel PBX.
- The front desk or guest service team answers the call using the existing PBX phones or contact center equipment.
- Voice or video media is connected between the Alexa device and the hotel service destination.
- The call is cleared when either the guest or the hotel staff ends the call.
This allows Alexa devices to be introduced as modern in-room communication endpoints without replacing the hotel PBX. The SIP Mediaserver Service provides flexible call control and guest service logic, while the SIP Core Service provides the SIP trunking layer required to integrate with the existing front desk telephony system.
To use the Alexa Interface, the Alexa device must be provisioned in the customer domain with deviceType set to alexa.
The provisioning process should define the device identity used for routing and the SIP URI associated with the Alexa device. The customer domain determines the SIP addressing context used by the platform.
Provisioned Alexa devices can then be used by iotcomms.io services in the same way as other routable communication endpoints, while the platform handles the Alexa-specific call signaling and media interworking.