Some files not uploading with mod_http_upload

Greetings all,

I have been getting an ejabberd server setup. I have enabled mod_http_upload, the users are both mobile phone and computer. (conversations, xabber, psi, pidgin, and jitsi).

When I send files from the mobile devices, they upload very quickly to http upload, and the link is given to the other client.

I am unable to send files from any computer to the phones. No option is ever given, or if the option is given, the file transfer fails (logfile below).

Sending from computer to computer works, except on jitsi, where Jitsi > Gajim/Psi/Pidgin, works very slow. I am thinking it is going over p2p.

Does anyone know these clients don't seem to be able to use mod_http_upload? The problem is I can't share files from the computers to the phones..

Error logfile from ejabberd

from {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>}
to {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>}
packet {iq,<<"ac86a">>,set,<<"en">>,{jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>},{jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>},[{xmlel,<<"si">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/si">>},{<<"profile">>,<<"http://jabber.org/protocol/si/profile/file-transfer">>},{<<"id">>,<<"ft_10f0">>}],[{xmlcdata,<<"\n">>},{xmlel,<<"file">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/si/profile/file-transfer">>},{<<"size">>,<<"5264384">>},{<<"name">>,<<"a10mbFILE2">>}],[{xmlcdata,<<"\n">>},{xmlel,<<"range">>,[],[]},{xmlcdata,<<"\n">>}]},{xmlcdata,<<"\n">>},{xmlel,<<"feature">>,[{<<"xmlns">>,<<"http://jabber.org/protocol/feature-neg">>}],[{xmlcdata,<<"\n">>},{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"form">>}],[{xmlcdata,<<"\n">>},{xmlel,<<"field">>,[{<<"type">>,<<"list-single">>},{<<"var">>,<<"stream-method">>}],[{xmlcdata,<<"\n">>},{xmlel,<<"option">>,[],[{xmlcdata,<<"\n">>},{xmlel,<<"value">>,[],[{xmlcdata,<<"http://jabber.org/protocol/bytestreams">>}]},{xmlcdata,<<"\n">>}]},{xmlcdata,<<"\n">>},{xmlel,<<"option">>,[],[{xmlcdata,<<"\n">>},{xmlel,<<"value">>,[],[{xmlcdata,<<"http://jabber.org/protocol/ibb">>}]},{xmlcdata,<<"\n">>}]},{xmlcdata,<<"\n">>}]},{xmlcdata,<<"\n">>}]},{xmlcdata,<<"\n">>}]},{xmlcdata,<<"\n">>}]}],#{}}
2017-01-29 14:14:47.845 [debug] <0.655.0>@ejabberd_local:do_route:279 local route
from {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>}
to {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>}
packet {iq,<<"ac86a">>,set,<<"en">>,{jid,<<...>>,...},{jid,...},[...],...}
2017-01-29 14:14:47.846 [debug] <0.655.0>@ejabberd_sm:do_route:516 processing packet to full JID:
{iq,<<"ac86a">>,set,<<"en">>,
    {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,
        <<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>},
    {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,
        <<"SOME-DOMAIN.ORG">>,<<"phone">>},
    [{xmlel,<<"si">>,
         [{<<"xmlns">>,<<"http://jabber.org/protocol/si">>},
          {<<"profile">>,
           <<"http://jabber.org/protocol/si/profile/file-transfer">>},
          {<<"id">>,<<"ft_10f0">>}],
         [{xmlcdata,<<"\n">>},
          {xmlel,<<"file">>,
              [{<<"xmlns">>,
                <<"http://jabber.org/protocol/si/profile/file-transfer">>},
               {<<"size">>,<<"5264384">>},
               {<<"name">>,<<"a10mbFILE2">>}],
              [{xmlcdata,<<"\n">>},
               {xmlel,<<"range">>,[],[]},
               {xmlcdata,<<"\n">>}]},
          {xmlcdata,<<"\n">>},
          {xmlel,<<"feature">>,
              [{<<"xmlns">>,<<"http://jabber.org/protocol/feature-neg">>}],
              [{xmlcdata,<<"\n">>},
               {xmlel,<<"x">>,
                   [{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"form">>}],
                   [{xmlcdata,<<"\n">>},
                    {xmlel,<<"field">>,
                        [{<<"type">>,<<"list-single">>},
                         {<<"var">>,<<"stream-method">>}],
                        [{xmlcdata,<<"\n">>},
                         {xmlel,<<"option">>,[],
                             [{xmlcdata,<<"\n">>},
                              {xmlel,<<"value">>,[],
                                  [{xmlcdata,
                                       <<"http://jabber.org/protocol/bytestreams">>}]},
                              {xmlcdata,<<"\n">>}]},
                         {xmlcdata,<<"\n">>},
                         {xmlel,<<"option">>,[],
                             [{xmlcdata,<<"\n">>},
                              {xmlel,<<"value">>,[],
                                  [{xmlcdata,
                                       <<"http://jabber.org/protocol/ibb">>}]},
                              {xmlcdata,<<"\n">>}]},
                         {xmlcdata,<<"\n">>}]},
                    {xmlcdata,<<"\n">>}]},
               {xmlcdata,<<"\n">>}]},
          {xmlcdata,<<"\n">>}]}],
    #{}}
2017-01-29 14:14:47.847 [debug] <0.655.0>@ejabberd_sm:do_route:537 sending to process <0.791.0>:
{iq,<<"ac86a">>,set,<<"en">>,
    {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,
        <<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>},
    {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,
        <<"SOME-DOMAIN.ORG">>,<<"phone">>},
    [{xmlel,<<"si">>,
         [{<<"xmlns">>,<<"http://jabber.org/protocol/si">>},
          {<<"profile">>,
           <<"http://jabber.org/protocol/si/profile/file-transfer">>},
          {<<"id">>,<<"ft_10f0">>}],
         [{xmlcdata,<<"\n">>},
          {xmlel,<<"file">>,
              [{<<"xmlns">>,
                <<"http://jabber.org/protocol/si/profile/file-transfer">>},
               {<<"size">>,<<"5264384">>},
               {<<"name">>,<<"a10mbFILE2">>}],
              [{xmlcdata,<<"\n">>},
               {xmlel,<<"range">>,[],[]},
               {xmlcdata,<<"\n">>}]},
          {xmlcdata,<<"\n">>},
          {xmlel,<<"feature">>,
              [{<<"xmlns">>,<<"http://jabber.org/protocol/feature-neg">>}],
              [{xmlcdata,<<"\n">>},
               {xmlel,<<"x">>,
                   [{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"form">>}],
                   [{xmlcdata,<<"\n">>},
                    {xmlel,<<"field">>,
                        [{<<"type">>,<<"list-single">>},
                         {<<"var">>,<<"stream-method">>}],
                        [{xmlcdata,<<"\n">>},
                         {xmlel,<<"option">>,[],
                             [{xmlcdata,<<"\n">>},
                              {xmlel,<<"value">>,[],
                                  [{xmlcdata,
                                       <<"http://jabber.org/protocol/bytestreams">>}]},
                              {xmlcdata,<<"\n">>}]},
                         {xmlcdata,<<"\n">>},
                         {xmlel,<<"option">>,[],
                             [{xmlcdata,<<"\n">>},
                              {xmlel,<<"value">>,[],
                                  [{xmlcdata,
                                       <<"http://jabber.org/protocol/ibb">>}]},
                              {xmlcdata,<<"\n">>}]},
                         {xmlcdata,<<"\n">>}]},
                    {xmlcdata,<<"\n">>}]},
               {xmlcdata,<<"\n">>}]},
          {xmlcdata,<<"\n">>}]}],
    #{}}
2017-01-29 14:14:47.847 [debug] <0.791.0>@mod_client_state:filter_other:211 Won't add stanza for ANDROID-PHONE@SOME-DOMAIN.ORG/phone to CSI queue
2017-01-29 14:14:47.847 [debug] <0.791.0>@ejabberd_c2s:send_text:1629 Send XML on stream = <<"<iq xml:lang='en' to='ANDROID-PHONE@SOME-DOMAIN.ORG/phone' from='COMPUTER-PSI@SOME-DOMAIN.ORG/COMPUTER' type='set' id='ac86a'><si xmlns='http://jabber.org/protocol/si' profile='http://jabber.org/protocol/si/profile/file-transfer' id='ft_10f0'>\n<file xmlns='http://jabber.org/protocol/si/profile/file-transfer' size='5264384' name='a10mbFILE2'>\n<range/>\n</file>\n<feature xmlns='http://jabber.org/protocol/feature-neg'>\n<x xmlns='jabber:x:data' type='form'>\n<field type='list-single' var='stream-method'>\n<option>\n<value>http://jabber.org/protocol/bytestreams</value>\n</option>\n<option>\n<value>http://jabber.org/protocol/ibb</value>\n</option>\n</field>\n</x>\n</feature>\n</si></iq>">>
2017-01-29 14:14:47.847 [debug] <0.791.0>@ejabberd_c2s:send_text:1629 Send XML on stream = <<"<r xmlns='urn:xmpp:sm:3'/>">>
2017-01-29 14:14:48.369 [debug] <0.790.0>@ejabberd_receiver:process_data:284 Received XML on stream = <<"<iq from=\"ANDROID-PHONE@SOME-DOMAIN.ORG/phone\" id=\"ac86a\" to=\"COMPUTER-PSI@SOME-DOMAIN.ORG/COMPUTER\" type=\"error\"><error type=\"cancel\"><feature-not-implemented xmlns=\"urn:ietf:params:xml:ns:xmpp-stanzas\"/></error></iq>">>
2017-01-29 14:14:48.369 [debug] <0.791.0>@ejabberd_router:do_route:392 route
from {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>}
to {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>}
packet {iq,<<"ac86a">>,error,<<"en">>,{jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>},{jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>},[{xmlel,<<"error">>,[{<<"type">>,<<"cancel">>}],[{xmlel,<<"feature-not-implemented">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}],#{}}
2017-01-29 14:14:48.369 [debug] <0.791.0>@ejabberd_local:do_route:279 local route
from {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>}
to {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>}
packet {iq,<<"ac86a">>,error,<<"en">>,{jid,<<...>>,...},{jid,...},[...],...}
2017-01-29 14:14:48.369 [debug] <0.791.0>@ejabberd_sm:do_route:516 processing packet to full JID:
{iq,<<"ac86a">>,error,<<"en">>,
    {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,
         <<"SOME-DOMAIN.ORG">>,<<"phone">>},
    {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,
         <<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>},
    [{xmlel,<<"error">>,
            [{<<"type">>,<<"cancel">>}],
            [{xmlel,<<"feature-not-implemented">>,
                    [{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],
                    []}]}],
    #{}}
2017-01-29 14:14:48.369 [debug] <0.791.0>@ejabberd_sm:do_route:537 sending to process <0.655.0>:
{iq,<<"ac86a">>,error,<<"en">>,
    {jid,<<"ph">>,<<"SOME-DOMAIN.ORG">>,<<"phone">>,<<"ph">>,
         <<"SOME-DOMAIN.ORG">>,<<"phone">>},
    {jid,<<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>,
         <<"COMPUTER-PSI">>,<<"SOME-DOMAIN.ORG">>,<<"COMPUTER">>},
    [{xmlel,<<"error">>,
            [{<<"type">>,<<"cancel">>}],
            [{xmlel,<<"feature-not-implemented">>,
                    [{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],
                    []}]}],

Here is some relevant snippet from my .yml file.:

listen:
  -
        port: 5443
    module: ejabberd_http
    certfile: "@HOME@/conf/DOMAIN.pem"
    request_handlers:
      "upload": mod_http_upload
    tls: true
    thumbnail: true
###########
module:
  ...
    mod_http_upload:
    host: "upload.DOMAIN"
    docroot: "@HOME@/uploads"
    put_url: "https://SUBDOMAIN.DOMAIN:5443/upload"
    access: local
    max_size: infinity

Thanks

Syndicate content