[jitsi-users] Audio/Video in a conference call not working


#1

Hello. I have recently installed jitsi-meet with jicofo, JVB, nginx and prosody on Ubuntu 14.04. It's partly working but the main feature audio/video conference call between two people is not working. Java version is java -versionjava version "1.7.0_79"OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
My test environment.
Always used Chrome browser (Version 43.0.2357.132 m) I tried the following devices for testing and none of them worked.
- 2 laptops both with audio + video
- 1 laptop + 1 mobile device, both with audio/video
- 1 laptop with audio but without video and 1 mobile device both with audio/video.

Here are my prosody + jicofo + jvb logs from participant 1 connecting and starting a conference to participant two connecting.
INFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.memberPresenceChanged().158 Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberLeft sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@71385a8 member=org.jitsi.impl.protocol.xmpp.ChatMemberImpl@2dc9f71d]INFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.memberPresenceChanged().181 Owner has left the room !INFO: [23] org.jitsi.impl.protocol.xmpp.ChatRoomImpl.grantOwnership().634 Grant owner to 07f83379-26e5-4641-9761-8b4867a58721@jitsi.testdomain.com/42010a43-dc9c-4661-88fe-175d50fa358eINFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.electNewOwner().258 Granted owner to consult@conference.jitsi.testdomain.com/07f83379INFO: [23] org.jitsi.jicofo.JitsiMeetConference.onMemberLeft().1116 Member consult@conference.jitsi.testdomain.com/98c87832 is leavingINFO: [23] org.jitsi.jicofo.JitsiMeetConference.onMemberLeft().1124 Hanging up member consult@conference.jitsi.testdomain.com/98c87832INFO: [23] org.jitsi.jicofo.JitsiMeetConference.removeSSRCs().1589 Remove SSRC consult@conference.jitsi.testdomain.com/98c87832INFO: [23] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendRemoveSourceIQ().429 Notify remove SSRC consult@conference.jitsi.testdomain.com/07f83379 SID: dvk3vmek5pghtINFO: [23] org.jitsi.jicofo.JitsiMeetConference.onMemberLeft().1134 Expiring channels for: consult@conference.jitsi.testdomain.com/98c87832INFO: [23] org.jitsi.jicofo.JitsiMeetConference.onMemberLeft().1141 Removed participant: true, consult@conference.jitsi.testdomain.com/98c87832INFO: [45] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().381 Focus request for room: test@conference.jitsi.testdomain.comINFO: [45] org.jitsi.jicofo.FocusManager.createConference().281 Created new focus for test@conference.jitsi.testdomain.com@auth.jitsi.testdomain.com conferences count: 2 options: channelLastN: -1 adaptiveLastN: false simulcastMode: rewriting adaptiveSimulcast: false bridge: jitsi-videobridge.jitsi.testdomain.com openSctp: trueINFO: [45] org.jitsi.jicofo.JitsiMeetConference.joinTheRoom().291 Joining the room: test@conference.jitsi.testdomain.comINFO: [45] org.jitsi.jicofo.ChatRoomRoleAndPresence.init().115 Auto owner feature enabledINFO: [47] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().381 Focus request for room: test@conference.jitsi.testdomain.comINFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.memberPresenceChanged().158 Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@70c14473 member=org.jitsi.impl.protocol.xmpp.ChatMemberImpl@207513da]WARNING: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.electNewOwner().213 Focus role unknownINFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.electNewOwner().217 Obtained focus role: OWNERINFO: [23] org.jitsi.jicofo.JitsiMeetConference.onMemberJoined().385 Member test@conference.jitsi.testdomain.com/focus joined.INFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.localUserRoleChanged().309 Focus role: OWNER init: falseINFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.localUserRoleChanged().309 Focus role: OWNER init: falseINFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.memberPresenceChanged().158 Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@70c14473 member=org.jitsi.impl.protocol.xmpp.ChatMemberImpl@666a5ddb]INFO: [23] org.jitsi.impl.protocol.xmpp.ChatRoomImpl.grantOwnership().634 Grant owner to 854b1ac4-9053-4a5a-8708-ecbfc1091c8d@jitsi.testdomain.com/f4e2fe42-5b67-4dc8-bc28-1c19c1eb7407INFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.electNewOwner().258 Granted owner to test@conference.jitsi.testdomain.com/854b1ac4INFO: [23] org.jitsi.jicofo.JitsiMeetConference.onMemberJoined().385 Member test@conference.jitsi.testdomain.com/854b1ac4 joined.INFO: [55] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().381 Focus request for room: test@conference.jitsi.testdomain.comINFO: [57] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().381 Focus request for room: test@conference.jitsi.testdomain.comINFO: [59] org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq().381 Focus request for room: test@conference.jitsi.testdomain.comINFO: [23] org.jitsi.jicofo.ChatRoomRoleAndPresence.memberPresenceChanged().158 Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@70c14473 member=org.jitsi.impl.protocol.xmpp.ChatMemberImpl@3342ac03]INFO: [23] org.jitsi.jicofo.JitsiMeetConference.onMemberJoined().385 Member test@conference.jitsi.testdomain.com/ecfd0d4d joined.INFO: [23] org.jitsi.impl.protocol.xmpp.colibri.OperationSetColibriConferenceImpl.createNewConference().74 Conference created: org.jitsi.impl.protocol.xmpp.colibri.ColibriConferenceImpl@5e2b133fINFO: [23] org.jitsi.jicofo.JitsiMeetConference.inviteChatMember().451 Added participant for: test@conference.jitsi.testdomain.com/854b1ac4INFO: [23] org.jitsi.jicofo.JitsiMeetConference.inviteChatMember().451 Added participant for: test@conference.jitsi.testdomain.com/ecfd0d4dINFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().108 test@conference.jitsi.testdomain.com/854b1ac4, features:INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 http://jabber.org/protocol/capsINFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:ietf:rfc:5761INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:ietf:rfc:5888INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:1INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:dtls:0INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:rtp:1INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:rtp:audioINFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:rtp:videoINFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:transports:dtls-sctp:1INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:transports:ice-udp:1INFO: [76] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:rayo:client:1INFO: [76] org.jitsi.jicofo.JitsiMeetConference.discoverFeaturesAndInvite().551 test@conference.jitsi.testdomain.com/854b1ac4 has bundle ? trueINFO: [76] org.jitsi.jicofo.JitsiMeetConference.allocateChannels().666 Using jitsi-videobridge.jitsi.testdomain.com to allocate channels for: test@conference.jitsi.testdomain.com/854b1ac4SEVERE: [23] org.jitsi.jicofo.MeetExtensionsHandler.handlePresence().460 Unable to send DisplayNameChanged event - no conference idINFO: [76] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.initiateSession().97 INVITE PEER: test@conference.jitsi.testdomain.com/854b1ac4INFO: [23] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.processJingleIQ().199 test@conference.jitsi.testdomain.com/854b1ac4 real jid: test@conference.jitsi.testdomain.com/854b1ac4INFO: [23] org.jitsi.jicofo.JitsiMeetConference.onSessionAccept().1298 Got SSRCs from test@conference.jitsi.testdomain.com/854b1ac4WARNING: [23] org.jitsi.jicofo.JitsiMeetConference.onSessionAccept().1306 No jingle session yet for test@conference.jitsi.testdomain.com/ecfd0d4dINFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().108 test@conference.jitsi.testdomain.com/ecfd0d4d, features:INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 http://jabber.org/protocol/capsINFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:ietf:rfc:5761INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:ietf:rfc:5888INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:1INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:dtls:0INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:rtp:1INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:rtp:audioINFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:apps:rtp:videoINFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:transports:dtls-sctp:1INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:jingle:transports:ice-udp:1INFO: [77] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().111 urn:xmpp:rayo:client:1INFO: [77] org.jitsi.jicofo.JitsiMeetConference.discoverFeaturesAndInvite().551 test@conference.jitsi.testdomain.com/ecfd0d4d has bundle ? trueINFO: [77] org.jitsi.jicofo.JitsiMeetConference.allocateChannels().666 Using jitsi-videobridge.jitsi.testdomain.com to allocate channels for: test@conference.jitsi.testdomain.com/ecfd0d4dINFO: [77] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.initiateSession().97 INVITE PEER: test@conference.jitsi.testdomain.com/ecfd0d4dINFO: [23] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.processJingleIQ().199 test@conference.jitsi.testdomain.com/ecfd0d4d real jid: test@conference.jitsi.testdomain.com/ecfd0d4dINFO: [23] org.jitsi.jicofo.JitsiMeetConference.onSessionAccept().1298 Got SSRCs from test@conference.jitsi.testdomain.com/ecfd0d4dINFO: [23] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendAddSourceIQ().324 Notify add SSRCtest@conference.jitsi.testdomain.com/854b1ac4 SID: f8cshjvbpmlndINFO: [23] org.jitsi.protocol.xmpp.AbstractOperationSetJingle.sendAddSourceIQ().324 Notify add SSRCtest@conference.jitsi.testdomain.com/ecfd0d4d SID: b3e6lugjv41o2
Here's the chrome console log from participant 1 laptop
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.app.bundle.js?v=97:1586 This appears to be Chromeapp.bundle.js?v=97:16569 Strophe status changed to CONNECTING nullapp.bundle.js?v=97:10070 Using Chrome extension for desktop sharingapp.bundle.js?v=97:10133 Chrome versionmozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/43.0.2357.132 safari/537.36 43app.bundle.js?v=97:9979 Extension not installed?: Objectapp.bundle.js?v=97:10155 Chrome extension installed: false updateRequired: falseapp.bundle.js?v=97:1657 Failed to get access to local media. Error NavigatorUserMediaError Objectapp.bundle.js?v=97:1783 failed to obtain audio/video stream - trying audio only NavigatorUserMediaErrorRTCUtils.errorCallback @ app.bundle.js?v=97:1783app.bundle.js?v=97:16569 Strophe status changed to CONNECTED nullapp.bundle.js?v=97:16576 My Jabber ID: 854b1ac4-9053-4a5a-8708-ecbfc1091c8d@jitsi.testdomain.com/f4e2fe42-5b67-4dc8-bc28-1c19c1eb7407app.bundle.js?v=97:1651 onUserMediaSuccessapp.bundle.js?v=97:1776 got MediaStream 1 0app.bundle.js?v=97:1591 'webkitURL' is deprecated. Please use 'URL' instead.app.bundle.js?v=97:14727 Focus jid set to: undefinedapp.bundle.js?v=97:14753 Session ID: null machine UID: 704039d5cdcdaf9e9af7086d58c027c6app.bundle.js?v=97:7380 hover in nullapp.bundle.js?v=97:14727 Focus jid set to: undefinedapp.bundle.js?v=97:14753 Session ID: null machine UID: 704039d5cdcdaf9e9af7086d58c027c6app.bundle.js?v=97:14727 Focus jid set to: focus@auth.jitsi.testdomain.comapp.bundle.js?v=97:14843 Authentication enabled: falseapp.bundle.js?v=97:14850 External authentication enabled: falseapp.bundle.js?v=97:14870 Sip gateway enabled: falseapp.bundle.js?v=97:15259 Joined MUC as test@conference.jitsi.testdomain.com/854b1ac4app.bundle.js?v=97:14843 Authentication enabled: falseapp.bundle.js?v=97:14850 External authentication enabled: falseapp.bundle.js?v=97:14870 Sip gateway enabled: falseapp.bundle.js?v=97:15259 Joined MUC as test@conference.jitsi.testdomain.com/854b1ac4app.bundle.js?v=97:15449 entered test@conference.jitsi.testdomain.com/focus Objectapp.bundle.js?v=97:15452 Ignore focus: test@conference.jitsi.testdomain.com/focus, real JID: focus@auth.jitsi.testdomain.com/focus11651509128app.bundle.js:2402 My role changed, new role: participantapp.bundle.js:7380 hover in 854b1ac4app.bundle.js:878 selected endpoint changed: 854b1ac4app.bundle.js:8372 UI enable dominant speaker johnny (<span data-i18n="me">me</span>) 854b1ac4 trueapp.bundle.js:2402 My role changed, new role: moderatorapp.bundle.js:15449 entered test@conference.jitsi.testdomain.com/ecfd0d4d Objectapp.bundle.js:15989 on jingle session-initiate from test@conference.jitsi.testdomain.com/focus <iq xmlns=?"jabber:?client" type=?"set" to=?"854b1ac4-9053-4a5a-8708-ecbfc1091c8d@jitsi.testdomain.com/?f4e2fe42-5b67-4dc8-bc28-1c19c1eb7407" from=?"test@conference.jitsi.testdomain.com/?focus" id=?"ODU0YjFhYzQtOTA1My00YTVhLTg3MDgtZWNiZmMxMDkxYzhkQHZpZGVvLmhlYWx1bS5jb20vZjRlMmZlNDItNWI2Ny00ZGM4LWJjMjgtMWMxOWMxZWI3NDA3ADA3MGR5LTM0ODYzAMgKrKjVnX3yWhMvVjzma3I=">?…?</iq>?app.bundle.js:12227 setRemoteDescription when remote description is not null, should be pranswer RTCSessionDescriptionapp.bundle.js:15932 emuc data for test@conference.jitsi.testdomain.com/focus Objectapp.bundle.js:11849 REMOTE STREAM ADDED: [object MediaStream] - mixedmslabelapp.bundle.js:13028 new ssrcs Array[1]app.bundle.js:12098 sendIceCandidates Array[3]app.bundle.js:12098 sendIceCandidates Array[3]app.bundle.js:12088 Have we encountered any srflx candidates? falseapp.bundle.js:12089 Have we encountered any relay candidates? falseapp.bundle.js:11342 No jid for ssrc: 1766369848app.bundle.js:15989 on jingle source-add from test@conference.jitsi.testdomain.com/focus <iq xmlns=?"jabber:?client" type=?"set" to=?"854b1ac4-9053-4a5a-8708-ecbfc1091c8d@jitsi.testdomain.com/?f4e2fe42-5b67-4dc8-bc28-1c19c1eb7407" from=?"test@conference.jitsi.testdomain.com/?focus" id=?"ODU0YjFhYzQtOTA1My00YTVhLTg3MDgtZWNiZmMxMDkxYzhkQHZpZGVvLmhlYWx1bS5jb20vZjRlMmZlNDItNWI2Ny00ZGM4LWJjMjgtMWMxOWMxZWI3NDA3ADA3MGR5LTM0ODcyAMgKrKjVnX3yWhMvVjzma3I=">?…?</iq>?app.bundle.js:12511 addssrc 1436518069516app.bundle.js:12512 ice checkingapp.bundle.js:12986 Jingle error ObjectJingleSession.onJingleError @ app.bundle.js:12986app.bundle.js:12986 Jingle error ObjectJingleSession.onJingleError @ app.bundle.js:12986app.bundle.js:12986 Jingle error ObjectJingleSession.onJingleError @ app.bundle.js:12986
Here are my configsjitsi-meet config.jsvar config = { hosts: { domain: 'jitsi.testdomain.com', //anonymousdomain: 'guest.example.com', muc: 'conference.jitsi.testdomain.com', // FIXME: use XEP-0030 bridge: 'jitsi-videobridge.jitsi.testdomain.com', // FIXME: use XEP-0030 //jirecon: 'jirecon.jitsi.testdomain.com', //call_control: 'callcontrol.jitsi.testdomain.com', focus: 'focus.jitsi.testdomain.com' //- defaults to 'focus.jitsi-meet.example.com' },// getroomnode: function (path) { return 'someprefixpossiblybasedonpath'; },// useStunTurn: true, // use XEP-0215 to fetch STUN and TURN server// useIPv6: true, // ipv6 support. use at your own risk useNicks: false, bosh: '//jitsi.testdomain.com/http-bind', // FIXME: use xep-0156 for that clientNode: 'http://jitsi.org/jitsimeet', // The name of client node advertised in XEP-0115 'c' stanza //focusUserJid: 'focus@auth.jitsi.testdomain.com', // The real JID of focus participant - can be overridden here //defaultSipNumber: '', // Default SIP number desktopSharing: 'ext', // Desktop sharing method. Can be set to 'ext', 'webrtc' or false to disable. chromeExtensionId: 'diibjkoicjeejcmhdnailmkgecihlobk', // Id of desktop streamer Chrome extension desktopSharingSources: ['screen', 'window'], minChromeExtVersion: '0.1', // Required version of Chrome extension openSctp: true, // Toggle to enable/disable SCTP channels disableStats: false, disableAudioLevels: false, channelLastN: -1, // The default value of the channel attribute last-n. adaptiveLastN: false, adaptiveSimulcast: false, useRtcpMux: true, // required for FF support useBundle: true, // required for FF support enableRecording: false, enableWelcomePage: true, enableSimulcast: false, // blocks FF support logStats: false, // Enable logging of PeerConnection stats via the focus// requireDisplayName: true,//Forces the participants that doesn't have display name to enter it when they enter the room.// startAudioMuted: 10, //every participant after the Nth will start audio muted// startVideoMuted: 10, //every participant after the Nth will start video muted// defaultLanguage: "en",// To enable sending statistics to callstats.io you should provide Applicaiton ID and Secret.// callStatsID: "",//Application ID for callstats.io API// callStatsSecret: ""//Secret for callstats.io API /*noticeMessage: 'Service update is scheduled for 16th March 2015. ' + 'During that time service will not be available. ' + 'Apologise for inconvenience.'*/};
my host prosody config luaVirtualHost "jitsi.testdomain.com" authentication = "anonymous" ssl = { key = "/var/lib/prosody/jitsi.testdomain.com.key"; certificate = "/var/lib/prosody/jitsi.testdomain.com.crt"; } modules_enabled = { "bosh"; "pubsub"; }VirtualHost "auth.jitsi.testdomain.com" authentication = "internal_plain"admins = { "focus@auth.jitsi.testdomain.com" }Component "conference.jitsi.testdomain.com" "muc"Component "jitsi-videobridge.jitsi.testdomain.com" component_secret = "YOURSECRET1"Component "focus.jitsi.testdomain.com" component_secret = "YOURSECRET2"

sip-communicator propertiesorg.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
prosody config lua-- Prosody Example Configuration File---- Information on configuring Prosody can be found on our-- website at http://prosody.im/doc/configure---- Tip: You can check that the syntax of this file is correct-- when you have finished by running: luac -p prosody.cfg.lua-- If there are any errors, it will let you know what and where-- they are, otherwise it will keep quiet.---- The only thing left to do is rename this file to remove the .dist ending, and fill in the-- blanks. Good luck, and happy Jabbering!

---------- Server-wide settings ------------ Settings in this section apply to the whole server and are the default settings-- for any virtual hosts
– This is a (by default, empty) list of accounts that are admins-- for the server. Note that you must create the accounts separately-- (see http://prosody.im/doc/creating_accounts for info)-- Example: admins = { "user1@example.com", "user2@example.net" }admins = { }
– Enable use of libevent for better performance under high load-- For more information see: http://prosody.im/doc/libevent--use_libevent = true;
– This is the list of modules Prosody will load on startup.-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too.-- Documentation on modules can be found at: http://prosody.im/doc/modulesmodules_enabled = {
        – Generally required "roster"; – Allow users to have a roster. Recommended :wink: "saslauth"; – Authentication for clients and servers. Recommended if you want to log in. "tls"; – Add support for secure TLS on c2s/s2s connections "dialback"; – s2s dialback support "disco"; – Service discovery
        – Not essential, but recommended "private"; – Private XML storage (for room bookmarks, etc.) "vcard"; – Allow users to set vCards
        – These are commented by default as they have a performance impact --"privacy"; – Support privacy lists --"compression"; – Stream compression (Debian: requires lua-zlib module to work)
        – Nice to have "version"; – Replies to server version requests "uptime"; – Report how long server has been running "time"; – Let others know the time here on this server "ping"; – Replies to XMPP pings with pongs "pep"; – Enables users to publish their mood, activity, playing music and more "register"; – Allow users to register on this server using a client and change passwords
        – Admin interfaces "admin_adhoc"; – Allows administration via an XMPP client that supports ad-hoc commands --"admin_telnet"; – Opens telnet console interface on localhost port 5582
        – HTTP modules --"bosh"; – Enable BOSH clients, aka "Jabber over HTTP" --"http_files"; – Serve static files from a directory over HTTP
        – Other specific functionality "posix"; – POSIX functionality, sends server to background, enables syslog, etc. --"groups"; – Shared roster support --"announce"; – Send announcement to all online users --"welcome"; – Welcome users who register accounts --"watchregistrations"; – Alert admins of registrations --"motd"; – Send a message to users when they log in --"legacyauth"; – Legacy authentication. Only used by some old clients and bots.};
– These modules are auto-loaded, but should you want-- to disable them then uncomment them here:modules_disabled = { – "offline"; – Store offline messages – "c2s"; – Handle client connections – "s2s"; – Handle server-to-server connections};
– Disable account creation by default, for security-- For more information see http://prosody.im/doc/creating_accountsallow_registration = false;
– Debian:-- send the server to background.–daemonize = true;
– Debian:-- Please, don't change this option since /var/run/prosody/-- is one of the few directories Prosody is allowed to write to–pidfile = "/var/run/prosody/prosody.pid";
– These are the SSL/TLS-related settings. If you don't want-- to use SSL/TLS, you may comment or remove thisssl = { key = "/etc/prosody/certs/localhost.key"; certificate = "/etc/prosody/certs/localhost.crt";}
– Force clients to use encrypted connections? This option will-- prevent clients from authenticating unless they are using encryption.
c2s_require_encryption = false
– Force certificate authentication for server-to-server connections?-- This provides ideal security, but requires servers you communicate-- with to support encryption AND present valid, trusted certificates.-- NOTE: Your version of LuaSec must support certificate verification!-- For more information see http://prosody.im/doc/s2s#security
s2s_secure_auth = false
– Many servers don't support encryption or have invalid or self-signed-- certificates. You can list domains here that will not be required to-- authenticate using certificates. They will be authenticated using DNS.
–s2s_insecure_domains = { "gmail.com" }
– Even if you leave s2s_secure_auth disabled, you can still require valid-- certificates for some domains by specifying a list here.
–s2s_secure_domains = { "jabber.org" }
– Select the authentication backend to use. The 'internal' providers-- use Prosody's configured data storage to store the authentication data.-- To allow Prosody to offer secure authentication mechanisms to clients, the-- default provider stores passwords in plaintext. If you do not trust your-- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed-- for information about using the hashed backend.
authentication = "internal_plain"
– Select the storage backend to use. By default Prosody uses flat files-- in its configured data directory, but it also supports more backends-- through modules. An "sql" backend is included by default, but requires-- additional dependencies. See http://prosody.im/doc/storage for more info.
–storage = "sql" – Default is "internal" (Debian: "sql" requires one of the-- lua-dbi-sqlite3, lua-dbi-mysql or lua-dbi-postgresql packages to work)
– For the "sql" backend, you can uncomment *one* of the below to configure:–sql = { driver = "SQLite3", database = "prosody.sqlite" } – Default. 'database' is the filename.–sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }–sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" }
– Logging configuration-- For advanced logging see http://prosody.im/doc/logging---- Debian:-- Logs info and higher to /var/log-- Logs errors to syslog alsolog = { – Log files (change 'info' to 'debug' for debug logs): info = "/var/log/prosody/prosody.log"; error = "/var/log/prosody/prosody.err"; – Syslog: { levels = { "error" }; to = "syslog"; };}
----------- Virtual hosts ------------- You need to add a VirtualHost entry for each domain you wish Prosody to serve.-- Settings under each VirtualHost entry apply *only* to that host.
VirtualHost "example.com" enabled = false – Remove this line to enable this host
        – Assign this host a certificate for TLS, otherwise it would use the one – set in the global section (if any). – Note that old-style SSL on port 5223 only supports one certificate, and will always – use the global one. ssl = { key = "/etc/prosody/certs/example.com.key"; certificate = "/etc/prosody/certs/example.com.crt"; }
------ Components -------- You can specify components to add hosts that provide special services,-- like multi-user conferences, and transports.-- For more information on components, see http://prosody.im/doc/components
—Set up a MUC (multi-user chat) room server on conference.example.com:–Component "conference.example.com" "muc"
– Set up a SOCKS5 bytestream proxy for server-proxied file transfers:–Component "proxy.example.com" "proxy65"
—Set up an external component (default component port is 5347)---- External components allow adding various services, such as gateways/-- transports to other networks like ICQ, MSN and Yahoo. For more info-- see: http://prosody.im/doc/components#adding_an_external_component----Component "gateway.example.com"-- component_secret = "password"
------ Additional config files -------- For organizational purposes you may prefer to add VirtualHost and-- Component definitions in their own config files. This line includes-- all config files in /etc/prosody/conf.d/
Include "conf.d/*.cfg.lua"
I donot have any configuration for jicofo OR JVB because I was following the install guide from https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.mdwhich doesn't mention any configuration for jicofo or JVB. I am running jicofo and JVB from rc.local as follows
/bin/bash /root/jitsi-videobridge-linux-x64-472/jvb.sh --host=localhost --domain=jitsi.testdomain.com --port=5347 --secret=YOURSECRET1 </dev/null >> /var/log/jvb.log 2>&1 &
/bin/bash /root/jicofo/dist/linux/jicofo-linux-x64-1/jicofo.sh --domain=jitsi.testdomain.com --secret=YOURSECRET2 --user_domain=auth.jitsi.testdomain.com --user_name=focus --user_password=YOURSECRET3 </dev/null >> /var/log/jicofo.log 2>&1 &

Can someone help me please? Thanks.


#2

Hello Andy,

···

On 10/07/15 04:10, Andy A wrote:

Hello. I have recently installed jitsi-meet with jicofo, JVB, nginx and
prosody on Ubuntu 14.04.

I don't see anything obvious in your logs. Is there a particular reason you are using the manual installation guide rather than the "quick install guide"[1]?

Regards,
Boris

[1] https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md


#3

Well mainly because we don't plan to use Ubuntu in production. But I can give 'quick install' a go and see if that works.In production we plan to use CentOS.
Question from the logs that I posted.
What about the error about 'jingle' in the Chrome console log?

···

Date: Fri, 10 Jul 2015 09:20:03 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

Hello Andy,

On 10/07/15 04:10, Andy A wrote:
> Hello. I have recently installed jitsi-meet with jicofo, JVB, nginx and
> prosody on Ubuntu 14.04.

I don't see anything obvious in your logs. Is there a particular reason
you are using the manual installation guide rather than the "quick
install guide"[1]?

Regards,
Boris

[1] https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#4

Well mainly because we don't plan to use Ubuntu in production. But I can
give 'quick install' a go and see if that works.
In production we plan to use CentOS.

Question from the logs that I posted.

What about the error about 'jingle' in the Chrome console log?

This is probably harmless:
https://github.com/jitsi/jitsi-meet/issues/265

Can you include the logs from videobridge?

Regards,
Boris

···

On 10/07/15 10:14, Andy A wrote:

> Date: Fri, 10 Jul 2015 09:20:03 -0500
> From: boris@jitsi.org
> To: users@jitsi.org
> Subject: Re: [jitsi-users] Audio/Video in a conference call not working
>
> Hello Andy,
>
> On 10/07/15 04:10, Andy A wrote:
> > Hello. I have recently installed jitsi-meet with jicofo, JVB, nginx and
> > prosody on Ubuntu 14.04.
>
> I don't see anything obvious in your logs. Is there a particular reason
> you are using the manual installation guide rather than the "quick
> install guide"[1]?
>
> Regards,
> Boris
>
> [1] https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md
>
> _______________________________________________
> users mailing list
> users@jitsi.org
> Unsubscribe instructions and other list options:
> http://lists.jitsi.org/mailman/listinfo/users

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#5

I just checked the JVB.log and the problem was that ICE was failing because it couldn't get UDP traffic through.I had to open all ports on UDP in my firewall for it to work - which I am not really happy about. So I now have two questionsIs there way to restrict this the UDP traffic to certain ports?What is the range of UDP ports does ICE / JVB / Jitsi use?
Another question regarding performance.Once I got it working, I got 4 different devices (2 laptops and 2 mobile devices) on it. After about 5 seconds the video just froze, but the audio was very clear and continued to work. Why do you think that is? Is that to do with device performance? bandwidth? or server specs?

···

Date: Fri, 10 Jul 2015 10:47:42 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

On 10/07/15 10:14, Andy A wrote:
> Well mainly because we don't plan to use Ubuntu in production. But I can
> give 'quick install' a go and see if that works.
> In production we plan to use CentOS.
>
> Question from the logs that I posted.
>
> What about the error about 'jingle' in the Chrome console log?

This is probably harmless:
https://github.com/jitsi/jitsi-meet/issues/265

Can you include the logs from videobridge?

Regards,
Boris

>
> > Date: Fri, 10 Jul 2015 09:20:03 -0500
> > From: boris@jitsi.org
> > To: users@jitsi.org
> > Subject: Re: [jitsi-users] Audio/Video in a conference call not working
> >
> > Hello Andy,
> >
> > On 10/07/15 04:10, Andy A wrote:
> > > Hello. I have recently installed jitsi-meet with jicofo, JVB, nginx and
> > > prosody on Ubuntu 14.04.
> >
> > I don't see anything obvious in your logs. Is there a particular reason
> > you are using the manual installation guide rather than the "quick
> > install guide"[1]?
> >
> >
> > Regards,
> > Boris
> >
> > [1] https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md
> >
> >
> > _______________________________________________
> > users mailing list
> > users@jitsi.org
> > Unsubscribe instructions and other list options:
> > http://lists.jitsi.org/mailman/listinfo/users
>
>
> _______________________________________________
> users mailing list
> users@jitsi.org
> Unsubscribe instructions and other list options:
> http://lists.jitsi.org/mailman/listinfo/users
>

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#6

Hi Alan,

I just checked the JVB.log and the problem was that ICE was failing
because it couldn't get UDP traffic through.
I had to open all ports on UDP in my firewall for it to work - which I
am not really happy about. So I now have two questions
Is there way to restrict this the UDP traffic to certain ports?
What is the range of UDP ports does ICE / JVB / Jitsi use?

Glad to hear it is working now. By default the bridge uses the 10000-20000 range. You can change the range using --min-port= and --max-port= as arguments to jvb.sh.

You can also use the single-port mode as described here[0].

Note that some of our other components (e.g. jigasi) don't support single-port, so you will need to keep the port range accessible to the jigasi instance if you set one up.

Another question regarding performance.
Once I got it working, I got 4 different devices (2 laptops and 2 mobile
devices) on it. After about 5 seconds the video just froze, but the
audio was very clear and continued to work. Why do you think that is? Is
that to do with device performance? bandwidth? or server specs?

It is unlikely to be because of bandwidth or server specs (the server component is very efficient[1]). Device performance in an option, especially with mobile. There might be another problem, so check the logs after the problem happens.

Regards,
Boris

[0] https://github.com/jitsi/jitsi-videobridge/blob/master/doc/single-port.md
[1] https://jitsi.org/Projects/JitsiVideobridgePerformance

···

On 10/07/15 16:05, Andy A wrote:


#7

Thanks for your reply and clarification.What is the impact of making a choice between a smaller restricted port range vs single port? Is it on performance and number of clients that can be connected?Is there any best practices document that you can refer me to?
For Jigasi, would the 10K - 20K port range be enough or does it use a different port range altogether?
Thanks for link on JVB performance. It takes about 1K video streams in A single conference, which is great. I am more interested in multiple conferences with just 3-4 video streams. So going by performance numbers for 1k video streams, would it imply that I could have around 250 conference calls, each with 4 video streams?
Which brings me to a more detailed question on performance etc. I will send a different email about it.

···

Date: Fri, 10 Jul 2015 16:21:15 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

Hi Alan,

On 10/07/15 16:05, Andy A wrote:
> I just checked the JVB.log and the problem was that ICE was failing
> because it couldn't get UDP traffic through.
> I had to open all ports on UDP in my firewall for it to work - which I
> am not really happy about. So I now have two questions
> Is there way to restrict this the UDP traffic to certain ports?
> What is the range of UDP ports does ICE / JVB / Jitsi use?

Glad to hear it is working now. By default the bridge uses the
10000-20000 range. You can change the range using --min-port= and
--max-port= as arguments to jvb.sh.

You can also use the single-port mode as described here[0].

Note that some of our other components (e.g. jigasi) don't support
single-port, so you will need to keep the port range accessible to the
jigasi instance if you set one up.

> Another question regarding performance.
> Once I got it working, I got 4 different devices (2 laptops and 2 mobile
> devices) on it. After about 5 seconds the video just froze, but the
> audio was very clear and continued to work. Why do you think that is? Is
> that to do with device performance? bandwidth? or server specs?

It is unlikely to be because of bandwidth or server specs (the server
component is very efficient[1]). Device performance in an option,
especially with mobile. There might be another problem, so check the
logs after the problem happens.

Regards,
Boris

[0]
https://github.com/jitsi/jitsi-videobridge/blob/master/doc/single-port.md
[1] https://jitsi.org/Projects/JitsiVideobridgePerformance

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#8

Thanks for your reply and clarification.
What is the impact of making a choice between a smaller restricted port
range vs single port? Is it on performance and number of clients that
can be connected?

When a port range is used, each client uses a different port. You need at least as many ports as the number of clients you expect to connect simultaneously.

The single-port approach doesn't have that limitation, but it is relatively new and hasn't been as thoroughly tested.

Is there any best practices document that you can refer me to?

I can't really think of one.

For Jigasi, would the 10K - 20K port range be enough or does it use a
different port range altogether?

I think Jigasi itself uses 5000-6000 by default. On the bridge side, 10000-20000 will work just fine.

Thanks for link on JVB performance. It takes about 1K video streams in A
single conference, which is great. I am more interested in multiple
conferences with just 3-4 video streams. So going by performance numbers
for 1k video streams, would it imply that I could have around 250
conference calls, each with 4 video streams?

A conference with 4 people equals to about 16 streams (4 incoming, 12 outgoing). So I would expect this to translate to about 60-70 such conferences.

Regards,
Boris

···

On 13/07/15 04:11, Andy A wrote:


#9

Okay thanks for the explanations. You say the single port approach is new. Can you explain what was the drive behind adding this approach?
What are the main bottlenecks for JVB scaling on a single server?

···

Date: Mon, 13 Jul 2015 10:45:11 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

On 13/07/15 04:11, Andy A wrote:
> Thanks for your reply and clarification.
> What is the impact of making a choice between a smaller restricted port
> range vs single port? Is it on performance and number of clients that
> can be connected?

When a port range is used, each client uses a different port. You need
at least as many ports as the number of clients you expect to connect
simultaneously.

The single-port approach doesn't have that limitation, but it is
relatively new and hasn't been as thoroughly tested.

> Is there any best practices document that you can refer me to?

I can't really think of one.
>
> For Jigasi, would the 10K - 20K port range be enough or does it use a
> different port range altogether?

I think Jigasi itself uses 5000-6000 by default. On the bridge side,
10000-20000 will work just fine.
>
> Thanks for link on JVB performance. It takes about 1K video streams in A
> single conference, which is great. I am more interested in multiple
> conferences with just 3-4 video streams. So going by performance numbers
> for 1k video streams, would it imply that I could have around 250
> conference calls, each with 4 video streams?

A conference with 4 people equals to about 16 streams (4 incoming, 12
outgoing). So I would expect this to translate to about 60-70 such
conferences.

Regards,
Boris

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#10

Okay thanks for the explanations. You say the single port approach is
new. Can you explain what was the drive behind adding this approach?

Mainly because network administrators or companies' policy sometimes prohibit the exposure of a large range of ports.

What are the main bottlenecks for JVB scaling on a single server?

There are two main bottlenecks: CPU and bandwidth. Which one you will hit first depends on your specific hardware and network.

Memory use is relatively low. I think we run the JVM with 3GB by default and haven't changed that in any of the tests.

Regards,
Boris

···

On 13/07/15 14:11, Andy A wrote:


#11

Is there any special recommendation for number of network cards? or number of concurrent ports the network card can manage?

···

Date: Mon, 13 Jul 2015 15:00:35 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

On 13/07/15 14:11, Andy A wrote:
> Okay thanks for the explanations. You say the single port approach is
> new. Can you explain what was the drive behind adding this approach?

Mainly because network administrators or companies' policy sometimes
prohibit the exposure of a large range of ports.

>
> What are the main bottlenecks for JVB scaling on a single server?

There are two main bottlenecks: CPU and bandwidth. Which one you will
hit first depends on your specific hardware and network.

Memory use is relatively low. I think we run the JVM with 3GB by default
and haven't changed that in any of the tests.

Regards,
Boris

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#12

We can handle more than one, but including too many might add a slight delay to the connection establishment (assuming each card has a separate IP address). The same applies if you have many different IP addresses for another reason.

Regards,
Boris

···

On 14/07/15 09:09, Andy A wrote:

Is there any special recommendation for number of network cards? or
number of concurrent ports the network card can manage?


#13

I see. So having some sort of sharding to decrease Jicofo as SPOF would add to the delay?

···

Date: Tue, 14 Jul 2015 12:46:40 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

On 14/07/15 09:09, Andy A wrote:
> Is there any special recommendation for number of network cards? or
> number of concurrent ports the network card can manage?

We can handle more than one, but including too many might add a slight
delay to the connection establishment (assuming each card has a separate
IP address). The same applies if you have many different IP addresses
for another reason.

Regards,
Boris

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#14

I see. So having some sort of sharding to decrease Jicofo as SPOF would
add to the delay?

How is "sharding" jicofo instances related to the number of network
interfaces on the machine running JVB?

Emil

···

On Friday, July 17, 2015, Andy A <andthereitgoes@hotmail.com> wrote:

> Date: Tue, 14 Jul 2015 12:46:40 -0500
> From: boris@jitsi.org <javascript:_e(%7B%7D,'cvml','boris@jitsi.org');>
> To: users@jitsi.org <javascript:_e(%7B%7D,'cvml','users@jitsi.org');>
> Subject: Re: [jitsi-users] Audio/Video in a conference call not working
>
> On 14/07/15 09:09, Andy A wrote:
> > Is there any special recommendation for number of network cards? or
> > number of concurrent ports the network card can manage?
>
> We can handle more than one, but including too many might add a slight
> delay to the connection establishment (assuming each card has a separate
> IP address). The same applies if you have many different IP addresses
> for another reason.
>
>
> Regards,
> Boris
>
> _______________________________________________
> users mailing list
> users@jitsi.org <javascript:_e(%7B%7D,'cvml','users@jitsi.org');>
> Unsubscribe instructions and other list options:
> http://lists.jitsi.org/mailman/listinfo/users

--
sent from my mobile


#15

It is not related. I don't know of if Boris was talking about network interfaces on a machine running JVB (only) or just in general regarding all the components.In case of both components running on a single instance it might be related, but on separate instances it won't be related.
My question (regarding network card / ports recommendations) was generic to all the components of Jitsi - Jicofo, JVB, Prosody, Jitsi meet, Nginx (at the moment)

···

Date: Fri, 17 Jul 2015 07:41:12 -0500
From: emcho@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

On Friday, July 17, 2015, Andy A <andthereitgoes@hotmail.com> wrote:

I see. So having some sort of sharding to decrease Jicofo as SPOF would add to the delay?
How is "sharding" jicofo instances related to the number of network interfaces on the machine running JVB?
Emil

Date: Tue, 14 Jul 2015 12:46:40 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

On 14/07/15 09:09, Andy A wrote:
> Is there any special recommendation for number of network cards? or
> number of concurrent ports the network card can manage?

We can handle more than one, but including too many might add a slight
delay to the connection establishment (assuming each card has a separate
IP address). The same applies if you have many different IP addresses
for another reason.

Regards,
Boris

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users
                 
--
sent from my mobile

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#16

Most or all my replies here are jvb-specific.

Boris

···

On 17/07/15 09:14, Andy A wrote:

It is not related. I don't know of if Boris was talking about network
interfaces on a machine running JVB (only) or just in general regarding
all the components.
In case of both components running on a single instance it might be
related, but on separate instances it won't be related.

My question (regarding network card / ports recommendations) was generic
to all the components of Jitsi - Jicofo, JVB, Prosody, Jitsi meet,
  Nginx (at the moment)


#17

Aha. Okay. Thanks for the clarification.

···

Date: Fri, 17 Jul 2015 09:18:21 -0500
From: boris@jitsi.org
To: users@jitsi.org
Subject: Re: [jitsi-users] Audio/Video in a conference call not working

On 17/07/15 09:14, Andy A wrote:
> It is not related. I don't know of if Boris was talking about network
> interfaces on a machine running JVB (only) or just in general regarding
> all the components.
> In case of both components running on a single instance it might be
> related, but on separate instances it won't be related.
>
> My question (regarding network card / ports recommendations) was generic
> to all the components of Jitsi - Jicofo, JVB, Prosody, Jitsi meet,
> Nginx (at the moment)

Most or all my replies here are jvb-specific.

Boris

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users