Как правильно вызвать метод PushMessage bluez / obex для отправки SMS через Bluetooth - PullRequest
0 голосов
/ 09 ноября 2018

У меня проблема с отправкой SMS-сообщения с использованием bluez / obex.

Я пытаюсь реализовать все методы из профиля доступа к сообщениям, и мне удалось реализовать все, кроме одного.

Я не могу заставить работать метод "object, dict PushMessage (string sourcefile, string folder, dict args)".

Содержание исходного файла (/tmp/msgzaGehyhi.bmf):

BEGIN:BMSG
VERSION:1.0
STATUS:UNREAD
TYPE:SMS_GSM
FOLDER:TELECOM/MSG/OUTBOX
BEGIN:BENV
BEGIN:VCARD
VERSION:2.1
N:John Smith
TEL:+385917512224
END:VCARD
BEGIN:BBODY
CHARSET:UTF-8
LENGTH:28
BEGIN:MSG
Fgghhh
END:MSG
END:BBODY
END:BENV
END:BMSG

Папка параметров установлена ​​в «исходящие», но я также попытался «telecom / msg / outbox».

Параметр args - пустой словарь.

Перед вызовом метода PushMessage я сделал успешный вызов метода SetFolder ("/ telecom / msg"), который работает с вызовами типа ListMessages ("inbox", []).

После вызова метода PushMessage я получаю объект передачи объекта, который должен загрузить исходный файл, и его начальное состояние ставится в очередь.

Через несколько мгновений единственное, что я получаю от bluez - это ошибка без кода или текста ошибки.

Вывод dbus-монитора во время кода метода PushMessage

method call time=1541681140.634297 sender=:1.8 -> destination=org.bluez.obex serial=95 path=/org/bluez/obex/client/session5; interface=org.bluez.obex.MessageAccess1; member=PushMessage
   string "/tmp/msgALrukMqt.bmf"
   string "outbox"
   array [
   ]
signal time=1541681140.637403 sender=:1.3 -> destination=(null destination) serial=414 path=/; interface=org.freedesktop.DBus.ObjectManager; member=InterfacesAdded
   object path "/org/bluez/obex/client/session5/transfer49"
   array [
      dict entry(
         string "org.freedesktop.DBus.Introspectable"
         array [
         ]
      )
      dict entry(
         string "org.bluez.obex.Transfer1"
         array [
            dict entry(
               string "Status"
               variant                   string "queued"
            )
            dict entry(
               string "Name"
               variant                   string "outbox"
            )
            dict entry(
               string "Size"
               variant                   uint64 223
            )
            dict entry(
               string "Filename"
               variant                   string "/tmp/msgALrukMqt.bmf"
            )
            dict entry(
               string "Session"
               variant                   object path "/org/bluez/obex/client/session5"
            )
         ]
      )
      dict entry(
         string "org.freedesktop.DBus.Properties"
         array [
         ]
      )
   ]
method return time=1541681140.639362 sender=:1.3 -> destination=:1.8 serial=415 reply_serial=95
   object path "/org/bluez/obex/client/session5/transfer49"
   array [
      dict entry(
         string "Status"
         variant             string "queued"
      )
      dict entry(
         string "Name"
         variant             string "outbox"
      )
      dict entry(
         string "Size"
         variant             uint64 223
      )
      dict entry(
         string "Filename"
         variant             string "/tmp/msgALrukMqt.bmf"
      )
      dict entry(
         string "Session"
         variant             object path "/org/bluez/obex/client/session5"
      )
   ]
method call time=1541681140.643590 sender=:1.8 -> destination=org.freedesktop.DBus serial=96 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string "type='signal',sender='org.bluez.obex',path='/org/bluez/obex/client/session5/transfer49',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'"
method call time=1541681140.645212 sender=:1.8 -> destination=org.freedesktop.DBus serial=97 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string "type='signal',sender='org.bluez.obex',path='/org/bluez/obex/client/session5/transfer49',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'"
signal time=1541681141.520368 sender=:1.3 -> destination=(null destination) serial=416 path=/org/bluez/obex/client/session5/transfer49; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
   string "org.bluez.obex.Transfer1"
   array [
      dict entry(
         string "Status"
         variant             string "error"
      )
   ]
   array [
   ]
signal time=1541681141.521765 sender=:1.3 -> destination=(null destination) serial=417 path=/; interface=org.freedesktop.DBus.ObjectManager; member=InterfacesRemoved
   object path "/org/bluez/obex/client/session5/transfer49"
   array [
      string "org.freedesktop.DBus.Properties"
      string "org.freedesktop.DBus.Introspectable"
      string "org.bluez.obex.Transfer1"
   ]
signal time=1541681166.502012 sender=org.freedesktop.DBus -> destination=:1.8 serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.8"

Может ли кто-нибудь помочь мне заставить его работать или, по крайней мере, дать мне пример исходного файла и параметры, которые работают на их компьютере.

Спасибо за помощь

...