../

IAP2 CSM 请求表

本研究来自于对 iOS 的逆向分析,感谢 DeepSeek 为本研究提供的逆向&端点整理支持。V4.1 Flash + Codex 真是太好用了你们知道吗。

本文按 CSM message ID 逐项列出 body。这里所说的“返回”不是自动等于一个 CSM 响应:iAP2 链路层 ACK 只确认帧已送达,功能层只有在明确的 request/response 或订阅链路中才存在后续 CSM。

Body 表示规则

  • 每个参数都是 u16 length | u16 parameterID | payload。
  • length 包含 4 字节参数头。
  • u16、u32、u64 和整数枚举均为大端序。
  • string 是 UTF-8/NUL 结尾的字节串。
  • string[] 是连续 NUL 结尾 UTF-8 字符串。
  • u16[] 是连续的大端 16 位整数。
  • group 的 payload 再次使用同一 TLV 编码。
  • void 参数长度为 4,仅以 parameter ID 表达一个标志或枚举项。
  • 未出现的可选参数表示字段未变化、不可用或由上层默认值处理;不要补零。
  • Body 置信度=high 表示参数 ID、wire type 和嵌套关系来自固件构造/解析路径;medium 表示外层已确认、个别语义仍需外部样本交叉验证。

CarPlay 重点端点

  • 可用性:0x4300 CarPlayAvailability。
  • 会话启动:0x4301 CarPlayStartSession;包含 wired/wireless 两组连接参数、端口、设备标识、公钥、版本、cluster asset 和 mutual-auth 标志。
  • Wi-Fi 配对:0x5700 请求 iPhone 信息,0x5701 iPhone 响应;0x5702 请求配件热点配置,0x5703 配件响应。
  • 设备通知:0x4E09 名称、0x4E0A 语言、0x4E0B 时间、0x4E0C UUID、0x4E0D Wireless CarPlay availability、0x4E0E 传输标识。

Frame 与 TLV 示例

0x00B1:componentID=1、deviceClass=1 的 body 为:

00 06 00 00 00 01 | 00 08 00 01 00 00 00 01
^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^^^
param 0: len=6,ID=0  param 1: len=8,ID=1,u32=1

0x00B3:resultCode=0 的 body 为:

00 05 00 00 00
param 0: len=5, ID=0, u8=0

0x0D01 的 param 4 是嵌套 group。例如一个 road-sign record 的 payload 可写成:

param 4 length | 00 04 | child 0: u32 ID | child 1: u8 state | ...

嵌套 group 内仍使用相同的 u16 length | u16 parameterID | payload 规则;父 group 的 length 覆盖其全部子 TLV。

端点表

Identification and authentication

0x1D00 StartIdentification

  • 方向:iPhone -> accessory
  • 功能:Identification
  • Body:
    • empty
  • 会话行为:iPhone 发起识别。
  • 预期返回:
    • 0x1D01 IdentificationInformation
0x4040 | u16 frameLength | u16 messageID | body

0x1D01 IdentificationInformation

  • 方向:accessory -> iPhone
  • 功能:Identification
  • Body:
    • param 0: string name
    • param 1: string modelIdentifier
    • param 2: string manufacturer
    • param 3: string serialNumber
    • param 4: string firmwareVersion
    • param 5: string hardwareVersion
    • param 6: u16[] MessagesSentByAccessory
    • param 7: u16[] MessagesReceivedFromDevice
    • param 8: u8 powerProvidingCapability
    • param 9: u16 maximumCurrentDrawnFromDevice
    • param 10: group externalAccessoryProtocols
    • param 12: string currentLanguage
    • param 13: string[] supportedLanguages
    • param 16: group USBHostTransport
    • param 17: group BluetoothTransport
    • param 20: group VehicleInformation
    • param 21: group VehicleStatus
    • param 24: group WirelessCarPlayTransport
    • required params: 0,1,2,3,4,5,6,7,12,13
  • 会话行为:配件对 0x1D00 的识别响应。
  • 预期返回:
    • 0x1D02 IdentificationAccepted
    • 0x1D03 IdentificationRejected
0x4040 | u16 frameLength | u16 messageID | body

0x1D02 IdentificationAccepted

  • 方向:iPhone -> accessory
  • 功能:Identification
  • Body:
    • empty
  • 会话行为:iPhone 接受 0x1D01。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x1D03 IdentificationRejected

  • 方向:bidirectional
  • 功能:Identification
  • Body:
    • TLV list of rejected parameter IDs or rejected groups
  • 会话行为:iPhone 或配件拒绝识别信息;两端均有对应路径。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x1D05 CancelIdentification

  • 方向:accessory -> iPhone
  • 功能:Identification
  • Body:
    • empty
  • 会话行为:配件取消正在进行的识别。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x1D06 IdentificationInformationUpdate

  • 方向:accessory -> iPhone
  • 功能:Identification
  • Body:
    • same parameter namespace as 0x1D01, carrying updated fields
  • 会话行为:识别完成后的增量信息更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Accessory authentication

0xAA00 RequestAuthenticationCertificate

  • 方向:iPhone -> accessory
  • 功能:AccAuthentication
  • Body:
    • empty
  • 会话行为:iPhone 请求配件 MFi 证书。
  • 预期返回:
    • 0xAA01 AuthenticationCertificate
0x4040 | u16 frameLength | u16 messageID | body

0xAA01 AuthenticationCertificate

  • 方向:accessory -> iPhone
  • 功能:AccAuthentication
  • Body:
    • param 0: bytes certificate
  • 会话行为:配件对 0xAA00 的证书响应。
  • 预期返回:
    • 0xAA02 RequestAuthenticationChallengeResponse
0x4040 | u16 frameLength | u16 messageID | body

0xAA02 RequestAuthenticationChallengeResponse

  • 方向:iPhone -> accessory
  • 功能:AccAuthentication
  • Body:
    • param 0: bytes challenge
  • 会话行为:iPhone 向配件发送认证 challenge。
  • 预期返回:
    • 0xAA03 AuthenticationResponse
0x4040 | u16 frameLength | u16 messageID | body

0xAA03 AuthenticationResponse

  • 方向:accessory -> iPhone
  • 功能:AccAuthentication
  • Body:
    • param 0: bytes signatureResponse
  • 会话行为:配件对 challenge 的签名响应。
  • 预期返回:
    • 0xAA04 AuthenticationFailed
    • 0xAA05 AuthenticationSucceeded
0x4040 | u16 frameLength | u16 messageID | body

0xAA04 AuthenticationFailed

  • 方向:iPhone -> accessory
  • 功能:AccAuthentication
  • Body:
    • empty or failure detail
  • 会话行为:iPhone 结束失败认证。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xAA05 AuthenticationSucceeded

  • 方向:iPhone -> accessory
  • 功能:AccAuthentication
  • Body:
    • empty
  • 会话行为:iPhone 结束成功认证。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xAA06 AuthenticationCertificateSerial

  • 方向:accessory -> iPhone
  • 功能:AccAuthentication
  • Body:
    • param 0: bytes certificateSerialNumber
  • 会话行为:配件证书序列号辅助响应。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Device authentication

0xAA10 RequestDeviceCertificate

  • 方向:accessory -> iPhone
  • 功能:DeviceAuthentication
  • Body:
    • empty
  • 会话行为:配件请求 iPhone 的 DeviceCertificate。
  • 预期返回:
    • 0xAA11 AuthenticationCertificate
0x4040 | u16 frameLength | u16 messageID | body

0xAA11 AuthenticationCertificate

  • 方向:iPhone -> accessory
  • 功能:DeviceAuthentication
  • Body:
    • param 0: bytes deviceCertificate
  • 会话行为:iPhone 返回设备证书。
  • 预期返回:
    • 0xAA12 RequestDeviceChallengeResponse
0x4040 | u16 frameLength | u16 messageID | body

0xAA12 RequestDeviceChallengeResponse

  • 方向:accessory -> iPhone
  • 功能:DeviceAuthentication
  • Body:
    • param 0: bytes challenge
  • 会话行为:配件发送设备认证 challenge。
  • 预期返回:
    • 0xAA13 AuthenticationResponse
0x4040 | u16 frameLength | u16 messageID | body

0xAA13 AuthenticationResponse

  • 方向:iPhone -> accessory
  • 功能:DeviceAuthentication
  • Body:
    • param 0: bytes challengeResponse
  • 会话行为:iPhone 返回设备 challenge 响应。
  • 预期返回:
    • 0xAA14 DeviceAuthenticationFailed
    • 0xAA15 DeviceAuthenticationSucceeded
0x4040 | u16 frameLength | u16 messageID | body

0xAA14 DeviceAuthenticationFailed

  • 方向:accessory -> iPhone
  • 功能:DeviceAuthentication
  • Body:
    • empty or failure detail
  • 会话行为:配件报告设备认证失败。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xAA15 DeviceAuthenticationSucceeded

  • 方向:accessory -> iPhone
  • 功能:DeviceAuthentication
  • Body:
    • empty
  • 会话行为:配件报告设备认证成功。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

CarPlay and device notifications

0x4300 CarPlayAvailability

  • 方向:iPhone -> accessory
  • 功能:CarPlayConnectionRequest
  • Body:
    • outer 0: optional group wired
    • child 0: bool wiredAvailable
    • child 1: string usbIdentifier, optional
    • outer 1: optional group wireless
    • child 0: bool wirelessAvailable
    • child 1: string bluetoothIdentifier, optional
    • outer 2: optional group themeAssets
    • child 0: bool themeAssetsAvailable
  • 会话行为:iPhone 宣告 CarPlay 可用性。
  • 预期返回:
    • 0x4301 CarPlayStartSession
0x4040 | u16 frameLength | u16 messageID | body

0x4301 CarPlayStartSession

  • 方向:accessory -> iPhone
  • 功能:CarPlayConnectionRequest
  • Body:
    • outer 0: group wired
    • child 0: repeatable string wiredIP
    • child 1: u32 reserved/legacy wired attribute
    • outer 1: group wireless
    • child 0: string SSID
    • child 1: string passphrase
    • child 2: u8 channel
    • child 3: repeatable string wirelessIP
    • child 4: u8 securityType
    • outer 2: u32 airPlayPort
    • outer 3: string deviceIdentifier
    • outer 4: string publicKey
    • outer 5: string sourceVersion
    • outer 6: string SDKVersion
    • outer 7: group clusterAsset
    • child 0: string assetID
    • child 1: u32 assetVersion
    • outer 8: bool mutualAuth
  • 会话行为:配件对 0x4300 的 CarPlay 会话启动响应。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4302 AvailableDigitalCarKeys

  • 方向:accessory -> iPhone
  • 功能:DigitalCarKey_Matching
  • Body:
    • digital-car-key availability list; parser reads string/key identifiers
  • 会话行为:配件向 iPhone 报告可用数字车钥匙。
  • 预期返回:
    • 0x4303 MatchedDigitalCarKeys
0x4040 | u16 frameLength | u16 messageID | body

0x4303 MatchedDigitalCarKeys

  • 方向:iPhone -> accessory
  • 功能:DigitalCarKey_Matching
  • Body:
    • param 0: string matchedKeyIdentifier
  • 会话行为:iPhone 返回匹配的数字车钥匙。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Wi-Fi sharing

0x5700 RequestWiFiInformation

  • 方向:accessory -> iPhone
  • 功能:WiFiSharing
  • Body:
    • no defined parameters; body may be empty
  • 会话行为:配件请求 iPhone 的 Wi-Fi 网络信息。
  • 预期返回:
    • 0x5701 WiFiInformation
0x4040 | u16 frameLength | u16 messageID | body

0x5701 WiFiInformation

  • 方向:iPhone -> accessory
  • 功能:WiFiSharing
  • Body:
    • param 0: u8 status; 0=success
    • param 1: optional u8 securityType, only when status=0
    • param 2: optional string SSID, only when status=0
    • param 3: optional string passphrase, only when status=0
  • 会话行为:iPhone 对 0x5700 的 Wi-Fi 信息响应。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5702 RequestAccessoryWiFiConfigurationInformation

  • 方向:iPhone -> accessory
  • 功能:WiFiSharing
  • Body:
    • empty
  • 会话行为:iPhone 请求配件的热点配置。
  • 预期返回:
    • 0x5703 AccessoryWiFiConfigurationInformation
0x4040 | u16 frameLength | u16 messageID | body

0x5703 AccessoryWiFiConfigurationInformation

  • 方向:accessory -> iPhone
  • 功能:WiFiSharing
  • Body:
    • param 0: bytes BSSID
    • param 1: string SSID
    • param 2: string passphrase
    • param 3: u8 securityType
    • param 4: u8 channel
  • 会话行为:配件对 0x5702 的热点配置响应。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Location

0xFFF0 GPRMCDataStatusValues

  • 方向:iPhone -> accessory
  • 功能:Location
  • Body:
    • one void param per present GPRMC status; IDs from the current attributes list, normally 0/1/2
  • 会话行为:iPhone 发送 GPRMC A/V/X 数据状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xFFFA StartLocationInformation

  • 方向:iPhone -> accessory
  • 功能:Location
  • Body:
    • up to eight primary filter entries use param IDs 0..7
    • up to eight secondary filter entries use param IDs 0x8000..0x8007
    • each present entry is either a u32 filter value or a void flag when the source value is 1
    • absent entries are omitted
  • 会话行为:iPhone 请求配件开始位置更新。
  • 预期返回:
    • 0xFFFB LocationInformation
0x4040 | u16 frameLength | u16 messageID | body

0xFFFB LocationInformation

  • 方向:accessory -> iPhone
  • 功能:Location
  • Body:
    • param 0: string[] NUL-terminated NMEA sentences in one parameter
  • 会话行为:配件发送 NMEA 位置数据。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xFFFC StopLocationInformation

  • 方向:iPhone -> accessory
  • 功能:Location
  • Body:
    • empty
  • 会话行为:iPhone 停止位置更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Power

0xAE00 StartPowerUpdates

  • 方向:accessory -> iPhone
  • 功能:Power
  • Body:
    • void params with IDs 0..12; selected IDs form the requested update bitmask
  • 会话行为:配件订阅 iPhone 电源更新。
  • 预期返回:
    • 0xAE01 PowerUpdate
    • 0xAE03 PowerSourceUpdate
0x4040 | u16 frameLength | u16 messageID | body

0xAE01 PowerUpdate

  • 方向:iPhone -> accessory
  • 功能:Power
  • Body:
    • param 0: u16 MaxCurrentDrawnFromAcc
    • param 1: u8 IsDeviceBatteryCharging
    • param 2: u8 MaxAccPowerCurrentAvailable
    • param 3: u16 AvailableSiphoningCurrent
    • param 4: u8 isExternalChargerConnected
    • param 5: u8 BatteryChargingState
    • param 6: u16 BatteryChargeLevel
    • param 7: u16 AccessoryChargingCurrent
    • param 8: u16 ChargerCurrent
    • param 9: u16 ChargerVoltage
    • param 10: u16 ReserveCurrent
    • param 11: u16 MinimumSiphoningCurrent
    • param 12: u16 MaxNonSiphoningCurrent
    • params are sparse: sender includes only changed/requested fields
  • 会话行为:iPhone 发送电源字段更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xAE02 StopPowerUpdates

  • 方向:accessory -> iPhone
  • 功能:Power
  • Body:
    • empty
  • 会话行为:配件停止电源订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xAE03 PowerSourceUpdate

  • 方向:accessory -> iPhone
  • 功能:Power
  • Body:
    • param 0: u16 AvailableCurrentForDevice
    • param 1: bool IsDeviceBatteryCharging
    • param 3: u16 AvailableSiphoningCurrent
    • param 4: u16 ReserveCurrent
    • param 5: void MaxNonSiphoningCurrentExceeded
  • 会话行为:配件发送电源源信息。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xAE05 AccessoryPowerUpdate

  • 方向:accessory -> iPhone
  • 功能:Power
  • Body:
    • param 0: u16 accessoryChargeCurrent
  • 会话行为:配件报告配件充电电流。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xAE06 AccessoryResetBaseCurrent

  • 方向:accessory -> iPhone
  • 功能:Power
  • Body:
    • empty
  • 会话行为:配件请求重置基础电流。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Vehicle

0xA100 StartVehicleStatusUpdates

  • 方向:iPhone -> accessory
  • 功能:Vehicle
  • Body:
    • void params selected from 0x0003..0x001E; subscription bitmask
  • 会话行为:iPhone 订阅车辆状态字段。
  • 预期返回:
    • 0xA101 VehicleStatusUpdate
0x4040 | u16 frameLength | u16 messageID | body

0xA101 VehicleStatusUpdate

  • 方向:accessory -> iPhone
  • 功能:Vehicle
  • Body:
    • param 3: u16 remainingRange
    • param 4: i16 outsideTemperature
    • param 5: bool rangeWarning
    • other vehicle status fields follow the same typed-parameter namespace
  • 会话行为:配件发送车辆状态更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xA102 StopVehicleStatusUpdates

  • 方向:iPhone -> accessory
  • 功能:Vehicle
  • Body:
    • empty or stop mask
  • 会话行为:iPhone 停止车辆状态订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Now Playing

0x5000 StartNowPlayingUpdates

  • 方向:accessory -> iPhone
  • 功能:NowPlaying
  • Body:
    • param 0: group mediaItemAttributes
    • one void child per subscribed media-item attribute; the child ID is the attribute ID
    • param 1: group playbackAttributes
    • one void child per subscribed playback attribute; child 17 is u32
    • child 1, 14 and 15 are void flags; the remaining subscribed children are void
  • 会话行为:配件订阅 Now Playing。
  • 预期返回:
    • 0x5001 NowPlayingUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x5001 NowPlayingUpdate

  • 方向:iPhone -> accessory
  • 功能:NowPlaying
  • Body:
    • param 0: optional group mediaItemAttributes
    • child 0: u64 persistentID
    • child 1: string title
    • child 4: u32 playbackDurationMS
    • child 6: string albumTitle
    • child 7: u16 albumTrackNumber
    • child 8: u16 albumTrackCount
    • child 9: u16 albumDiscNumber
    • child 10: u16 albumDiscCount
    • child 12: string artist
    • child 16: string genre
    • child 18: string composer
    • child 21: bool isLikeSupported
    • child 22: bool isBanSupported
    • child 23: bool isLiked
    • child 24: bool isBanned
    • child 26: u8 artworkFileTransferBufferID
    • child 27: u16 chapterCount
    • param 1: optional group playbackAttributes
    • child 0: u8 status
    • child 1: u32 elapsedTimeMS
    • child 2: u32 queueIndex
    • child 3: u32 queueCount
    • child 4: u32 queueChapterIndex
    • child 5: u8 shuffleMode
    • child 6: u8 repeatMode
    • child 7: string appName
    • child 8: string mediaLibraryUID
    • child 9: bool iTunesRadioAd
    • child 10: string iTunesRadioStation
    • child 11: u64 iTunesRadioStationMediaPlaylistPersistentID
    • child 12: u16 playbackSpeed
    • child 13: bool setElapsedTimeAvailable
    • child 14: u8 initial-send marker; omitted on ordinary updates
    • child 16: string appBundleID
    • artwork bytes are transferred out of band by iAP2 file transfer; child 26 carries the buffer ID
    • the two groups are sparse and may appear independently
  • 会话行为:iPhone 发送 Now Playing 更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5002 StopNowPlayingUpdates

  • 方向:accessory -> iPhone
  • 功能:NowPlaying
  • Body:
    • empty
  • 会话行为:配件停止 Now Playing 订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5003 SetNowPlayingInfo

  • 方向:accessory -> iPhone
  • 功能:NowPlaying
  • Body:
    • requested now-playing property group
  • 会话行为:配件请求设置/查询 Now Playing 信息。
  • 预期返回:
    • 0x5001 NowPlayingUpdate
0x4040 | u16 frameLength | u16 messageID | body

Media Library

0x4C00 StartMediaLibraryInformation

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • empty
  • 会话行为:配件订阅媒体库信息。
  • 预期返回:
    • 0x4C01 MediaLibraryInformation
0x4040 | u16 frameLength | u16 messageID | body

0x4C01 MediaLibraryInformation

  • 方向:iPhone -> accessory
  • 功能:MediaLibrary
  • Body:
    • param 0: repeatable group libraryInfo
    • child 0: string libraryName
    • child 1: string libraryUID
    • child 2: u8 libraryType
  • 会话行为:iPhone 返回媒体库列表。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4C02 StopMediaLibraryInformation

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • empty
  • 会话行为:配件停止媒体库信息订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4C03 StartMediaLibraryUpdates

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • param 0: string libraryUID
    • param 1: string lastRevision
    • param 2: group mediaItemProperties
    • child ID = requested media-item property; payload is empty (void)
    • accepted child IDs in this build: 0..19, 25, 27
    • param 3: group playlistProperties
    • child ID = requested playlist property; payload is empty (void)
    • ordinary child IDs: 0,1,2,3,4,6,8
    • child 5 selects content style 1; child 7 selects content style 2
    • param 4: void compatibility option; parsed but not consumed by the iOS 27 platform callback
    • param 5: void hideRemoteItems
    • param 6: void playAllSongsCapable
    • param 7: group playlistContentItemProperties
    • child ID = requested playlist-content property; payload is empty (void)
    • accepted child IDs in this build: 0,1,6,12,14,16,18
  • 会话行为:配件开始媒体库更新。
  • 预期返回:
    • 0x4C04 MediaLibraryUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x4C04 MediaLibraryUpdate

  • 方向:iPhone -> accessory
  • 功能:MediaLibrary
  • Body:
    • param 0: string libraryUID
    • param 1: string revision
    • param 2: repeatable group mediaItemRecord
    • child 0: u64 persistentID
    • child 1: string title
    • child 4: u32 playbackDurationMS
    • child 6: string albumTitle
    • child 7: u16 albumTrackNumber
    • child 8: u16 albumTrackCount
    • child 9: u16 albumDiscNumber
    • child 10: u16 albumDiscCount
    • child 11: u64 artistPersistentID
    • child 12: string artist
    • child 13: u64 albumArtistPersistentID
    • child 14: string albumArtist
    • child 15: u64 genrePersistentID
    • child 16: string genre
    • child 17: u64 composerPersistentID
    • child 18: string composer
    • child 19: u8 isPartOfCompilation
    • child 25: u8 isLocal
    • child 27: u16 chapterCount
    • param 3: repeatable group playlistRecord
    • child 0: u64 persistentID
    • child 1: string name
    • child 2: u64 parentPersistentID
    • child 3: u8 isFolder
    • child 4: u8 isGeniusMix
    • child 5: u8 isRadioStation or content-transfer selector
    • child 6: u8 isSmartPlaylist
    • child 7: void playlist-content transfer marker
    • child 8: u8 radioStationOrdering
    • param 4: i64 deletedMediaItemPersistentID
    • param 5: i64 deletedPlaylistPersistentID
    • param 6: void fullUpdate
    • param 7: u8 progress
    • param 8: u8 libraryStateType0Enabled (state subtype 0)
    • param 9: u8 libraryStateType1Enabled (state subtype 1)
    • fields are sparse: only changed records or state fields are present
  • 会话行为:iPhone 发送媒体库增量或全量更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4C05 StopMediaLibraryUpdates

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • string libraryUID
  • 会话行为:配件停止媒体库更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4C06 PlayMediaLibraryCurrentSelection

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • string libraryUID
  • 会话行为:配件播放当前选择。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4C07 PlayMediaLibraryItems

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • param 0: u32 startingIndex
    • param 1: bytes persistentIDArray
    • param 2: string libraryUID
  • 会话行为:配件播放指定媒体项。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4C08 PlayMediaLibraryCollection

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • param 0: u64 collectionPersistentID
    • param 1: u8 collectionType
    • param 2: u32 startingIndex
    • param 3: string libraryUID
    • param 4: u64 startingItemPersistentID
  • 会话行为:配件播放媒体集合。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4C09 PlayMediaLibrarySpecial

  • 方向:accessory -> iPhone
  • 功能:MediaLibrary
  • Body:
    • param 0: string libraryUID
    • param 1: void allSongs
    • param 2: u64 startingItemPersistentID
  • 会话行为:配件播放特殊集合。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5200 StartRouteGuidanceUpdates

  • 方向:accessory -> iPhone
  • 功能:Navigation
  • Body:
    • param 0: u16 display/component ID, repeatable
  • 会话行为:配件订阅路线引导更新。
  • 预期返回:
    • 0x5201 RouteGuidanceUpdate
    • 0x5202 RouteGuidanceManeuverUpdate
    • 0x5204 LaneGuidanceInfoUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x5201 RouteGuidanceUpdate

  • 方向:iPhone -> accessory
  • 功能:Navigation
  • Body:
    • param 0: optional component ID list or component group
    • param 1: enum routeGuidanceState
    • param 2: enum maneuverState
    • param 3: string currentRoadName
    • param 4: string destinationName
    • param 5: u64 estimatedTimeOfArrival
    • param 6: u64 timeRemainingToDestination
    • param 7: u32 distanceRemaining
    • param 8: string distanceRemainingDisplayString
    • param 9: enum distanceRemainingDisplayUnits
    • param 10: u32 distanceRemainingToNextManeuver
    • param 11: string distanceRemainingToNextManeuverDisplayString
    • param 12: enum distanceRemainingToNextManeuverDisplayUnits
    • param 13: u16[] maneuverList
    • param 14: u16 maneuverCount
    • param 15: bool routeGuidanceBeingShownInApp
    • param 16: u16 laneGuidanceCurrentIndex
    • param 17: u16 laneGuidanceTotalCount
    • param 18: bool laneGuidanceShowing
    • param 19: string sourceName
    • param 20: bool sourceSupportsRouteGuidance
    • param 21: u16 destinationTimeZoneOffsetMinutes
    • param 22: enum stopType
    • param 23: group chargingStationInfoList
  • 会话行为:路线引导状态或字段更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5202 RouteGuidanceManeuverUpdate

  • 方向:iPhone -> accessory
  • 功能:Navigation
  • Body:
    • param 1: u16 index
    • param 2: string maneuverDescription
    • param 3: enum maneuverType
    • param 4: string afterManeuverRoadName
    • param 5: u16 distanceBetweenManeuver
    • param 6: string distanceBetweenManeuverDisplayString
    • param 7: enum distanceBetweenManeuverDisplayUnits
    • param 8: enum drivingSide
    • param 9: enum junctionType
    • param 10: i16 junctionElementAngle
    • param 11: i16 junctionElementExitAngle
    • param 12: optional linked lane-guidance group
    • param 13: string exitInfo
    • component ID list is carried in its group
  • 会话行为:下一 maneuver 的详细信息。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5203 StopRouteGuidanceUpdates

  • 方向:accessory -> iPhone
  • 功能:Navigation
  • Body:
    • param 0: u16 display/component ID, repeatable
  • 会话行为:配件停止订阅路线引导。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5204 LaneGuidanceInfoUpdate

  • 方向:iPhone -> accessory
  • 功能:Navigation
  • Body:
    • param 0: component ID or component group
    • param 1: u16 laneGuidanceIndex
    • param 2: group laneInfoList
    • param 3: string instructionText
  • 会话行为:车道引导信息更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Communications

0x4154 startCallStateUpdatesHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • empty or subscription mask
  • 会话行为:配件订阅 call state。
  • 预期返回:
    • 0x4155 CallStateUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x4155 CallStateUpdate

  • 方向:iPhone -> accessory
  • 功能:Communications
  • Body:
    • param 0: string remoteID
    • param 1: string displayName
    • param 2: u8 status
    • param 3: u8 direction
    • param 4: string callUUID
    • param 6: string addressBookID
    • param 7: string label
    • param 8: u8 service
    • param 9: bool isConferenced
    • param 10: u8 conferenceGroup, when conferenced
    • param 11: u8 disconnectReason
    • param 12: u64 startTimestamp
  • 会话行为:iPhone 发送单路通话状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4156 stopCallStateUpdatesHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • empty
  • 会话行为:配件停止 call state 订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4157 startCommunicationsUpdatesHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • subscription mask
  • 会话行为:配件订阅 communications list。
  • 预期返回:
    • 0x4158 CommunicationsUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x4158 CommunicationsUpdate

  • 方向:iPhone -> accessory
  • 功能:Communications
  • Body:
    • param 0: u8 signalStrength
    • param 1: u8 registrationStatus
    • param 2: bool airplaneModeStatus
    • param 3: bool ttyStatus
    • param 4: string carrierName
    • param 5: bool cellularSupported
    • param 6: bool telephonyEnabled
    • param 7: bool faceTimeAudioEnabled
    • param 8: bool faceTimeVideoEnabled
    • param 9: bool muteStatus
    • param 10: u8 currentCallCount
    • param 11: u8 newVoicemailCount
    • param 12: bool initiateCallAvailable
    • param 13: bool endAndAcceptAvailable
    • param 14: bool holdAndAcceptAvailable
    • param 15: bool swapAvailable
    • param 16: bool mergeAvailable
    • param 17: bool holdAvailable
  • 会话行为:iPhone 发送通信能力与状态更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4159 stopCommunicationsUpdatesHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • empty
  • 会话行为:配件停止 communications 订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x415A initiateCallHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • param 0: u8 callAction/callType
    • param 1: string destination
    • param 2: u8 service
    • param 3: string addressBookID
  • 会话行为:配件请求拨号。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x415B acceptCallHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • param 0: u8 callAction
    • param 1: string callUUID
  • 会话行为:配件接受来电。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x415C endCallHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • param 0: u8 callAction
    • param 1: string callUUID
  • 会话行为:配件结束来电。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x415D swapCallHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • empty
  • 会话行为:配件交换两路通话。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x415E mergeCallHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • empty
  • 会话行为:配件合并通话。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x415F holdStatusUpdateHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • param 0: bool holdStatus
  • 会话行为:配件更新通话保持状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4160 muteStatusUpdateHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • param 0: bool muteStatus
  • 会话行为:配件更新静音状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4161 sendDTMFHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • param 0: u8 DTMF digit/code
  • 会话行为:配件发送 DTMF。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4170 startListUpdatesHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • list type / subscription request
  • 会话行为:配件订阅列表更新。
  • 预期返回:
    • 0x4171 ListUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x4171 ListUpdate

  • 方向:iPhone -> accessory
  • 功能:Communications
  • Body:
    • variant recents:
    • param 0: u8 listEnabled
    • param 1: repeatable group recentEntry
    • child 0: u16 index
    • child 1: string remoteID
    • child 2: string displayName
    • child 3: string label
    • child 4: string addressBookID
    • child 5: u8 service
    • child 6: u8 callType
    • child 7: u64 unixTimestamp
    • child 8: u32 duration
    • child 9: u8 occurrences
    • param 2: u16 listCount
    • variant favorites:
    • param 5: u8 listEnabled
    • param 6: repeatable group favoriteEntry
    • child 0: u16 index
    • child 1: string remoteID
    • child 2: string displayName
    • child 3: string label
    • child 4: string addressBookID
    • child 5: u8 service
    • param 7: u16 listCount
    • one message carries one list variant; listCount is optional
  • 会话行为:iPhone 发送收藏或最近通话列表。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4172 stopListUpdatesHandler

  • 方向:accessory -> iPhone
  • 功能:Communications
  • Body:
    • list type
  • 会话行为:配件停止列表订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Bluetooth connection status

0x4E01 BluetoothComponentInfo

  • 方向:accessory -> iPhone
  • 功能:BTConnectionStatus
  • Body:
    • param 1: bool supports connection
    • param 2/3: u16 component identifiers
  • 会话行为:配件报告 Bluetooth component 能力。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E03 StartBluetoothConnectionUpdates

  • 方向:accessory -> iPhone
  • 功能:BTConnectionStatus
  • Body:
    • u16 component ID
  • 会话行为:配件订阅 Bluetooth connection status。
  • 预期返回:
    • 0x4E04 BluetoothConnectionUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x4E04 BluetoothConnectionUpdate

  • 方向:iPhone -> accessory
  • 功能:BTConnectionStatus
  • Body:
    • param 0: u16 componentID (required)
    • param 1: group connectionStatusFlags
    • one void child for each set bit in the internal status mask; child ID is the bit index
  • 会话行为:iPhone 发送 Bluetooth 连接状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E05 StopBluetoothConnectionUpdates

  • 方向:accessory -> iPhone
  • 功能:BTConnectionStatus
  • Body:
    • u16 component ID
  • 会话行为:配件停止 Bluetooth connection status 订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E09 DeviceInformationUpdate

  • 方向:iPhone -> accessory
  • 功能:DeviceNotifications
  • Body:
    • param 0: string deviceName
  • 会话行为:iPhone 主动发送设备信息通知。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E0A DeviceLanguageUpdate

  • 方向:iPhone -> accessory
  • 功能:DeviceNotifications
  • Body:
    • param 0: string language
  • 会话行为:iPhone 主动发送语言更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E0B DeviceTimeUpdate

  • 方向:iPhone -> accessory
  • 功能:DeviceNotifications
  • Body:
    • param 0: u64 secondsSinceReferenceDate
    • param 1: i16 timeZoneOffsetMinutes
    • param 2: i8 daylightSavingsOffsetMinutes
  • 会话行为:iPhone 主动发送设备时间。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E0C DeviceUuidUpdate

  • 方向:iPhone -> accessory
  • 功能:DeviceNotifications
  • Body:
    • param 0: string deviceUUID
  • 会话行为:iPhone 主动发送设备 UUID。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E0D WirelessCarPlayUpdate

  • 方向:iPhone -> accessory
  • 功能:DeviceNotifications
  • Body:
    • param 0: u8 availability; 0=unavailable, 1=available
  • 会话行为:iPhone 主动发送 Wireless CarPlay 可用性。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x4E0E DeviceTransportIdentifierNotification

  • 方向:iPhone -> accessory
  • 功能:DeviceNotifications
  • Body:
    • param 0: string bluetoothMAC
    • param 1: string usbTransportIdentifier
  • 会话行为:iPhone 主动发送传输标识通知。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body
  • 方向:accessory -> iPhone
  • 功能:AppLinks
  • Body:
    • app-link subscription request
  • 会话行为:配件订阅 app-link 状态。
  • 预期返回:
    • 0xAD01 AppLinksUpdate
0x4040 | u16 frameLength | u16 messageID | body

0xAD01 AppLinksUpdate

  • 方向:iPhone -> accessory
  • 功能:AppLinks
  • Body:
    • variant A (category-list form):
    • param 0: u8 listEnabled
    • param 2: u16 listCount
    • param 1: repeatable group appLinkEntry
    • child 0: u16 index
    • child 1: string bundleID
    • child 2: string localizedName
    • child 3: u16 categoryCode
    • child 4: bytes iconDataHash
    • variant B (alternate app-link form):
    • param 3: u8 listEnabled
    • param 5: u16 listCount
    • param 4: repeatable group appLinkEntry
    • child 0: u16 index
    • child 1: string bundleID
    • child 2: string localizedName
    • child 3: bytes iconDataHash
    • the icon payload itself is transferred out of band; this message carries its hash
  • 会话行为:iPhone 发送 app-link 更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body
  • 方向:accessory -> iPhone
  • 功能:AppLinks
  • Body:
    • empty
  • 会话行为:配件停止 app-link 订阅。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body
  • 方向:accessory -> iPhone
  • 功能:AppLinks
  • Body:
    • app/icon identifiers and requested sizes
  • 会话行为:配件请求应用图标。
  • 预期返回:
    • 0xAD04 AppIconResponse
0x4040 | u16 frameLength | u16 messageID | body

0xAD04 AppIconResponse

  • 方向:iPhone -> accessory
  • 功能:AppLinks
  • Body:
    • param 0: string bundleID (required)
    • param 1: u8 status; 1=icon available, 0=icon unavailable
    • param 2: u8 iconFileTransferBufferID, present when status=1
    • param 3: bytes iconDataHash, present when status=1
    • PNG/image bytes are transferred out of band by iAP2 file transfer
  • 会话行为:iPhone 返回应用图标。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

External Accessory

0xEA00 externalAccessory_openEASession

  • 方向:iPhone -> accessory
  • 功能:ExternalAccessory
  • Body:
    • param 0: u8 protocolIndex
    • param 1: u16 sessionID
  • 会话行为:iPhone 打开 External Accessory 协议会话。
  • 预期返回:
    • 0xEA03 StatusExternalAccessoryProtocolSession
0x4040 | u16 frameLength | u16 messageID | body

0xEA01 externalAccessory_closeEASession

  • 方向:iPhone -> accessory
  • 功能:ExternalAccessory
  • Body:
    • param 0: u16 sessionID
  • 会话行为:iPhone 关闭 EA 会话。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xEA02 requestAppLaunchHandler

  • 方向:accessory -> iPhone
  • 功能:AppLaunch
  • Body:
    • param 0: string appBundleID
    • param 1: u8 appLaunchMethod; 0/1 are accepted
  • 会话行为:配件请求 iPhone 启动指定应用。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xEA03 externalaccessory_statusEASessionHandler

  • 方向:accessory -> iPhone
  • 功能:ExternalAccessory
  • Body:
    • param 0: u16 sessionID
    • param 1: u8 status; 0=OK, 1=close
  • 会话行为:配件返回 EA 会话状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

HID and USB host

0x6800 hid_StartHIDMsgHandler

  • 方向:accessory -> iPhone
  • 功能:HID
  • Body:
    • param 0: u16 componentID (required)
    • param 1: u16 HID vendorID (required)
    • param 2: u16 HID productID (required)
    • param 3: u8 HID countryCode or implementation-defined numeric field (optional)
    • param 4: bytes HID report descriptor (required)
  • 会话行为:配件向 iPhone 注册 HID descriptor;后续报告和 GetReport 请求走 0x6801/0x6802/0x6804/0x6805。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x6801 hid_OutReport

  • 方向:iPhone -> accessory
  • 功能:HID
  • Body:
    • param 0: u16 componentID (required)
    • param 1: bytes report (required)
  • 会话行为:iPhone 向配件发送 HID output report。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x6802 hid_AccessoryHIDReportHandler

  • 方向:accessory -> iPhone
  • 功能:HID
  • Body:
    • param 0: u16 componentID (required)
    • param 1: bytes report (required; the report's own format is defined by the HID descriptor)
  • 会话行为:配件发送 HID report。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x6803 hid_StopHIDMsgHandler

  • 方向:accessory -> iPhone
  • 功能:HID
  • Body:
    • param 0: u16 componentID
  • 会话行为:配件停止 HID。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x6804 hid_GetReport

  • 方向:iPhone -> accessory
  • 功能:HID
  • Body:
    • param 0: u16 componentID (required)
    • param 1: u8 reportType (required)
    • param 2: u8 reportID (required)
  • 会话行为:iPhone 向配件发送 HID GetReport 请求。
  • 预期返回:
    • 0x6805 GetReportResponse
0x4040 | u16 frameLength | u16 messageID | body

0x6805 hid_AccessoryHIDGetReportResponseHandler

  • 方向:accessory -> iPhone
  • 功能:HID
  • Body:
    • param 0: u16 componentID (required)
    • param 1: u8 reportType (required)
    • param 2: u8 reportID (required)
    • param 3: bytes report (required)
  • 会话行为:配件返回 HID GetReport 响应。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x6807 hid_ComponentUpdate

  • 方向:iPhone -> accessory
  • 功能:HID
  • Body:
    • param 0: u16 componentID (required)
    • param 1: u8 enabled (required)
  • 会话行为:iPhone 更新 HID component 的启用状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x7E00 usbHostMode_StartUSBHostModeHandler

  • 方向:accessory -> iPhone
  • 功能:USBHostMode
  • Body:
    • param 2: void enable flag
  • 会话行为:配件请求 iPhone 进入 USB host mode。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x7E02 usbHostMode_StopUSBHostModeHandler

  • 方向:accessory -> iPhone
  • 功能:USBHostMode
  • Body:
    • empty
  • 会话行为:配件停止 USB host mode。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

VoiceOver and AssistiveTouch

0x5400 assistiveTouch_startAssistiveTouchHandler

  • 方向:accessory -> iPhone
  • 功能:AssistiveTouch
  • Body:
    • empty or component context
  • 会话行为:配件启动 AssistiveTouch。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5401 assistiveTouch_stopAssistiveTouchHandler

  • 方向:accessory -> iPhone
  • 功能:AssistiveTouch
  • Body:
    • empty
  • 会话行为:配件停止 AssistiveTouch。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5402 assistiveTouch_startAssistiveTouchUpdateHandler

  • 方向:accessory -> iPhone
  • 功能:AssistiveTouch
  • Body:
    • subscription/context
  • 会话行为:配件启动 AssistiveTouch 状态更新。
  • 预期返回:
    • 0x5403 NotifyStatusUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x5403 NotifyStatusUpdate

  • 方向:iPhone -> accessory
  • 功能:AssistiveTouch
  • Body:
    • param 0: u8 status
  • 会话行为:iPhone 发送 AssistiveTouch 状态通知。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5404 assistiveTouch_stopAssistiveTouchUpdateHandler

  • 方向:accessory -> iPhone
  • 功能:AssistiveTouch
  • Body:
    • empty
  • 会话行为:配件停止 AssistiveTouch 状态更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5601 voiceOver_moveCursorHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • param 0: u8 cursor action/delta
  • 会话行为:VoiceOver 光标移动。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5602 voiceOver_selectCursorHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • empty
  • 会话行为:VoiceOver 选择光标。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5603 voiceOver_scrollPageHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • param 0: u8 page/scroll direction
  • 会话行为:VoiceOver 翻页/滚动。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5606 voiceOver_speakTextHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • param 0: string textToSpeak
  • 会话行为:VoiceOver 朗读文本。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5608 voiceOver_pauseSpeakingHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • empty
  • 会话行为:VoiceOver 暂停朗读。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5609 voiceOver_resumeSpeakingHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • empty
  • 会话行为:VoiceOver 恢复朗读。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x560B voiceOver_startInformationHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • information request
  • 会话行为:配件开始订阅 VoiceOver 信息。
  • 预期返回:
    • 0x560C VoiceOverInformation
0x4040 | u16 frameLength | u16 messageID | body

0x560C VoiceOverInformation

  • 方向:iPhone -> accessory
  • 功能:VoiceOver
  • Body:
    • param 0: u8 volume
    • param 1: u8 rate
    • param 2: u8 enabled
    • fields are sparse; each field is emitted only when requested
  • 会话行为:iPhone 返回 VoiceOver 信息。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x560D voiceOver_stopInformationHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • empty
  • 会话行为:配件停止 VoiceOver 信息更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x560E voiceOver_updateInformationHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • param 0: u8 information field
    • param 1: u8 information field
    • additional u8 fields follow the same namespace
  • 会话行为:VoiceOver 信息更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x560F voiceOver_startCursorInformationHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • cursor-information subscription
  • 会话行为:配件开始订阅 VoiceOver 光标信息。
  • 预期返回:
    • 0x5610 VoiceOverCursorInformation
0x4040 | u16 frameLength | u16 messageID | body

0x5610 VoiceOverCursorInformation

  • 方向:iPhone -> accessory
  • 功能:VoiceOver
  • Body:
    • param 0: string label
    • param 1: string value
    • param 2: string hint
    • param 3: bytes traits entries; repeated u32 reserved=0 | u32 traitBitIndex
    • fields are sparse
  • 会话行为:iPhone 返回 VoiceOver 光标信息。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5611 voiceOver_stopCursorInformationHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • empty
  • 会话行为:配件停止 VoiceOver 光标信息更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5612 VoiceOver_startVoiceOverHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • empty
  • 会话行为:配件启动 VoiceOver。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x5613 VoiceOver_stopVoiceOverHandler

  • 方向:accessory -> iPhone
  • 功能:VoiceOver
  • Body:
    • empty
  • 会话行为:配件停止 VoiceOver。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

BLE and OOB pairing

0x0B00 oobBtPairing2_startPairing

  • 方向:iPhone -> accessory
  • 功能:OOBBTPairing2
  • Body:
    • param 0: u16 componentID
    • param 1: optional bytes pairingData
  • 会话行为:iPhone 启动 OOB Bluetooth pairing v2。
  • 预期返回:
    • 0x0B01 AccessoryInfo
    • 0x0B02 PairingStatus
0x4040 | u16 frameLength | u16 messageID | body

0x0B01 oobBtPairing2_accessoryInfoHandler

  • 方向:accessory -> iPhone
  • 功能:OOBBTPairing2
  • Body:
    • param 1: u16 identifier
    • param 2: bytes accessory info
  • 会话行为:配件返回 OOB pairing accessory info。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x0B02 oobBtPairing2_statusHandler

  • 方向:accessory -> iPhone
  • 功能:OOBBTPairing2
  • Body:
    • param 0: u16 status/identifier
    • param 1: string description/status
  • 会话行为:配件返回 OOB pairing status。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x0B03 oobBtPairing2_stopPairing

  • 方向:iPhone -> accessory
  • 功能:OOBBTPairing2
  • Body:
    • param 0: u16 componentID
    • param 1: optional void result/state flag
  • 会话行为:iPhone 停止 OOB pairing v2。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Destination sharing

0x10DA destinationSharing_StartDestinationInformation

  • 方向:accessory -> iPhone
  • 功能:DestinationSharing
  • Body:
    • empty, or one optional param 0: void destinationSharingEnabled
    • more than one param or a non-void param 0 makes the message invalid
  • 会话行为:配件启动目的地信息共享。
  • 预期返回:
    • 0x10DB DestinationInformationUpdate
    • 0x10DD DestinationInformationStatus
0x4040 | u16 frameLength | u16 messageID | body

0x10DB DestinationInformationUpdate

  • 方向:iPhone -> accessory
  • 功能:DestinationSharing
  • Body:
    • param 0: string identifier
    • param 1: string displayName
    • param 2: group coordinate
    • child 0: i32 latitude fixed-point
    • child 1: i32 longitude fixed-point
    • param 3: string address, possibly containing newline-separated lines
    • param 4: repeatable group entryPoint
    • child 0: i32 latitude fixed-point
    • child 1: i32 longitude fixed-point
    • param 5: u32 coordinateThreshold
    • param 6: string locale
    • param 7: string sourceName, only when source-name sharing is enabled
  • 会话行为:iPhone 发送目的地信息更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x10DC destinationSharing_StopDestinationInformation

  • 方向:accessory -> iPhone
  • 功能:DestinationSharing
  • Body:
    • empty; any supplied parameters are ignored by the handler
  • 会话行为:配件停止目的地信息共享。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x10DD destinationSharing_DestinationInformationStatus

  • 方向:accessory -> iPhone
  • 功能:DestinationSharing
  • Body:
    • param 0: string identifier
    • param 1: void failure flag; present when the accessory reports failure
    • param 2: optional group of void status flags with child IDs 2,3,4
  • 会话行为:配件报告目的地共享状态。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Digital audio and test

0x0000 pingHandler

  • 方向:accessory -> iPhone
  • 功能:Test
  • Body:
    • arbitrary TLV body; iPhone echoes the incoming body
  • 会话行为:iAP2 test ping/echo endpoint.
  • 预期返回:
    • 0x0000 with the same body
0x4040 | u16 frameLength | u16 messageID | body

0x0001 userNotificationHandler

  • 方向:accessory -> iPhone
  • 功能:Test
  • Body:
    • param 0: u16 notification/type field
    • param 1: u8 enum field
    • param 2: string field
    • param 3: string field
    • param 4: string field
    • param 5: string field
    • param 6: bool field
    • param 7: u16 numeric field
    • param 8: bool field
  • 会话行为:配件请求 iPhone 展示用户通知。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x0004 sendPingAccHandler

  • 方向:accessory -> iPhone
  • 功能:Test
  • Body:
    • arbitrary TLV body; iPhone echoes it as 0x0005
  • 会话行为:配件发起 accessory-side ping。
  • 预期返回:
    • 0x0005 with the same body
0x4040 | u16 frameLength | u16 messageID | body

0x0005 pingAccHandler

  • 方向:accessory -> iPhone
  • 功能:Test
  • Body:
    • echo of the received 0x0004 body
    • any TLV parameter set is copied verbatim
  • 会话行为:iPhone 对 0x0004 的回显响应,也可作为反向 ping 使用。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xDA00 digitalAudio_start

  • 方向:accessory -> iPhone
  • 功能:DigitalAudio
  • Body:
    • empty or capability request
  • 会话行为:配件启动数字音频。
  • 预期返回:
    • 0xDA01 DigitalAudioInformationUpdate
0x4040 | u16 frameLength | u16 messageID | body

0xDA01 DigitalAudioInformationUpdate

  • 方向:iPhone -> accessory
  • 功能:DigitalAudio
  • Body:
    • param 0: u8 sampleRate (required)
    • param 1: u32 volumeLevel (optional)
    • param 2: u32 soundCheck (optional)
  • 会话行为:iPhone 发送数字音频信息更新。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xDA02 digitalAudio_stop

  • 方向:accessory -> iPhone
  • 功能:DigitalAudio
  • Body:
    • empty
  • 会话行为:配件停止数字音频。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Other endpoints

0x00B0 oobBtPairing_startPairing

  • 方向:iPhone -> accessory
  • 功能:OOBBTPairing
  • Body:
    • empty
  • 会话行为:iPhone 启动旧版 OOB Bluetooth pairing。
  • 预期返回:
    • 0x00B1 AccessoryInfo
    • 0x00B3 CompletionInfo
0x4040 | u16 frameLength | u16 messageID | body

0x00B1 oobBtPairing_accessoryInfoHandler

  • 方向:accessory -> iPhone
  • 功能:OOBBTPairing
  • Body:
    • param 0: u16 componentID (required)
    • param 1: u32 deviceClass (required)
  • 会话行为:旧版 OOB Bluetooth pairing accessory-info 上行消息。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x00B2 oobBtPairing_pairingLinkKeyInfo

  • 方向:iPhone -> accessory
  • 功能:OOBBTPairing
  • Body:
    • param 0: bytes linkKey
    • param 1: bytes deviceBluetoothAddress
  • 会话行为:iPhone 发送 OOB Bluetooth pairing link key 信息。
  • 预期返回:
    • 0x00B3 CompletionInfo
0x4040 | u16 frameLength | u16 messageID | body

0x00B3 oobBtPairing_completionInfoHandler

  • 方向:accessory -> iPhone
  • 功能:OOBBTPairing
  • Body:
    • param 0: u8 resultCode (required)
  • 会话行为:旧版 OOB Bluetooth pairing completion 上行消息。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x00B4 oobBtPairing_stopPairing

  • 方向:iPhone -> accessory
  • 功能:OOBBTPairing
  • Body:
    • empty
  • 会话行为:iPhone 停止旧版 OOB Bluetooth pairing。
  • 预期返回:
    • 0x00B3 CompletionInfo
0x4040 | u16 frameLength | u16 messageID | body

0x0D00 StartRoadObjectDetection

  • 方向:iPhone -> accessory
  • 功能:Navigation
  • Body:
    • param 0: u16 componentID, repeatable
    • param 1: void detection type 1 (supported and requested)
    • param 2: void detection type 2 (supported and requested)
    • param 3: void detection type 3 (supported and requested)
  • 会话行为:iPhone 启动道路目标检测。
  • 预期返回:
    • 0x0D01 RoadObjectDetectionUpdate
0x4040 | u16 frameLength | u16 messageID | body

0x0D01 RoadObjectDetectionUpdate

  • 方向:iPhone -> accessory
  • 功能:Navigation
  • Body:
    • param 0: u16 componentID, repeatable
    • param 1: u64 timestamp
    • param 2: i32 egoSpeed
    • param 3: i32[2] egoYawRate numerator/denominator; effective value = element[0] / element[1]
    • param 4: repeatable group roadSign
    • child 0: u32 ID (required)
    • child 1: u8 state
    • child 2: u8 type
    • child 3: string value
    • child 4: i32 lateralOffset
    • child 5: u32 forwardOffset
    • param 5: repeatable group roadLane
    • child 0: u32 ID (required)
    • child 1: u8 state
    • child 2: u8 typeLeft
    • child 3: u8 typeRight
    • child 4: u8 colorLeft
    • child 5: u8 colorRight
    • child 6: u32 width
    • child 7: i32[2] curvatureCenter
    • child 8: i32[2] curvatureLeft
    • child 9: i32[2] additional curvature payload
    • note: in this build +[ACCNavigationRoadObjectRoadLaneInfo keyForType:] maps child 9 to the same ColorRight key as child 5, so do not assume a stable curvatureRight name
    • param 6: repeatable group roadObject
    • child 0: u32 ID (required)
    • child 1: u8 state
    • child 2: u8 type
    • child 3: u8 isMoving
    • child 4: i32 lateralOffset
    • child 5: i32 lateralSpeed
    • child 6: i32 lateralAccel
    • child 7: u32 forwardOffset
    • child 8: i32 forwardSpeed
    • child 9: i32 forwardAccel
    • params 4, 5 and 6 are repeatable and may be mixed in one message
  • 会话行为:iPhone 上报道路标志、车道和道路目标检测结果。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0x0D02 StopRoadObjectDetection

  • 方向:iPhone -> accessory
  • 功能:Navigation
  • Body:
    • param 0: u16 componentID, repeatable
  • 会话行为:iPhone 停止道路目标检测。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xB102 blePairing_accessoryStateUpdateHandler

  • 方向:accessory -> iPhone
  • 功能:BLEPairing
  • Body:
    • param 1: bool/u8 accessory state field
    • param 2: bool/u8 accessory state field
  • 会话行为:配件上报 BLE pairing accessory state。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xB103 blePairing_accessoryPairingInfoHandler

  • 方向:accessory -> iPhone
  • 功能:BLEPairing
  • Body:
    • param 0: u8 pairing-info type
    • param 1: bytes pairing-info data
  • 会话行为:配件上报 BLE pairing information。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xB105 blePairing_accessoryPairingDataHandler

  • 方向:accessory -> iPhone
  • 功能:BLEPairing
  • Body:
    • param 0: u8 pairing-data type
    • param 1: bytes pairing data
  • 会话行为:配件上报 BLE pairing data。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

0xB107 blePairing_stopBLEUpdates

  • 方向:iPhone -> accessory
  • 功能:BLEPairing
  • Body:
    • empty
  • 会话行为:iPhone 停止 BLE pairing updates。
  • 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body

Request/Response 索引

请求/订阅方向预期返回
0x0000 pingHandleraccessory -> iPhone0x0000 with the same body
0x0004 sendPingAccHandleraccessory -> iPhone0x0005 with the same body
0x00B0 oobBtPairing_startPairingiPhone -> accessory0x00B1 AccessoryInfo0x00B3 CompletionInfo
0x00B2 oobBtPairing_pairingLinkKeyInfoiPhone -> accessory0x00B3 CompletionInfo
0x00B4 oobBtPairing_stopPairingiPhone -> accessory0x00B3 CompletionInfo
0x0B00 oobBtPairing2_startPairingiPhone -> accessory0x0B01 AccessoryInfo0x0B02 PairingStatus
0x0D00 StartRoadObjectDetectioniPhone -> accessory0x0D01 RoadObjectDetectionUpdate
0x10DA destinationSharing_StartDestinationInformationaccessory -> iPhone0x10DB DestinationInformationUpdate0x10DD DestinationInformationStatus
0x1D00 StartIdentificationiPhone -> accessory0x1D01 IdentificationInformation
0x1D01 IdentificationInformationaccessory -> iPhone0x1D02 IdentificationAccepted0x1D03 IdentificationRejected
0x4154 startCallStateUpdatesHandleraccessory -> iPhone0x4155 CallStateUpdate
0x4157 startCommunicationsUpdatesHandleraccessory -> iPhone0x4158 CommunicationsUpdate
0x4170 startListUpdatesHandleraccessory -> iPhone0x4171 ListUpdate
0x4300 CarPlayAvailabilityiPhone -> accessory0x4301 CarPlayStartSession
0x4302 AvailableDigitalCarKeysaccessory -> iPhone0x4303 MatchedDigitalCarKeys
0x4C00 StartMediaLibraryInformationaccessory -> iPhone0x4C01 MediaLibraryInformation
0x4C03 StartMediaLibraryUpdatesaccessory -> iPhone0x4C04 MediaLibraryUpdate
0x4E03 StartBluetoothConnectionUpdatesaccessory -> iPhone0x4E04 BluetoothConnectionUpdate
0x5000 StartNowPlayingUpdatesaccessory -> iPhone0x5001 NowPlayingUpdate
0x5003 SetNowPlayingInfoaccessory -> iPhone0x5001 NowPlayingUpdate
0x5200 StartRouteGuidanceUpdatesaccessory -> iPhone0x5201 RouteGuidanceUpdate0x5202 RouteGuidanceManeuverUpdate0x5204 LaneGuidanceInfoUpdate
0x5402 assistiveTouch_startAssistiveTouchUpdateHandleraccessory -> iPhone0x5403 NotifyStatusUpdate
0x560B voiceOver_startInformationHandleraccessory -> iPhone0x560C VoiceOverInformation
0x560F voiceOver_startCursorInformationHandleraccessory -> iPhone0x5610 VoiceOverCursorInformation
0x5700 RequestWiFiInformationaccessory -> iPhone0x5701 WiFiInformation
0x5702 RequestAccessoryWiFiConfigurationInformationiPhone -> accessory0x5703 AccessoryWiFiConfigurationInformation
0x6804 hid_GetReportiPhone -> accessory0x6805 GetReportResponse
0xA100 StartVehicleStatusUpdatesiPhone -> accessory0xA101 VehicleStatusUpdate
0xAA00 RequestAuthenticationCertificateiPhone -> accessory0xAA01 AuthenticationCertificate
0xAA01 AuthenticationCertificateaccessory -> iPhone0xAA02 RequestAuthenticationChallengeResponse
0xAA02 RequestAuthenticationChallengeResponseiPhone -> accessory0xAA03 AuthenticationResponse
0xAA03 AuthenticationResponseaccessory -> iPhone0xAA04 AuthenticationFailed0xAA05 AuthenticationSucceeded
0xAA10 RequestDeviceCertificateaccessory -> iPhone0xAA11 AuthenticationCertificate
0xAA11 AuthenticationCertificateiPhone -> accessory0xAA12 RequestDeviceChallengeResponse
0xAA12 RequestDeviceChallengeResponseaccessory -> iPhone0xAA13 AuthenticationResponse
0xAA13 AuthenticationResponseiPhone -> accessory0xAA14 DeviceAuthenticationFailed0xAA15 DeviceAuthenticationSucceeded
0xAD00 appLinks_startaccessory -> iPhone0xAD01 AppLinksUpdate
0xAD03 appLinks_requestAppIconsaccessory -> iPhone0xAD04 AppIconResponse
0xAE00 StartPowerUpdatesaccessory -> iPhone0xAE01 PowerUpdate0xAE03 PowerSourceUpdate
0xDA00 digitalAudio_startaccessory -> iPhone0xDA01 DigitalAudioInformationUpdate
0xEA00 externalAccessory_openEASessioniPhone -> accessory0xEA03 StatusExternalAccessoryProtocolSession
0xFFFA StartLocationInformationiPhone -> accessory0xFFFB LocationInformation