diff --git a/android/Makefile.am b/android/Makefile.am
index 79f30d7..ac00bb2 100644
--- a/android/Makefile.am
+++ b/android/Makefile.am
android/pixit-gap.txt android/pixit-hid.txt \
android/pixit-opp.txt android/pixit-pan.txt \
android/pixit-pbap.txt android/pts-gap.txt android/pts-hid.txt \
- android/pts-opp.txt android/pts-pbap.txt
+ android/pts-opp.txt android/pts-pbap.txt \
+ android/audio-ipc-api.txt
diff --git a/android/audio-ipc-api.txt b/android/audio-ipc-api.txt
new file mode 100644
index 0000000..4983ad7
--- /dev/null
+++ b/android/audio-ipc-api.txt
+Bluetooth Audio Plugin
+======================
+
+The audio plugin happen to be in a different socket but all the rules for
+HAL socket apply here as well, the abstract socket name is
+"\0bluez_audio_socket" (tentative):
+
+ .--Android--. .---Audio---.
+ | daemon | | Plugin |
+ | | Command | |
+ | | <-------------------------- | |
+ | | | |
+ | | --------------------------> | |
+ | | Response | |
+ | | | |
+ | | | |
+ | | | |
+ '-----------' '-----------'
+
+
+ Audio HAL Daemon
+ ----------------------------------------------------
+
+ call dev->open() --> command 0x01
+ return dev->open() <-- response 0x01
+
+ call dev->open_output_stream() --> command 0x03
+ return dev->open_output_stream() <-- response 0x03
+
+ call stream_in->read() --> command 0x05
+ return stream_in->read() <-- response 0x05
+
+ call stream_in->common.standby() --> command 0x06
+ return stream_in->common.standby() <-- response 0x06
+
+ call dev->close_output_stream() --> command 0x04
+ return dev->close_output_stream() <-- response 0x04
+
+ call dev->close() --> command 0x02
+ return dev->close() <-- response 0x02
+
+Identifier: "audio" (BT_AUDIO_ID)
+
+ Opcode 0x00 - Error response
+
+ Response parameters: Status (1 octet)
+
+ Opcode 0x01 - Open Audio Endpoint commmand
+
+ Command parameters: Service UUID (16 octets)
+ Codec ID (1 octet)
+ Codec capabilities length (1 octet)
+ Codec capabilities (variable)
+ Number of codec presets (1 octet)
+ Codec preset # length (1 octet)
+ Codec preset # configuration (variable)
+ ...
+ Response parameters: Endpoint ID (1 octet)
+
+ Opcode 0x02 - Close Audio Endpoint command
+
+ Command parameters: Endpoint ID (1 octet)
+ Response parameters: <none>
+
+ Opcode 0x03 - Open Stream command
+
+ Command parameters: Endpoint ID (1 octet)
+ Response parameters: Codec configuration length (1 octet)
+ Codec configuration (1 octet)
+ File descriptor (inline)
+
+ Opcode 0x04 - Close Stream command
+
+ Command parameters: Endpoint ID (1 octet)
+ Response parameters: <none>
+
+ Opcode 0x05 - Resume Stream command
+
+ Command parameters: Endpoint ID (1 octet)
+ Response parameters: <none>
+
+ Opcode 0x06 - Suspend Stream command
+
+ Command parameters: Endpoint ID (1 octet)
+ Response parameters: <none>