Tigase開發筆記3:Tigase 參數配置說明

sm-plugin說明

參數 說明 參考
jabber:iq:register 註冊服務

message-archive-xep-0136 消息歸檔
jabber:iq:auth 簡單用戶認證

urn:ietf:params:xml:ns:xmpp-sasl SASL協商 參考
urn:ietf:params:xml:ns:xmpp-bind 資源綁定

urn:ietf:params:xml:ns:xmpp-session session綁定

jabber:iq:roster 聯繫人名單管理

presence xmpp頂級元素,上線廣播

jabber:iq:privacy 隱身協議

jabber:iq:version 客戶端版本

http://jabber.org/protocol/stats 是否發送統計信息,指向jabber.org發送

startls tls加密

msgoffline 離線消息

vcard-temp 臨時的vCard

http://jabber.org/protocol/commands 管理virtual domains的特別命令 參考
jabber:iq:private 私有數據存儲

urn:xmpp:ping 心跳檢測

pep 發佈訂閱插件 參考
domain-filter(basic-filter) domain攔截器 參考
amp(basic-filter) 高級消息處理 參考1參考2
zlib(basic-filter) zlib壓縮

message-carbons(basic-filter) 將stanzas投遞到用戶指定的資源

disco(basic-filter) 服務發現


標準錯誤代碼

代碼 說明
302

重定向,儘管HTTP規定中包含八種不同代碼來表示重定向,Jabber只用了其中一個(用來代替所有的重定向錯誤)

。不過Jabber代碼302是爲以後的功能預留的,目前還沒有用到。

400

壞請求,Jabber代碼400用來通知Jabber客戶端,一個請求因爲其糟糕的語法不能被識別

。例如,當一個Jabber客戶端發送一個的訂閱請求給它自己活發送一條沒有包含“to”屬性的消息,Jabber代碼400就會產生。

401

未授權的,Jabber代碼401用來通知Jabber客戶端它們提供的是錯誤的認證信息,如,在登陸一個Jabber服務器時使用一個錯誤的密碼,或未知的用戶名

402 所需的費用,Jabber代碼402爲未來使用進行保留,目前還不用到。
403 禁止,Jabber代碼403被Jabber服務器用來通知Jabber客戶端該客戶端的請求可以識別,但服務器拒絕執行。目前只用在註冊過程中的密碼存儲失敗。
404

沒有找到,Jabber代碼404用來表明Jabber服務器找不到任何與JabberID匹配的內容,該JabberID是一個Jabber客戶端發送消息的目的地

。如,一個用戶打算向一個不存在的JabberID發送一條消息。如果接受者的Jabber服務器無法到達,將發送一個來自500級數的錯誤代碼。

405

不允許的,Jabber代碼405用在不允許操作被’from’地址標識的JabberID

。例如,它可能產生在,一個非管理員用戶試圖在服務器上發送一條管理員級別的消息,或者一個用戶試圖發送一臺Jabber服務器的時間或版本,

或者發送一個不同的JabberID的vCard。

406

不被接受的,Jabber代碼406用於服務器因爲某些理由不接受一個包。例如,這個可能發生在

,一個Jabber客戶端試圖使用jabber:iq:private在服務器上存儲信息,

但當前的用於存儲的名字空間用”jabber:”開頭(在Jabber裏是一個被存的XML開頭)。

另一種可能產生406錯誤的情況是當一個Jabber客戶端試圖用一個空密碼註冊到一臺Jabber服務器上。

407 必須註冊,Jabber代碼407當前不被使用
408

註冊超時,當一個Jabber客戶端不能在服務器準備好的時間內發起一個請求時,Jabber服務器生成Jabber代碼408

。這個代碼當前只用於Jabber會話管理器使用的零度認證模式中。

409 衝突
500

服務器內部錯誤,當一臺Jabber服務器遇到一種預期外的條件,該條件阻止服務器處理來自Jabber客戶端的包,這是將用到Jabber代碼500

。現在,唯一會引發500錯誤代碼的時間是當一個Jabber客戶端試圖通過服務器認證,而該認證因爲某些原因沒有被處理(如無法保存密碼)。

501

不可執行,當服務器不支持Jabber客戶端請求的功能,使用Jabber代碼501

。例如,該代碼只當Jabber客戶端發送一個認證請求,而該認證請求不包含服務器配置中定義的任何一種認證方式時,服務器發送Jabber代碼501。

這個代碼還被用於,當一個Jabber客戶端試圖註冊一個不允許註冊的服務器。

502

遠程服務器錯誤,當因爲無法到達遠程服務器導致轉發一個包失敗時,使用Jabber代碼502

。該代碼發送的特殊例子包括一個遠程服務器的連接的失敗,無法獲取遠程服務器的主機名,以及遠程服務器錯誤導致的外部時間過期。

503

服務無法獲得,當一個Jabber客戶端請求一個服務,而Jabber服務器通常由於一些臨時原因無法提供該服務時,使用Jabber代碼503

。例如,一個Jabber客戶端試圖發送一條消息給另一個用戶,該用戶不在線,但它的服務器不提供離線存儲服務,

服務器將返回一個503錯誤代碼給發送消息的JabberID。當爲vcard-temp和jabber:iq:private名字空間設置信息時,

出現通過xdb進行數據存儲的寫入錯誤,也使用該代碼。

504 遠程服務器超時,Jabber代碼504用於下列情況:試圖連接一臺服務器發生超時,錯誤的服務器名。
510 連接失敗,Jabber代碼510目前還沒有使用。

擴展code(XMPPErrorCodeExtension枚舉),如果大家定義了,請加在此處。 ERROR_TH(4031, "cancel", "登陸過於頻繁或者流量過大")



MUC相關技術

  • XEP-0004: 數據表單,用來交換數據。

CS和SM分離

  • tigase中是可行的,但是目前架構沒有這樣做。這樣做會增加網絡開銷,目前此方案,不是很好,待嘗試。

使用到得XEP

羣聊室的屬性

我們設計的羣已經不是標準的xmpp羣了,下面的屬性是對於smack或者標準的xmpp羣有意義的。

  • 房間名稱|muc#roomconfig_roomname
  • 描述|muc#roomconfig_roomdesc
  • 允許佔有者更改主題|muc#roomconfig_changesubject
  • 最大房間佔有者人數|muc#roomconfig_maxusers
  • 其 Presence 是 Broadcast 的角色|muc#roomconfig_presencebroadcast
  • 列出目錄中的房間|muc#roomconfig_publicroom
  • 房間是持久的|muc#roomconfig_persistentroom
  • 房間是適度的|muc#roomconfig_moderatedroom
  • 房間僅對成員開放|muc#roomconfig_membersonly
  • 允許佔有者邀請其他人|muc#roomconfig_allowinvites
  • 需要密碼才能進入房間|muc#roomconfig_passwordprotectedroom
  • 密碼|muc#roomconfig_roomsecret
  • 能夠發現佔有者真實 JID 的角色|muc#roomconfig_whois
  • 登錄房間對話|muc#roomconfig_enablelogging
  • 僅允許註冊的暱稱登錄|x-muc#roomconfig_reservednick
  • 允許使用者修改暱稱|x-muc#roomconfig_canchangenick
  • 允許用戶註冊房間|x-muc#roomconfig_registration
  • 房間管理員|muc#roomconfig_roomadmins
  • 房間擁有者|muc#roomconfig_roomowners

線上服務器環境配置

tcp調優參考我之前的文章Linux TCP調優


Tigase默認jars包的版本信息(啓動的日誌文件中可以看到)

Loading component: amp :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.amp.AmpComponent}
Loading component: bosh :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.bosh.BoshConnectionManager}
Loading component: c2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.xmppclient.ClientConnectionManager}
Loading component: http :: componentInfo{Title=Tigase HTTP API component: Tigase HTTP API component, Version=1.1.0-b83/d51e1db6, Class=tigase.http.HttpMessageReceiver}
Loading component: message-archive :: componentInfo{Title=Tigase Message Archiving Component, Version=1.1.0-b71/c4003eb3, Class=tigase.archive.MessageArchiveComponent}
Loading component: monitor :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.monitor.MonitorComponent}
Loading component: muc :: componentInfo{Title=Tigase MUC, Version=2.3.0-b389/879168a9, Class=tigase.muc.MUCComponent}
Loading component: proxy :: componentInfo{Title=Tigase Socks5 Component, Version=1.1.0-b48/f5c8a08c, Class=tigase.socks5.Socks5ProxyComponent}
Loading component: pubsub :: componentInfo{Title=Tigase PubSub, Version=3.1.0-b463/1df4d937, Class=tigase.pubsub.PubSubComponent}
Loading component: s2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.xmppserver.S2SConnectionManager}
Loading plugin: session-close=4:1265 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: session-open=4:1265 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: default-handler=4:1265 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:register=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:auth=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:ietf:params:xml:ns:xmpp-sasl=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:ietf:params:xml:ns:xmpp-bind=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:ietf:params:xml:ns:xmpp-session=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:roster=2:2530 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:privacy=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:version=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: http://jabber.org/protocol/stats=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: starttls=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: vcard-temp=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: http://jabber.org/protocol/commands=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: jabber:iq:private=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: urn:xmpp:ping=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: presence=2:2530 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: disco=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: zlib=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: amp=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: message-carbons=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
Loading plugin: message-archive-xep-0136=1:5060 ...  , version: 7.0.2-b3821/563fcf81 (2015-05-15/00:41:16)
MA LOADED = [email protected]
Loading component: sess-man :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.xmppsession.SessionManager}
Loading component: ws2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.2-b3821/563fcf81 (2015-05-15/00:41:16), Class=tigase.server.websocket.WebSocketClientConnectionManager}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章