JVB Failed to subscribe to sharedStatsNode

Hi @damencho , I have configured 3 Azure VM and 1 for nginx , 2 for JVB and 3 for openfire with jicofo , Although I have done the setup but subscribe to sharedStatsNode is failing.
Sip.communication.properties
org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.DOMAIN/.* org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
#org.jitsi.videobridge.TCP_HARVESTER_PORT=4443 org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS= org.jitsi.videobridge.ENABLE_STATISTICS=true org.jitsi.videobridge.STATISTICS_TRANSPORT=pubsub org.jitsi.videobridge.STATISTICS_INTERVAL=5000 org.jitsi.videobridge.PUBSUB_SERVICE=pubsub.DOMAIN
org.jitsi.videobridge.PUBSUB_NODE=sharedStatsNode

I am attaching openfire and jicofo log and JS file .

all.log (55.2 KB)
Please verify and if any things wrong , Pease update me .

Thanks
Raj

@Guus_der_Kinderen Can you help ^, I’m not sure how to configure jitsi-meet for using openfire bosh and such.

This is a Jitsi-meet config file .

 hosts: {
        // XMPP domain.
        domain: 'rtc-meet.XXX.com',

        // XMPP MUC domain. FIXME: use XEP-0030 to discover it.
        muc: 'conference.rtc-meet.XXX.com'

        // When using authentication, domain for guest users.
        // anonymousdomain: 'guest.example.com',

        // Domain for authenticated users. Defaults to <domain>.
        // authdomain: 'rtc-meet.XXX.com',

        // Jirecon recording component domain.

        // Call control component (Jigasi).

        // Focus component domain. Defaults to focus.<domain>.
    },

    // BOSH URL. FIXME: use XEP-0156 to discover it.
    bosh: '//rtc-meet.XXX.com/http-bind',

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

    // The real JID of focus participant - can be overridden here
    focusUserJid: 'focus@rtc-meet.XXX.com',
    // auth. domain prefix is prosody specific, on openfire, we only have on domain name
    // focusUserJid: 'focus@auth.rtc-meet.XXX.com',

This is a nginx config file

# This file is derived from the jitsi-meet installation script
# which embeds this configuation file for nginx.
#

server {
    listen 80;
    server_name rtc-meet.XXX.com;;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    server_name rtc-meet.XXX.com;
    ssl_certificate /etc/nginx/star_XXXX_com.crt;
    ssl_certificate_key /etc/nginx/star_XXXX_com.key;
    root /srv/jitsi-meet;
    index index.html index.htm;
    location ~ ^/([a-zA-Z0-9_]+)$ {
        rewrite ^/(.*)$ / break;
    }
    location / {
        ssi on;
    }
    # BOSH
    location /http-bind {
        #proxy_pass      http://xmpp-failover/http-bind;
        proxy_set_header X-Forwarded-For \$remote_addr;
        proxy_set_header Host \$http_host;
    }

# xmpp websockets
    location /xmpp-websocket {
       # proxy_pass http://xmpp-failover;
        proxy_http_version 1.1;
        proxy_set_header Upgrade \$http_upgrade;
        proxy_set_header Connection \"upgrade\";
        proxy_set_header Host \$host;
        tcp_nodelay on;
    }
}

From the logs that you provided, I’m guessing that the code that is being deployed in Openfire is from here: https://github.com/igniterealtime/community-plugins/ That’s a deprecated, unmaintained, and likely broken bit of software.

I suggest you try https://github.com/igniterealtime/openfire-ofmeet-plugin instead. Although the code in that repository lags behind on the code from the Jitsi repositories (and has some issues of its own), it at least is functional.

Recently we had deployed on Google cloud VM then It was working fine but On Azure VM seems some port has not configured or enabled , So please check it some port need to enable or need to look into firewall rules .

Try running without a firewall, and see if that solves your problem. If it does, we can work from there.

Can you elaborate about JS errors which is shared by me

Your js shows that the bos url is not valid. Open https://meet.jit.si/http-bind this is how it should look like. Correct your bosh settings in config.js.

Why below error is coming , Please let know if any clue , so I can look that specific part .

2019.05.21 07:05:52 ERROR [pool-29-thread-1]: org.jitsi.impl.protocol.xmpp.OpSetSubscriptionImpl - Failed to subscribe to sharedStatsNode at pubsub.rtc-meet.XXXX.com error: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply received from pubsub.rtc-meet.XXXX.com: XMPPError: item-not-found - cancel

bosh set-up is looking good, because of recently I have configured on G-cloud VM and it was working fine.

@damencho , @Guus_der_Kinderen i have to make video conference call with 1000 participants , So please suggest to me required sever setup (hardware CPU , RAM) with load balancing,

I strongly suggest that you do not use the Openfire adaptation of Jitsi Meet for that amount of participants. The Jitsi-for-Openfire project was designed to become an easy-to-install add-on to an existing Openfire instance. It is supposed to be complementary to existing functionality in Openfire. It does this at the expense of scalability and performance. For 1000 participants, I suggest you look at a more dedicated setup of Jitsi Meet. There are some good guidelines available on how to constuct high-volume instances, such as this video: https://jitsi.org/news/new-tutorial-video-scaling-jitsi-meet-in-the-cloud/

For what it’s worth, the Openfire endpoint does not return the same response to GET requests to the BOSH endpoint.

Already i am using JVB media server ,So is it mandatory to use turn or coturn sever with JVB for load balancing (HA Proxy)? .

Hi, have same problem.

Here is log:

jicofo_1   | Jicofo 2020-03-27 11:13:38.627 INFO: [18] org.jitsi.jicofo.ComponentsDiscovery.log() 
Bridges will be discovered through PubSub stats on node: sharedStatsNode
jicofo_1   | Jicofo 2020-03-27 11:13:38.627 INFO: [18] org.jitsi.jicofo.ComponentsDiscovery.log() 
Max stats age: 15000 ms
jicofo_1   | Jicofo 2020-03-27 11:13:38.630 SEVERE: [18] 
org.jitsi.impl.protocol.xmpp.OpSetSubscriptionImpl.log() Failed to fetch PubSub items of: 
sharedStatsNode, reason: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP 
error reply received from meet.jitsi: XMPPError: item-not-found - cancel
jicofo_1   | Jicofo 2020-03-27 11:13:38.631 INFO: [44] 
org.jitsi.impl.protocol.xmpp.OpSetSubscriptionImpl.log() Subscribing to sharedStatsNode node at 
meet.jitsi
jicofo_1   | Jicofo 2020-03-27 11:13:38.631 INFO: [18] org.jitsi.jicofo.FocusManager.log() XMPP 
provider reg state: RegistrationState=Registered
jicofo_1   | Jicofo 2020-03-27 11:13:38.632 SEVERE: [44] 
org.jitsi.impl.protocol.xmpp.OpSetSubscriptionImpl.log() Failed to subscribe to sharedStatsNode at 
meet.jitsi error: org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPP error reply 
received from meet.jitsi: XMPPError: item-not-found - cancel

Please help to solve. Thanks

did you cross verify the SECRET name and password ? in jicofo and jvb ?

Please let me know what exactly secrets to match?

did you match both secret key ?

vi /etc/jitsi/videobridge/config

JVB_SECRET=NsLojqhTr
also need to check JVB_OPTS =“asd@123”

vi /etc/prosody/conf.d/.cfg.lua
omponent “jitsi-videobridge.XX-meet.XXX.com
component_secret = "NsLojqhTr”

Yes, this mathces.

The error comes from jicofo

JVB - do not send any errors

Can you share browser console log ?