Calling the Bluetooth GetMessage function for a message that was sent via Bluetooth, the returned BMessage contains an incorrect folder path to the message. The Event Report returns the correct folder path when the message is successfully sent.
Scenario:
- Connect to Bluetooth MAP services (MNS and MAS).
- Call Bluetooth "PushMessage" function.
- Get 'Name Header' for the Message Handle.
- MAP-Event-Report received with Type of SendingSuccess and Folder equal to "telecom/msg/sent".
- Use "SetFolder" to navigate to Sent folder.
- Call "GetMessage" with the Message Handle (the handle is the same for both the event report and PushMessage function).
- The BMessage response has a folder of "telecom/msg/inbox"
BMessage:
BEGIN:BMSG
VERSION:1.0
STATUS:UNREAD
TYPE:SMS_GSM
FOLDER:telecom/msg/inbox
NOTIFICATION:1
BEGIN:VCARD
VERSION:2.1
FN;CHARSET=UTF-8:[Contact]
N;CHARSET=UTF-8:[Contact]
TEL:3:
END:VCARD
BEGIN:BENV
BEGIN:VCARD
VERSION:2.1
FN;CHARSET=UTF-8:[Contact]
N;CHARSET=UTF-8:[Contact]
TEL:[Phone Number]
END:VCARD
BEGIN:BBODY
CHARSET:UTF-8
LANGUAGE:UNKNOWN
LENGTH:[Some Length]
BEGIN:MSG
iOS is the worst.
END:MSG
END:BBODY
END:BENV
END:BMSG
Set Folder to telecom: 85-00-20-02-00-01-00-13-00-74-00-65-00-6C-00-65-00-63-00-6F-00-6D-00-00-4C-00-03-CB-08-60-59-D0
Set Folder to msg: 85-00-18-02-00-01-00-0B-00-6D-00-73-00-67-00-00-4C-00-03-CB-08-60-59-D0
Setting Folder to sent: 85-00-1A-02-00-01-00-0D-00-73-00-65-00-6E-00-74-00-00-4C-00-03-CB-08-60-59-D0
Calling GetMessage function: 83-00-44-01-00-23-00-44-00-33-00-42-00-43-00-34-00-45-00-39-00-31-00-30-00-35-00-41-00-41-00-34-00-43-00-32-00-00-42-00-10-78-2D-62-74-2F-6D-65-73-73-61-67-65-00-4C-00-09-14-01-01-0A-01-00-CB-08-60-59-D0
Section 3.1.4 of the Bluetooth Specification states:
"telecom/msg/sent: This folder shall contain messages that were successfully sent to the network by the MSE, at least during the period of the current MAP session. In particular these messages have been queued in the 'Outbox' folder before sending and are shifted by the MSE to this folder after transmission."
Apple is also nice enough to not include any additional contacts when the text message is part of a group text. This has been made unnecessarily difficult for developers to use and what's worse, it seems intentional.