2017-09-15 60 views
1

我試圖對Smack插件使用多用戶呼叫,但收到以下錯誤。由於本地主機不提供MUC(XEP-45)服務,因此無法執行操作

Can't perform operation because localhost does not provide a MUC (XEP-45) service. 

它似乎來自沒有在ejabberd中啓用mod_muc,但我不知道如何激活它。我以爲我在我的ejabberd.yml中這樣做。

這裏是我的ejabberd.yml mod_muc部分:

mod_muc: 
    ## host: "[email protected]@" 
    access: muc 
    access_create: muc 
    access_admin: muc_admin 
    history_size: 5 
    max_users: 4 
    default room options: 
     allow_change_subj: true 
     allow_private_messages: false 
     allow_user_invites: true 
     members_by_default: true 
     public: true 
     public_list: true 
     persistent: false 

是任何人都得到XEP-45不提供的錯誤?我該如何解決它?

+0

確保您在'ejabberd'配置中具有'mod_muc' enabeld。 – Dunedan

+0

我應該設置什麼參數? – Yambotron

+0

我不確定在哪裏啓用它。 – Yambotron

回答

0

您正嘗試將MUC查詢發送至localhost JID,而您應發送至MUC服務的JID。取消host: "[email protected]@"並將conference.localhost用作所有MUC請求的JID

+0

感謝您的回覆。我很感激。我應該把報價放在conference.localhost或不是? – Yambotron

+0

將報價放在「conference。@ HOST @」中,並將您的請求發送到「conference。@ HOST @」。意思是,如果您的主機是example.com,則將其發送到conference.example.com – Darshan

相關問題