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
Navigation
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
App links and launch
0xAD00 appLinks_start
- 方向: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
0xAD02 appLinks_stop
- 方向:accessory -> iPhone
- 功能:AppLinks
- Body:
- empty
- 会话行为:配件停止 app-link 订阅。
- 预期返回:无 CSM 响应;若在数据帧中发送,只要求 iAP2 link ACK。
0x4040 | u16 frameLength | u16 messageID | body
0xAD03 appLinks_requestAppIcons
- 方向: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 pingHandler | accessory -> iPhone | 0x0000 with the same body |
| 0x0004 sendPingAccHandler | accessory -> iPhone | 0x0005 with the same body |
| 0x00B0 oobBtPairing_startPairing | iPhone -> accessory | 0x00B1 AccessoryInfo0x00B3 CompletionInfo |
| 0x00B2 oobBtPairing_pairingLinkKeyInfo | iPhone -> accessory | 0x00B3 CompletionInfo |
| 0x00B4 oobBtPairing_stopPairing | iPhone -> accessory | 0x00B3 CompletionInfo |
| 0x0B00 oobBtPairing2_startPairing | iPhone -> accessory | 0x0B01 AccessoryInfo0x0B02 PairingStatus |
| 0x0D00 StartRoadObjectDetection | iPhone -> accessory | 0x0D01 RoadObjectDetectionUpdate |
| 0x10DA destinationSharing_StartDestinationInformation | accessory -> iPhone | 0x10DB DestinationInformationUpdate0x10DD DestinationInformationStatus |
| 0x1D00 StartIdentification | iPhone -> accessory | 0x1D01 IdentificationInformation |
| 0x1D01 IdentificationInformation | accessory -> iPhone | 0x1D02 IdentificationAccepted0x1D03 IdentificationRejected |
| 0x4154 startCallStateUpdatesHandler | accessory -> iPhone | 0x4155 CallStateUpdate |
| 0x4157 startCommunicationsUpdatesHandler | accessory -> iPhone | 0x4158 CommunicationsUpdate |
| 0x4170 startListUpdatesHandler | accessory -> iPhone | 0x4171 ListUpdate |
| 0x4300 CarPlayAvailability | iPhone -> accessory | 0x4301 CarPlayStartSession |
| 0x4302 AvailableDigitalCarKeys | accessory -> iPhone | 0x4303 MatchedDigitalCarKeys |
| 0x4C00 StartMediaLibraryInformation | accessory -> iPhone | 0x4C01 MediaLibraryInformation |
| 0x4C03 StartMediaLibraryUpdates | accessory -> iPhone | 0x4C04 MediaLibraryUpdate |
| 0x4E03 StartBluetoothConnectionUpdates | accessory -> iPhone | 0x4E04 BluetoothConnectionUpdate |
| 0x5000 StartNowPlayingUpdates | accessory -> iPhone | 0x5001 NowPlayingUpdate |
| 0x5003 SetNowPlayingInfo | accessory -> iPhone | 0x5001 NowPlayingUpdate |
| 0x5200 StartRouteGuidanceUpdates | accessory -> iPhone | 0x5201 RouteGuidanceUpdate0x5202 RouteGuidanceManeuverUpdate0x5204 LaneGuidanceInfoUpdate |
| 0x5402 assistiveTouch_startAssistiveTouchUpdateHandler | accessory -> iPhone | 0x5403 NotifyStatusUpdate |
| 0x560B voiceOver_startInformationHandler | accessory -> iPhone | 0x560C VoiceOverInformation |
| 0x560F voiceOver_startCursorInformationHandler | accessory -> iPhone | 0x5610 VoiceOverCursorInformation |
| 0x5700 RequestWiFiInformation | accessory -> iPhone | 0x5701 WiFiInformation |
| 0x5702 RequestAccessoryWiFiConfigurationInformation | iPhone -> accessory | 0x5703 AccessoryWiFiConfigurationInformation |
| 0x6804 hid_GetReport | iPhone -> accessory | 0x6805 GetReportResponse |
| 0xA100 StartVehicleStatusUpdates | iPhone -> accessory | 0xA101 VehicleStatusUpdate |
| 0xAA00 RequestAuthenticationCertificate | iPhone -> accessory | 0xAA01 AuthenticationCertificate |
| 0xAA01 AuthenticationCertificate | accessory -> iPhone | 0xAA02 RequestAuthenticationChallengeResponse |
| 0xAA02 RequestAuthenticationChallengeResponse | iPhone -> accessory | 0xAA03 AuthenticationResponse |
| 0xAA03 AuthenticationResponse | accessory -> iPhone | 0xAA04 AuthenticationFailed0xAA05 AuthenticationSucceeded |
| 0xAA10 RequestDeviceCertificate | accessory -> iPhone | 0xAA11 AuthenticationCertificate |
| 0xAA11 AuthenticationCertificate | iPhone -> accessory | 0xAA12 RequestDeviceChallengeResponse |
| 0xAA12 RequestDeviceChallengeResponse | accessory -> iPhone | 0xAA13 AuthenticationResponse |
| 0xAA13 AuthenticationResponse | iPhone -> accessory | 0xAA14 DeviceAuthenticationFailed0xAA15 DeviceAuthenticationSucceeded |
| 0xAD00 appLinks_start | accessory -> iPhone | 0xAD01 AppLinksUpdate |
| 0xAD03 appLinks_requestAppIcons | accessory -> iPhone | 0xAD04 AppIconResponse |
| 0xAE00 StartPowerUpdates | accessory -> iPhone | 0xAE01 PowerUpdate0xAE03 PowerSourceUpdate |
| 0xDA00 digitalAudio_start | accessory -> iPhone | 0xDA01 DigitalAudioInformationUpdate |
| 0xEA00 externalAccessory_openEASession | iPhone -> accessory | 0xEA03 StatusExternalAccessoryProtocolSession |
| 0xFFFA StartLocationInformation | iPhone -> accessory | 0xFFFB LocationInformation |