ejabberd

XMPP-Meetup in Berlin

Mailing list - Sun, 2016-07-03 12:19
Just in case someone on this list is from Berlin and bored tomorrow evening: http://www.meetup.com/de-DE/Berlin-XMPP-Meetup/events/231792450/ Holger
Categories: ejabberd

can't cluster ejabberd 16.06

Mailing list - Thu, 2016-06-30 08:00
Hi. I can't cluster ejabberd 16.06. when uncomment ERLANG_NODE=ejabberd< at >host1 and start ejabberd, is not run ejabberd. clustering in ejabberd 16.06 is different?
Categories: ejabberd

Re: Stream management issues (was: Replaced by new connection)

Mailing list - Thu, 2016-06-30 04:59
* Gaurav Jain <monkeyfdude< at >gmail.com> [2016-06-29 18:08]: Stream management is hard to get right due to the protocol design. Just recently, I stumbled over one more corner case that you might run into on a busy server (that's fixed in 16.06¹). But apart from that, the code works as designed for me, and I've seen it being tested quite a lot, also under (very) bad network conditions. So if you still run into issues, I'd be highly interested in the details, especially if you still see them after updating to ejabberd 16.06. Holger ¹ https://github.com/processone/ejabberd/commit/7ddeac38b6bd0a16f46331cc
Categories: ejabberd

Replaced by new connection

Mailing list - Wed, 2016-06-29 23:08
Hi, We can get "Replaced by new connection" errors/status from server in two ways. * As a stream error * As a status in presence stanza for a MUC room My question is: Will stream error will have to occur for MUC presence status be "Replaced ..."? In other words, MUC status can be "Replaced by new connection" only if there was a stream:conflict:error "Replaced by new connection"? So, if I handle stream:conflict:error on client correctly, then I will always be in clean state. Please clarify. Best Regards, PS: I have observed, with stream management, there are many issues when network gets into weird state. The stanza acknowledgement stops working. So, I was thinking of cleaning bad connections and start from scratch. _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

[ANN] ejabberd 16.06

Mailing list - Wed, 2016-06-29 12:59
We are proud to introduce our new ejabberd release, ejabberd 16.06. As usual it includes many bug fixes, but also several improvements. The big improvement in this release is a new Access Control List (ACL) infrastructure. ACL rules are used in ejabberd config file to define fine-grained access to ejabberd features. In ejabberd 16.06, the ACL configuration has been much improved to make it both simpler to use and easier to read. Moreover, ACL and access rules are not mandatory anymore when configuring access restrictions for a feature or a module: You can just inline the user, for example, making small configuration much easier to setup properly. To make you even more comfortable, our new code is still supporting the old syntax and you can mix old and new syntax. It means that you can still use your existing configuration file and that you can migrate incrementally, as needed. ## The new ACL syntax New access rule will look like this: access_rules: my_access: - allow: admins - deny: blocked - allow: - user: "peter< at >server.com" - ip: "222.111.222.111/32" - allow: moderators This is an example definition for `my_access` rule. It is composed of four groups. They are evaluated from top to bottom order. the first with all listed acl rules evaluated as true is used as result. If none of them matches, evaluation fallback to default value `deny`. Above definition can be parsed as: if user belongs to ACL definition `admins`, return `allow`, if not, and user belongs to ACL definition `blocked`, return `deny`. otherwise for user "peter< at >server.com" when connected from ip: "222.111.222.111" return `allow`, and for users in ACL definition `moderators` return `allow` as well, in all other cases return `deny`. We can see in this example two new additions that were introduced in this rewrite: - you can now directly specify ACL definitions inside access rules (you no longer will be required to define ACL rules for each case) - you now have the ability to require a match on several ACL rules types at this same time (in the example: ip and user). You can use any rule that is allowed inside acl: sections (like user, server, resource, user_glob, etc.) and one additional rule that is allowed only inside access_rules: section, `acl: NameOfACL` that will look for definition of NameOfAcl inside `acl:` section and use it for matching. If you have only one ACL rule name to use you can use short form `- allow: acl_rule`, additionally `- allow: all` or `- deny: all` can be shorted still to `- allow` and '- deny`. Shapers can also be specified using new syntax, but they now go into `shaper_rules:` section and they look like that: shaper_rules: my_shaper: - 100: admin - 10: all Rules defined in `access:` section will use old syntax, and work as before, so you don't need to update your old config, to adapt it to that change. At last, one can define module specific access rules directly in modules configuration section, this is simpler to understand when reading configuration. Let's get a simple example of the changes. With previous ACL implementation, one could have this: acl: bad_servers: ip: - "XXX.XXX.XXX.XXX/32" admin: user: - "aleksey": "localhost" access: muc_admin: admin: allow muc_create: local: allow muc: all: allow s2s: bad_servers: deny all: allow c2s_shaper: admin: none all: normal modules: mod_muc: access: muc access_create: muc_create access_persistent: muc_create access_admin: muc_admin Which can be translated to this since ejabberd 16.06 with new ACL implementation: acl: admin: user: "aleksey< at >localhost" access_rules: s2s: - deny: - ip: "XXX.XXX.XXX.XXX/32" - allow c2s_shaper: - none: admin - normal modules: mod_muc: access: - allow access_create: - allow: local access_persistent: - allow: local access_admin: - allow: admin Shorter and clearer. Please also note that you can use the JID literally as a string. The previous awkward `username: domain` syntax can go away. ## Changes This is a selection of the most relevant changes: ### Config - New ACL infrastructure - Add shorter version of some common access rules definitions - Allow `< at >` inside acl rules `user`, `user_glob` or `user_regexp` to pass both user and server in single string - Add acl rule `access_rules_validator` and `shaper_rules_validator` for use in `mod_opt_type` and `opt_type` callback functions. - Allow using shapers defined by name like in s2s_shaper: fast - Allow mod_opt_type and opt_type to transform values passed to it, and support better error reporting - Do not call `transform_terms` multiple times in configuration processing when merging them - Don't halt program when `include_config_file` is missing/can't be read - Allow again multiple fqdn values in configuration ### Commands - Allow passing username and ip to `ejabberd_commands`, and use it in `mod_http_api` - Fix path to epmd in ejabberdctl - push_roster: must convert read strings to binaries - `set_presence`: Fix command API - Fix for `modules_update_specs` command - Add ejabberdctl commands to manage oauth tokens. ### Core - Bounce messages sent to server JID - Fix C2S session leak in rare cases - Fix handling of queued stanzas on session timeout - Give more time to stop and kill epmd - When stopping ejabberd, stop modules after broadcasting c2s shutdown - XEP-0198: Use different error message for bounces - XEP-0198: Add 'h' attribute to element - XEP-0198: Also count stanzas when socket is closed ### Databases - Fix pgsql compatibility on `delete_old_messages` command - Handle Redis connection in a separate module - Report in SQL when scram is enabled but the stored password isn't - Update SQL escaping - Use MEDIUMTEXT type for muc_room.opts in MySQL schema ### MAM - Send unique stanza id and archived tag also in the message carbons - Fix "assume_mam_usage: if_enabled" - Fix typo in `mod_mam:select()` - Updated support of XEP-0313 from version 0.4 to 0.5.1 - Mnesia: Avoid cleanup on bag when disc_only, switch in memory - Mnesia: Don't exceed table size limit - Mnesia: Use transactions when writing ### Client State Indication - Fix handling of chat states - Simplify check for carbon-copied chat states - Simplify handling of PEP stanzas - Pass chat states of other resources - Unwrap carbon copies when checking for chat states - Add `queue_pep` option - Queue chat state notifications - Move CSI queue handling code from `ejabberd_c2s` - When stopping, delete only the configured hooks ### Other modules - ext_mod: Set HTTP/1.0 so Github accepts the request - gen_mod: Compile early to remove undefined behaviour warning - mod_http_upload: Let client retry HTTP upload on file size mismatch - mod_last: Produce mod_last entry on account creation - mod_muc_room: Notify on affiliation changes - mod_register: Check password with jid:resourceprep when registering account - mod_roster: respect roster item changes introduced with `roster_process_item` hooks upon pushing - PubSub: Fix PubSub RSM on `get_items` - PubSub: Add support for PubSub publishing options - PEP: Fix sender in case of explicit pep subscriptions - ejabberd_xmlrpc: Report error when conversion of argument type fails ## Feedback As usual, the release is tagged in the Git source code repository on Github: https://github.com/processone/ejabberd.git The source package and binary installers are available at ProcessOne: https://www.process-one.net/ejabberd/downloads/ If you suspect that you've found a bug, please search or fill a bug report on Github: https://github.com/processone/ejabberd/issues
Categories: ejabberd

Ejabber crashes trying to access web admin

Mailing list - Sat, 2016-06-25 07:34
Hi List experts I am trying to access ejabberd web admin by visiting http://mydomain:5280/admin and i get a blank page. After checking the log file, i found that ejabberd crashes. The crash is immediate after visiting the web admin URL. This happens when i commented ## access: register in mod_register: block. The crash report ******************** 2016-06-25 08:35:24 =CRASH REPORT==== crasher: initial call: application_master:init/4 pid: <0.37.0> registered_name: [] exception exit: {{bad_return,{{ejabberd_app,start,[normal,[]]},{'EXIT',{function_clause,[{lists,map,[#Fun<gen_iq_handler.4.19837317>,register],[{file,"lists.erl"},{line,1237}]},{ejabberd_config,transform_module_options,2,[{file,"src/ejabberd_config.erl"},{line,1095}]},{ejabberd_config,'-replace_modules/1-fun-0-',1,[{file,"src/ejabberd_config.erl"},{line,993}]},{lists,map,2,[{file,"lists.erl"},{line,1238}]},{ejabberd_config,process_host_term,4,[{file,"src/ejabberd_config.erl"},{line,646}]},{lists,foldl,3,[{file,"lists.erl"},{line,1262}]},{ejabberd_config,read_file,2,[{file,"src/ejabberd_config.erl"},{line,162}]},{ejabberd_config,start,0,[{file,"src/ejabberd_config.erl"},{line,60}]}]}}}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]} ancestors: [<0.36.0>] messages: [] links: [<0.36.0>,<0.38.0>,<0.7.0>] dictionary: [] trap_exit: true status: running heap_size: 1598 stack_size: 27 reductions: 189 neighbours: *********************************************************** But when i enable the access: register in mod_register: block , i get the following error and ejabberd does not start at all. 2016-06-25 08:35:24.452 [error] <0.37.0> CRASH REPORT Process <0.37.0> with 0 neighbours exited with reason: no function clause matching lists:map(#Fun<gen_iq_handler.4.19837317>, register) line 1237 in application_master:init/4 line 134 I have installed latest ejabberd(ejabberd-16.04) through installer in Ubuntu 14 and using mysql as database. I am also attaching the ejabberd config file ejabberd.yml as an attachment. Thanks Sagnaic _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: ejabberd Digest, Vol 155, Issue 9

Mailing list - Sat, 2016-06-18 09:34
I using tcp loadbalancer between clients and chat servers and chat server detect loadbalancer IPs as attacker. client IPs are not sent to chat servers. On Sat, Jun 18, 2016 at 1:30 PM, <ejabberd-request< at >jabber.ru> wrote:
Categories: ejabberd

Re: Prevent brute force attacks on ejabberd server

Mailing list - Sat, 2016-06-18 04:48
Sat, 18 Jun 2016 10:06:14 +0430 jacob jabber <ejabberd.jacob< at >gmail.com> wrote: When authentication fails what else info do you have except IP?
Categories: ejabberd

Prevent brute force attacks on ejabberd server

Mailing list - Sat, 2016-06-18 03:36
Hi. how to prevent brute-force attacks on ejabberd server when authentication failures are detected? I want to ban users not IPs. mod_fail2ban banned IPs. Is another way to prevent brute force attacks? _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: real online users

Mailing list - Wed, 2016-06-15 03:55
rm -rf / On Tue, Jun 14, 2016 at 6:53 PM, samad khadivar <skhadivar< at >gmail.com> wrote:
Categories: ejabberd

Re: mod_mam: case_clause error

Mailing list - Tue, 2016-06-14 12:46
* samad khadivar <skhadivar< at >gmail.com> [2016-06-14 18:13]: This patch should fix it: https://github.com/processone/ejabberd/commit/26bce5de.patch Thanks for the report. Holger
Categories: ejabberd

real online users

Mailing list - Tue, 2016-06-14 12:23
hi. I have a ejabberd cluster includes 5 nodes and when get online users this returns *nil* priority for some users. users that have this value are not online unless user also has zero priority value . /opt/ejabberd-16.02/bin/ejabberdctl connected_users_info [<<"user1">>,64,<<"domain.com">>,47,<<6120c16d9abd2">>] c2s_compressed_tls 192.168.1.35 9243 nil ejabberd< at >192-168-11-13 72253 [<<"user1">>,64,<<"domain.com">>,47,<<"12be3db9a97f585">>] c2s_compressed_tls 192.168.1.34 56023 nil ejabberd< at >192-168-11-9 82538 [<<"user3">>,64,<<"domain.com">>,47,<<"f31fac426badc58">>] c2s_compressed_tls 192.168.1.36 11287 nil ejabberd< at >192-168-10-9 160897 [<<"user3">>,64,<<"domain.com">>,47,<<"a451ba79aa1e2b">>] c2s_compressed_tls 192.168.114.38 4637 nil ejabberd< at >192-168-14-17 179037 [<<"user5">>,64,<<"domain.com">>,47,<<"de7081c7d0b029">>] c2s_compressed_tls 192.168.114.35 49083 nil ejabberd< at >192-168-13-13 25779 [<<"user3">>,64,<<"domain.com">>,47,<<"833f23a58e4063">>] c2s_compressed_tls 192.168.114.38 18691 nil ejabberd< at >192-168-14-17 67830 [<<"user1">>,64,<<"domain.com">>,47,<<"8a9d66076fa5243">>] c2s_compressed_tls 192.168.114.38 26421 nil ejabberd< at >192-168-14-17 90711 [<<"user1">>,64,<<"domain.com">>,47,<<"155fee41b0847e0">>] c2s_compressed_tls 192.168.114.38 34717 nil ejabberd< at >192-168-114-17 152550 [<<"user3">>,64,<<"domain.com">>,47,<<"6120c16d7abd2">>] c2s_compressed_tls 192.168.114.35 9243 nil ejabberd< at >192-168-13-11 72431 [<<"user3">>,64,<<"domain.com">>,47,<<"12be3db9a97f585">>] c2s_compressed_tls 192.168.114.34 56023 nil ejabberd< at >192-168-13-14 82716 [<<"user1">>,64,<<"domain.com">>,47,<<"80f8b492e4ccb9f">>] c2s_compressed_tls 192.168.114.37 14420 0 ejabberd< at >192-168-14-13 262 [<<"user3">>,64,<<"domain.com">>,47,<<"_5473c37286ee607">>] c2s_compressed_tls 192.168.114.39 28717 0 ejabberd< at >192-168-14-65 295 [<<"user5">>,64,<<"domain.com">>,47,<<"adddec2f856c5d6">>] c2s_compressed_tls 192.168.114.35 14852 0 ejabberd< at >192-168-13-13 431 result of /opt/ejabberd-16.02/bin/ejabberdctl connected_users_number is no real. what is the meaning of nil value? why? _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

mod_mam: case_clause error

Mailing list - Tue, 2016-06-14 11:43
hi, in ejabberd 16.02 when I using *assume_mam_usage: if_enabled* for mam config it returns this error mod_mam: assume_mam_usage: if_enabled default: always cache_size: 100000 cache_life_time: 3600 2016-06-12 11:58:51.539 [error] <0.20724.1>< at >ejabberd_hooks:run_fold1:368 {{case_clause,{archive_prefs,{<<"user1">>,<<"domain.com ">>},always,[],[]}},[{mod_mam,message_is_archived,5,[{file,"src/mod_mam.erl"},{line,354}]},{ejabberd_hooks,safe_apply,3,[{file,"src/ejabberd_hooks.erl"},{line,382}]},{ejabberd_hooks,run_fold1,4,[{file,"src/ejabberd_hooks.erl"},{line,365}]},{ejabberd_c2s,'-handle_unacked_stanzas/1-fun-6-',8,[{file,"src/ejabberd_c2s.erl"},{line,2918}]},{lists,foreach,2,[{file,"lists.erl"},{line,1336}]},{ejabberd_c2s,terminate,3,[{file,"src/ejabberd_c2s.erl"},{line,1803}]},{p1_fsm,terminate,8,[{file,"src/p1_fsm.erl"},{line,740}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]} running hook: {message_is_archived,[{state,{socket_state,ezlib,{zlibsock,fast_tls,{tlssock,#Port<0.47476>,#Port<0.47495>},#Port<0.47539>},<0.20723.1>},ejabberd_socket,#Ref<0.0.4.219723>,false,<<"17644652947291914606">>,undefined,c2s,c2s_shaper,true,true,false,true,[verify_none,compression_none,{protocol_options,<<"no_sslv3">>},{certfile,<<"/opt/ejabberd-16.02/conf/server.pem">>}],true,{jid,<<"user">>,<<" domain.com">>,<<"Android_bc7104214a409f89">>,<<"user">>,<<"domain.com ">>,<<"Android_bc7104214a409f89">>},<<"user">>,<<"domain.com ">>,<<"Android_bc7104214a409f89">>,{{1465,715862,453492},<0.20724.1>},{23,{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user1">>,<<" domain.com">>,<<>>},nil,nil},nil},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil},nil}},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user2">>,<<"domain.com">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil},nil},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<" domain.com">>,<<>>},nil,nil},nil}}},{{<<"user3">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},nil,nil},nil},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user4">>,<<"domain.com ">>,<<>>},nil,nil},nil}},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil},nil},{{<<"user5">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil},nil}}}}},{41,{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user6">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},nil,nil},nil},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user7">>,<<"domain.com ">>,<<>>},nil,nil},nil}},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil},nil},{{<<"user8">>,<<"domain.com ">>,<<>>},nil,nil}}},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user9">>,<<" domain.com">>,<<>>},nil,nil},nil},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil}},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user10">>,<<"domain.com ">>,<<>>},nil,nil},nil},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil}}}},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user11">>,<<"domain.com">>,<<>>},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil},nil},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user12">>,<<"domain.com ">>,<<>>},nil,nil},nil}},{{<<"user">>,<<"domain.com ">>,<<>>},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<"domain.com ">>,<<>>},nil,nil},nil},{{<<"user13">>,<<"domain.com ">>,<<>>},nil,nil}}},{{<<"user">>,<<"domain.com">>,<<>>},{{<<"user">>,<<" domain.com">>,<<>>},{{<<"user...">>,...},...},...},...}}}},...},...]} _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: error 503/service-unavailable in one-to-one messaging

Mailing list - Sun, 2016-06-12 19:54
* Gaurav Jain <monkeyfdude< at >gmail.com> [2016-06-11 14:20]: According to your log snippets, you're running into the scenario I described, so the behavior is expected: If there's still anything unclear after reading <https://www.ejabberd.im/faq/tcp>, just ask. Holger
Categories: ejabberd

Re: error 503/service-unavailable in one-to-one messaging

Mailing list - Sat, 2016-06-11 19:20
Thank you for the response. It helps. I investigated in detail and I have a reproducible as described below. * ejabberd_c2s block is configured with resume_timeout: 2 * Stream Management is enabled but stream resumption is disabled from client side. ** Two users - Sender and Receiver.* **Receiver* loses connection and does not close the stream/tcp connection properly. * *Sender* sends a message to *Receiver* but gets 503/Service-Unavailable * *Sender* retries sending failed message after 5 secs and sends successfully. ++++++++++++++++++++++++++++++++++++++ Clients sent following request to server: SEND: <enable xmlns="urn:xmpp:sm:3"/> Clients received following acks from server. RECV: <enabled xmlns="urn:xmpp:sm:3"/> RECV: <enabled xmlns="urn:xmpp:sm:3"/> ++++++++++++++++++++++++++++++++++++++ *Relevant Server logs:* -------------------------------------------------------------------------------- 1) *ejabberd* tries to send message to *Receiver* who lost connection: <<"<message from='*Sender*' to='*Receiver*' type='chat' id=''><body>I have to go back</body><thread></thread><active xmlns=' http://jabber.org/protocol/chatstates'/></message>">> -------------------------------------------------------------------------------- *Then some pubSub/multicast related packets* 016-06-11 20:03:53.698 [debug] <0.489.0>< at >shaper:update:120 State: {maxrate,100000,129.30556943548794,1465675433614549}, Size=26 M=0.1300841029950614, I=83.597 2016-06-11 20:03:53.698 [debug] <0.490.0>< at >ejabberd_c2s:send_text:1823 Send XML on stream = <<"<a xmlns='urn:xmpp:sm:3' h='26'/>">> *2016-06-11 20:03:58.587 [info] <0.606.0>< at >ejabberd_c2s:terminate:1773 ({socket_state,fast_tls,{tlssock,#Port<0.13962>,#Port<0.13963>},<0.605.0>}) Close session for Receiver* 2016-06-11 20:03:58.587 [debug] <0.606.0>< at >mod_pubsub:node_action:4186 node_action <<"pubsub.com">> <<"flat">> get_entity_affiliations [<<"pubsub. * Receiver*">>,{*Receiver*}] 2016-06-11 20:03:58.587 [debug] <0.606.0>< at >mod_pubsub:node_call:4167 node_call <<"flat">> get_entity_affiliations [<<"pubsub.com>>,{*Receiver*}] 2016-06-11 20:03:58.587 [debug] <0.606.0>< at >mod_pubsub:node_action:4186 node_action <<"pubsub.com">> <<"hometree">> get_entity_affiliations [<<" pubsub.com">>,{*Receiver*}] 2016-06-11 20:03:58.587 [debug] <0.606.0>< at >mod_pubsub:node_call:4167 node_call <<"hometree">> get_entity_affiliations [<<"pubsub.com">>,{ *Receiver*}] 2016-06-11 20:03:58.587 [debug] <0.606.0>< at >mod_pubsub:node_action:4186 node_action <<"pubsub.com">> <<"pep">> get_entity_affiliations [<<" pubsub.com">>,{*Receiver*}] 2016-06-11 20:03:58.588 [debug] <0.606.0>< at >mod_pubsub:node_call:4167 node_call <<"pep">> get_entity_affiliations [<<"pubsub.com">>,{*Receiver*}] -------------------------------------------------------------------------------- *Presence related packets* 2016-06-11 20:03:58.588 [debug] <0.606.0>< at >mod_carboncopy:disable:249 disabling for *Receiver* 2016-06-11 20:03:58.588 [debug] <0.606.0>< at >mod_shared_roster:unset_presence:1099 unset_presence for *Receiver* -> <<>> (0 resources) 2016-06-11 20:03:58.588 [debug] <0.606.0>< at >ejabberd_router_multicast:do_route:211 route_multicast from *Receiver* domain dev.com destinations [*Receiver*,*Sender*,User4,User3] packet {xmlel,<<"presence">>,[{<<"type">>,<<"unavailable">>}],[]} -------------------------------------------------------------------------------- *2016-06-11 20:03:58.588 [info] <0.606.0>< at >ejabberd_c2s:handle_unacked_stanzas:2849 1 stanzas were not acknowledged by **Receiver* 2016-06-11 20:03:58.588 [debug] <0.407.0>< at >ejabberd_router:do_route:351 route from {*Receiver*} to {*Receiver*} packet {xmlel,<<"presence">>,[{<<"type">>,<<"unavailable">>}],[]} -------------------------------------------------------------------------------- *Finally the error message 503/service-unavailable* 2016-06-11 20:03:58.589 [debug] <0.606.0>< at >ejabberd_router:do_route:351 route from {*Receiver*} to {*Sender*} packet {xmlel,<<"message">>,[{<<"type">>,<<"error">>},{"to">>, * Sender*},{<<"from">>,* Receiver*},{<<"id">>,<<"">>}],[{xmlel,<<"body">>,[],[{xmlcdata,<<"I have to go back">>}]},{xmlel,<<"thread">>,[],[{xmlcdata,<<"">>}]},{xmlel,<<"active">>,[{<<"xmlns">>,<<" http://jabber.org/protocol/chatstates ">>}],[]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]} On Sat, Jun 11, 2016 at 7:50 AM, Holger Weiß <holger< at >zedat.fu-berlin.de> wrote: _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: error 503/service-unavailable in one-to-one messaging

Mailing list - Sat, 2016-06-11 12:50
* Gaurav Jain <monkeyfdude< at >gmail.com> [2016-06-11 01:23]: Are you using stream management? Maybe the previous connection was lost and then user2 created a new session (instead of resuming the old one)? If so, this behavior is explained here: https://www.ejabberd.im/faq/tcp Holger
Categories: ejabberd

error 503/service-unavailable in one-to-one messaging

Mailing list - Sat, 2016-06-11 06:23
During testing various network connection use cases, I encounter a problem I do not fully understand. * Its a 1 x 1 message (not MUC message) * user1 sends a message to user2 * user2 is in the process of connecting to server (not fully connected yet) * user1 gets an error message back (503/service-unavailable) My understanding was: * if user2 is not connected, the message from user1 will become offline. * when user2 is connected, the offline message will be delivered * It does work like that 99% of time except 1-2 times. * Can you please tell under which circumstances 503 is returned for user2?* * ----------------------------------------------* *SEND: <message type="chat" to="user2< at >developer.com <user2< at >developer.com>" id="**someID**"><body>Testing Testing</body><thread>123</thread><active xmlns="http://jabber.org/protocol/chatstates <http://jabber.org/protocol/chatstates>"/></message>* *RECV: <message xmlns="jabber:client" from="user2< at >developer.com <user2< at >developer.com>" to="user1< at >developer.com <user1< at >developer.com>" type="error" id="someID"><body>**Testing Testing**</body><thread>123</thread><active xmlns="http://jabber.org/protocol/chatstates <http://jabber.org/protocol/chatstates>"/><error code="503" type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></message>* * ----------------------------------------------* _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: Very Strange Problem with ejabberd 16.03 and muc

Mailing list - Thu, 2016-06-09 10:29
Hello, The problem is that you have process ID retained in your cluster that come from a node that has been stopped and restarted. I am not sure how you got there, as a properly configured system does not keep process id between restart. You may have a misconfiguration on your session table or MUC service. Anyway, a restart of your cluster should fix the issue. Best regards,
Categories: ejabberd

Re: history from server

Mailing list - Sun, 2016-05-08 09:43
* Ricky Gutierrez <xserverlinux< at >gmail.com> [2016-05-07 20:33]: There's two XMPP extensions to implement multi-device synchronization currently in use: - XEP-0280 (Message Carbons) copies all incoming and outgoing messages to all clients that are currently online. - XEP-0313 (Message Archive Management) lets clients retrieve any messages they missed (because they were offline) from server-side archives. Recent ejabberd versions support both extensions if mod_carboncopy and mod_mam are enabled, Jitsi supports only XEP-0280 (Message Carbons). You can configure mod_mam to use Mnesia or SQL storage.¹ SQL storage is indeed recommended, and you could use that for mod_mam while sticking to Mnesia for everything else. But enabling mod_mam won't help unless the client supports it. Holger ¹ See <https://docs.ejabberd.im/admin/guide/configuration/#modmam>.
Categories: ejabberd

history from server

Mailing list - Sun, 2016-05-08 00:33
Hi, it is possible that this question was asked many times, but here's a question I have and I want to solve, now I have a ejabberd 15.x server with 400 users, the client default use is Jitsi in its latest version, the problem is that some users to my server ejabberd from their homes and on their personal computers and there do not load the message history of the office are connected, they ask me if we can find a solution, looking for a solution some mention using MySQL odbc, but not a solution for me, if mysql use with ejabberd xmpp integration lose my asterisk server, I work very well with the native bd ejabberd and asterisk, restart the server now if history is lost. any advice?
Categories: ejabberd
Syndicate content