SessionSetup 1

The SessionSetup interface exposes directives and events to initialize the connection between the Alexa client and the inter-process communication (IPC) client through version validation.

{
    "namespace": "SessionSetup",
    "version": 1
}

Directives

Outbound messages from the Alexa client to the IPC client about session setup.

configureClient

This directive enables the IPC client to send a configuration payload of its definition to itself from the Alexa client when the native layer has connected. The message is returned as the result of a clientConfigRequest event from the IPC client.

Example message

{
    "header": {
        "version": 1
        "namespace": "SessionSetup",
        "name": "configureClient"
    },
    "payload": {{OBJECT}}
}
 

Payload parameters

Payload is an opaque object defined by the IPC client.

initializeClient

Send this directive to the IPC client to initialize the connection and inform the IPC client of the IPC framework version. The IPC client responds with the clientInitialized event.

Example message

{
    "header": {
        "version": 1
        "namespace": "SessionSetup",
        "name": "initializeClient"
    },
    "payload": {
        "ipcVersion": "{{STRING}}"
    }
}
 

Payload parameters

Parameter Description Type Required
ipcVersion Version of the AVS Device SDK IPC framework that requests the connection to the IPC client. string Yes

Events

Inbound messages from the IPC client about session setup.

namespaceVersionsReport

Send this event to inform the Alexa client of supported IPC namespace versions in the IPC client.

Example message

{
    "header": {
        "version": 1
        "namespace": "SessionSetup",
        "name": "namespaceVersionsReport"
    },
    "payload": {
        "entries": [
            {
                "namespace": "{{STRING}}",
                "version": {{NUMBER}}
            },
            ...
        ]
    }
}
 

Payload parameters

Parameter Description Type Required
entries Array of asserted namespace entries with version. array Yes
entries.namespace IPC API namespace name. string Yes
entries.version IPC API version. number Yes

clientInitialized

Send this event as a response to the initializeClient directive to inform the Alexa client if the IPC client supports the given IPC framework version.

Example message

{
    "header": {
        "version": 1
        "namespace": "SessionSetup",
        "name": "clientInitialized"
    },
    "payload": {
        "isIPCVersionSupported": {{BOOLEAN}}
    }
}
 

Payload parameters

Parameter Description Type Required
isIPCVersionSupported Reports if the IPC client supports the AVS Device SDK IPC framework version. TRUE if supported. Boolean Yes

clientConfigRequest

Send this event to request the Alexa client to return a developer-defined configuration payload for the IPC client with the configureClient directive.

Example message

{
    "header": {
        "version": 1
        "namespace": "SessionSetup",
        "name": "clientConfigRequest"
    },
    "payload": {}
}

Payload parameters

The payload is an empty object.