Bluetooth PBAP Service
Overview
Bluetooth PBAP service reports respective vCard phonebook data from BlueZ via communication with PBAP profile
Verbs
Name | Description | JSON Response |
---|---|---|
subscribe | subscribe to Bluetooth PBAP events | Request: {"value": "status"} |
unsubscribe | unsubscribe to Bluetooth PBAP events | Request: {"value": "status"} |
import | request contact data from connected device | see import verb section |
contacts | return all contacts from connected device | see contacts verb section |
entry | return vCard data from handle | see entry verb section |
history | return call history list | see history verb section |
search | search for respective vCard handle | see search verb section |
status | current device connection status | same response as noted in status event section |
import Verb
Requests phonebook from connected device via OBEX transfers, caches the results to a database, and returns a response as documented in the contacts verb section
contacts Verb
Returns all vCards that are accessible from respective connected device in concatenated output from the cached database.
NOTE: This doesn't request refreshed data from device
"response": { "vcards": [ { "fn": "Art McGee", "photo": { "mimetype": "image/jpeg", "data": 'BASE64 IMAGE BLOB HERE' }, "telephone": [ { "CELL": "+13305551212" } ] }, ... ] }
search Verb
Example of a request for vCard search using number parameter (i.e. {"number":"+15035551212"}) results:
"response": { "results": [ { "handle": "27e.vcf", "name": "Art McGee" } ] } },
entry Verb
Client must pass one of the following values to the list parameter in request:
Value | Description |
---|---|
ich | Incoming calls |
och | Outgoing calls |
mch | Missed calls |
cch | Combined calls (e.g. incoming, outgoing, missed) |
pb | Phonebook (typically selected) |
Also there is a handle parameter that must be in form of vCard path (e.g. 27e.vcf).
Response is the same as noted in the contacts verb
history Verb
Client must pass one of the following values to the list parameter in request:
Value | Description |
---|---|
ich | Incoming calls |
och | Outgoing calls |
mch | Missed calls |
cch | Combined calls (e.g. incoming, outgoing, missed) |
Sample request for a combined list (i.e. {"list":"cch"}) and its respective response:
"response": { "vcards": [ { "fn": "Art McGee" "type": "DIALED", "timestamp": "20190509T193422", "telephone": "+13305551212" }, { "fn": "UNKNOWN CALLER", "type": "MISSED", "timestamp": "20190426T014109", "telephone": "+15035551212" }, { "fn": "Satoshi Nakamoto" "type": "RECEIVED", "timestamp": "20190421T090123", "telephone": "+13605551212" } ] }
Events
Respective binding only outputs one event that signals if an PBAP capable device is connected
status Event
Sample of a Bluetooth PBAP status event:
{ "connected": true }