aboutsummaryrefslogtreecommitdiffstats

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
}