У меня проблема с отправкой 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"
Может ли кто-нибудь помочь мне заставить его работать или, по крайней мере, дать мне пример исходного файла и параметры, которые работают на их компьютере.
Спасибо за помощь