Bluetooth
ProPTT2 support Bluetooth PTT accessories for an external PTT button.
Bluetooth 2.0/3.0
SPP
ProPTT2 Android, iOS version both support PTT key through SPP.
Savox BTR-155, CODA S command: This would be a common protocol.
PTT key
Key pressed: +PTT=P
Key released: +PTT=R
SOS key
Key pressed: +SOS=P
Key released: +SOS=R
iOS control protocol for MFi Hardware
ProPTT2 is using "com.proptt2.control.pttbutton".
Special protocol
ProPTT2 also can support a special protocol of bluetooth device.
Developer's References
iOS: https://developer.apple.com/library/ios/featuredarticles/ExternalAccessoryPT/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009498-SW1
Android: https://developer.android.com/guide/topics/connectivity/bluetooth.html
Windows: serial communication
Bluetooth 4.0(Standard BLE)
ProPTT2 Android and iOS(There could be issues) version support PTT key through GATT.
Common UUID for notification
Service: 0000FFE0-0000-1000-8000-00805F9B34FB
Characteristic: 0000FFE1-0000-1000-8000-00805F9B34FB
Value: 1 = Pressed, 0 = Released
Special UUID for device and notification
ProPTT2 also can support a special UUID of bluetooth device.
Developer's References
iOS: https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/AboutCoreBluetooth/
Introduction.html
Android: https://developer.android.com/guide/topics/connectivity/bluetooth-le.html
Windows: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn263141.aspx
https://msdn.microsoft.com/en-us/library/windows/hardware/hh450825(v=vs.85).aspx
Coda compatible mode(BLE)
ProPTT2 Android, iOS version both support Coda compatible mode.
Check name
Android version is checking that device name contains "CODA".
iOS version is checking only service UUID.
Dedicate key as a PTT
Service: 2320AE58-8394-4652-95F7-0A872AC0958F
Characteristic: 481DE929-8D4C-4D9E-A574-772A73E63977
Value(App=>Device): {(byte)0x09, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00}
Notify PTT key
Service: 89A8591D-BB19-485B-9F59-58492BC33E24
Characteristic: 894C8042-E841-461C-A5C9-5A73D25DB08E
Value(Device=>App): 0x01 = Pressed, 0x00 = Released