Jitsi setup not working: BOSH-Connection failed: improper-addressing

I’m trying to modify the lib-jitsi-meet example to use with my server by modifying the options:

const options = {
    hosts: {
        domain: 'http://jitsi.example.com/',
    },
    bosh: 'http://jitsi.example.com:8081/http-bind', // FIXME: use xep-0156 for that

    // The name of client node advertised in XEP-0115 'c' stanza
    clientNode: 'http://jitsi.org/jitsimeet'
};

I’m getting the blow errors in console:

[modules/xmpp/strophe.util.js] <Object.r.Strophe.log>:  Strophe: BOSH-Connection failed: improper-addressing
[modules/xmpp/xmpp.js] <P.connectionHandler>:  (TIME) Strophe connfail[improper-addressing]:	 799.7949999989942
[modules/xmpp/strophe.util.js] <Object.r.Strophe.log>:  Strophe 0 _doDisconnect was called
[modules/xmpp/xmpp.js] <P.connectionHandler>:  (TIME) Strophe disconnected[improper-addressing]:	 801.3800000189804
[modules/statistics/statistics.js] <Function.b.sendAnalyticsAndLog>:  {"type":"operational","action":"connection.failed","attributes":{"error_type":"connection.otherError","error_message":"improper-addressing","suspend_time":0,"time_since_last_success":null}}
index.js:1 Connection Failed!

The network tab has no failed requests.

/etc/nginx/nginx.conf

server {
listen 80;
listen 8081;
location /http-bind {
add_header ‘Access-Control-Allow-Origin’ ‘*’ always;
add_header ‘Access-Control-Allow-Methods’ ‘GET, POST, PUT, DELETE, OPTIONS’ always;
add_header ‘Access-Control-Allow-Headers’ 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,K>
add_header Access-Control-Max-Age 3600;
add_header Access-Control-Expose-Headers Content-Length;
add_header Access-Control-Allow-Headers Range;
proxy_pass http://localhost:5280/http-bind;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
tcp_nodelay on;
}
}

In /etc/prosody/prosody.cfg.lua
BOSH module is enables and cross_domain_bosh = true

Additional info:
When I change the domain in option to meet.jit.si I still get ‘Connection Failed’ in logs but ‘improper-addressing’ error is gone. However beta.meet.jit.si works without errors.

You cannot use webrtc without serving the content from https.
The domain should not contain https://

1 Like

Thanks for the quick replay. The error went away after removing https:// however when the participant joins the conference I see the video and then it automatically gets dropped out after 10-15 seconds.


Updated options:

const options = {
hosts: {
domain: ‘jitsi.example.live’,
muc: ‘conference.jitsi.example.live’
},
bosh: ‘http://jitsi.example.live:8081/http-bind’, // FIXME: use xep-0156 for that

// The name of client node advertised in XEP-0115 'c' stanza
clientNode: 'http://jitsi.org/jitsimeet'

};

The successful http-bind request went to http but after sometime the protocol automatically switched to https and the requests started throwing error.
image

Added ssl certificates changed the bosh url to https and added the config changes in nginx sites-enabled instead of sites-available. This fixed the error.