SMAPI error objects

These errors give you information about playback errors while starting playback and after playback has begun. These include:

  • Connectivity, or readability errors, including read/write timeouts, DNS errors, etc.
  • HTTP transport errors, such as 404, 500, etc.
  • Decoding errors. For example, when Sonos detects badly encoded files or files that Sonos framers were not able to handle.
  • Buffering errors. For example, anything that creates audio interrupts or causes audio to stop all together.
FieldTypeDescription
typestringThe type of error being reported. Values include: http, transport, or playback.
statusstringStatus code pertinent to error type. See the table of values below.

HTTP type errors

Valid HTTP status codes.

Example

Dereferenced URI returned in getMediaURI is no longer accessible due to security restrictions. For example, an expired URI.

POST /v2.3/report/timePlayed HTTP/1.1
CONNECTION: close
ACCEPT: */*
ACCEPT-ENCODING: gzip
HOST: 192.168.0.10:8223
USER-AGENT: Linux UPnP/1.0 Sonos/46.2-56030-ci-517-content-ux-414254 (ZPS1)
AUTHORIZATION: 1533680812459_7
CONTENT-TYPE: application/json
CONTENT-LENGTH: 251
X-Sonos-Playback-Id: RINCON_B8E937C0011801400:3876374424
X-Sonos-Device-Id: Sonos_MTM_0fQXuhqKvFlHJJoBrRhH1e_38a8f8e0
X-Sonos-CorrId: 6f14bb40-b3a5-45ae-be86-de3a7a41cbb1
X-MockSMAPI-ApiKey: F118580B-8A55-4A3E-85BE-3D69191AC35F
 
{
    "items": [
        {
            "containerId": "al:54",
            "durationPlayedMillis": 0,
            "error": {
                "type": "http",
                "status" : "403"
            },
            "mediaUrl": "x-sonos-http:tr%3a582.mp4?sid=255&flags=32800&sn=13",
            "objectId": "tr:582",
            "positionMillis": 0,
            "positionMillisAtSegmentStart": 0,
            "timeSincePlaybackMillis": 0,
            "type": "final"
        }
    ]
}

Transport type errors

These include connectivity, framers, SMAPI and other channel source errors that were not a result of an HTTP error.

CodeDescription
ERROR_OCCURREDUnknown error.
ERROR_LOST_CONNECTIONUnexpected network error.
ERROR_CANT_REACH_SERVERNetwork timeout.
ERROR_UNSUPPORTED_FORMATSonos can not play this content.
ERROR_CORRUPT_FILEDetected a known content type but could not play it.
ERROR_TOO_MANY_USERSSMAPI server reported too many users.
ERROR_CANT_RESOLVE_NAMEDNS error.
ERROR_SONOS_NO_ACCOUNTAccount was removed from the Sonos household.
ERROR_SONOS_BAD_ACCOUNTSMAPI server reported the user has no access to the content.
ERROR_SONOS_STREAM_LIMITSMAPI server detected multiple stream limit reached for a particular account.
ERROR_ACCESS_DENIED_EXPLICITUnable to play track because parental controls are enabled.
ERROR_SONOS_TOKEN_EXPIREDSMAPI OAuth token is expired, and user must re-authorize the account.
ERROR_SONOSAPI_XCustom SMAPI fault, where X = [0, 999].

Example

Custom SOAP Fault with error code “9” returned from SMAPI server.

{
    "items": [
        {
            "containerId": "tr:25",
            "durationPlayedMillis": 0,
            "error": {
                "type": "transport",
                "status": "ERROR_SONOSAPI_9"
            },
            "mediaUrl": "x-sonos-http:tr%3a25.mp3?sid=255&flags=32&sn=13",
            "objectId": "tr:25",
            "positionMillis": 0,
            "positionMillisAtSegmentStart": 0,
            "timeSincePlaybackMillis": 0,
            "type": "final"
        }
    ]
}

Playback type errors

These include Channel Sink errors. Currently this only includes ERROR_LSE, Large Sync Errors.