Я пытаюсь подписать тестового пользователя на тестовую комнату, используя Ejabberd API.Я уверен, что просто что-то неправильно настроил, но я не могу найти проблему.Я использую Ejabberd 16.09 и пытаюсь использовать mod_http_api
Моя конфигурация следующая:
hosts:
- "localhost"
- "my.personal.host"
listen:
-
port: 5285
module: ejabberd_http
request_handlers:
"/api": mod_http_api
acl:
admin:
user:
- "@localhost"
modules:
mod_muc:
mam: true
default_room_options:
allow_subscription: true
access:
- allow
access_admin:
- allow: admin
access_create: muc_create
access_persistent: muc_create
mod_muc_admin: {}
mod_http_api:
admin_ip_access: admin_ip_access_rule
api_permissions:
"API used from localhost allows all calls":
- who:
- ip: "127.0.0.1/8"
- what:
- "*"
- "!stop"
- "!start"
access:
admin_ip_access_rule:
admin:
- create_room
- register
- subscribe_room
Я успешно создал пользовательский test1 и комнату testroom1 через API.Затем я пытаюсь подписать пользователя на этот ром с помощью POST с curl:
curl -X POST -H "Cache-Control: no-cache" -d '{"user":"test1@my.personal.host/something","nick":"test1","room":"testroom1@my.persoal.host","nodes":"urn:xmpp:mucsub:nodes:messages"}' "http://localhost:5285/api/subscribe_room"
И все же я получаю этот ответ:
"Subscriptions are not allowed"
Так что я делаю не так?