summaryrefslogtreecommitdiffstats
path: root/README.md
blob: 97f8e307540849f7e34ec48a68d8547aa0cbb03c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Bluetooth MAP (Message Service Profile) Service

## Overview

Bluetooth MAP (Message Access Profile) service uses the respective profile support from BlueZ
to enable message notifications from SMS/email/etc.

### Important Notes

Message composition and message access  isn't available on iOS devices due to respective security
polices, and in turn isn't supported in Apple's implementation of the (MAP) Message Access Profile.

## Verbs

| Name              | Description                              | JSON Response                             |
|-------------------|------------------------------------------|-------------------------------------------|
| compose           | send message                             | see **compose verb** section              |
| message           | display message                          | see **message verb** section              |
| list_messages     | list messages in folder                  | see **list_messages** section             |
| subscribe         | subscribe to MAP service events          | *Request:* {"value": "notification"}      |
| unsubscribe       | unsubscribe to MAP service events        | *Request:* {"value": "notification"}      |

## Events

| Name              | Description                              | JSON Event Data                           |
|-------------------|------------------------------------------|-------------------------------------------|
| notification      | report notification message              | see **notification event** section        |


### compose verb

Send a message (if supported) via MAP profile:

<pre>
{
  "recipient": "+13605551212",
  "message": "Sounds good. See you then."
}
</pre>

### message verb

Request a message via the respective handle:

<pre>
{
    "handle": "message288230376151711769"
}
</pre>

Response:

<pre>
{
    "response": {
        "status": "UNREAD",
        "type": "SMS_GSM",
        "folder": "telecom/msg/INBOX",
        "sender": {
            "tel": "+13605551212"
        },
    "message": "Meet at Victor 23 at 6p?"
},

</pre>

### list_messages verb

Request a folder listing of messages:

<pre>
{
    "folder":"INBOX"
}
</pre>

Response which the message handle as the key and includes its properties:

<pre>
{
    "response": {
        "messages": {
            "message288230376151711769": {
                "folder": "/telecom/msg/INBOX",
                "subject": "Meet at Victor 23 at 6p?",
                "timestamp": "20190614T093341",
                "sender": "",
                "senderaddress": "+13605551212",
                "recipient": "",
                "recipientaddress": "",
                "type": "sms-gsm",
                "size": 24,
                "status": "complete",
                "priority": false,
                "read": false,
                "sent": false,
                "protected": false,
                "downloaded": true
            },
            ...
        }
    }
},
</pre>

### notification event

<pre>
{
   "status": "UNREAD",
   "type": "SMS_GSM",
   "folder": "telecom/msg/inbox",
   "sender": {
       "fn": "Satoshi Nakamoto",
       "n": "Satoshi"
    },
    "message": "Meet at Victor 23 at 6p?"
}
</pre>