jitsi / jicofo Goto Github PK
View Code? Open in Web Editor NEWJItsi COnference FOcus is a server side focus component used in Jitsi Meet conferences.
License: Apache License 2.0
JItsi COnference FOcus is a server side focus component used in Jitsi Meet conferences.
License: Apache License 2.0
Currently offers sent to clients don't have the 'setup' attribute for the DTLS fingerprint element.
it seems that jicofo has 2 channels to the XMPP server. the first as component, and the second as a regular XMPP user (username: focus).
in the latter case I am seeing the focus user getting kicked due to failure to respond to server pings when the server is ejabberd. it looks to me that there is no code in jicofo to respond to pings on that XMPP channel (there is however on the component channel).
I realize that jicofo is by default deployed with prosody and I have ascertained that prosody does not send server-to-client pings, it responds only to client pings, which would explain why users using prosody as the XMPP server would not have this problem.
ejabberd, however, sends server-to-client pings as well as responding to client-to-server pings.
since the connection is closed cleanly by ejabberd (i.e. when the server-to-client ping is not responded to and ejabberd deems that the user has gone away and closes the connection) in this case smack/jicofos reconnection logic does not trigger and so jicofo just stays disconnected indefinitly.
I have attached a sketch of a patch to add responses to server pings. I realize there is a KeepAliveManager I could have leveraged here but I had a mismatch with the serviceName so it was simpler in my case to just add a patch inline. it is more to give a general idea than a final proposed patch.
have I missed anything obvious here? is this handled by some setting I've missed?
ASIDE: a quick note on why this problem only started happeneing / came to light: in ejabberd versions less than 16.04 there was a bug in ejabberd whereby it failed to send the stream trailer before closing the connection (when stream management was disabled, as it is in smack 3.x used by jicofo). I was previously using a version of ejabberd with the missing trailer bug but due to the bug the connection was closed without the stream trailer this caused an exception to be caught by Smack (in PacketReader) and seemed like a "close with error" scenario which allowed jicofos reconnection logic to kick-in and so the ejabberd bug and the jicofo lack of ping responses conspired to allow focus to mostly be connected to the server, albeit with frequent kicks/reconnects. since this (ejabberd trailer) bug has been fixed the connection is no longer deemed to have been closed in error and so now jicofo/smack sees no need to try to reconnect.
It is hardcoded into the system that the moderator can mute, but not unmute, participants. Furthermore the participant can allways mute and unmute himself.
https://github.com/jitsi/jicofo/blob/master/src/main/java/org/jitsi/jicofo/JitsiMeetConferenceImpl.java#L1539
It would be nice if these hardcoded decisions were configurable. We are building a conference system in which we do not want the participants to be able to unmute themselves - only the moderator is allowed to give "talk time" to a specific participant.
Would a pullrequest for such a feature be welcomed or is it out of scope for this project?
There is a bug in the init.d scripts of the jicofo Debian package. The JICOFO_AUTH_USER variable is not used in the init script. So Jicofo will always try to login to the XMPP server as "focus" even if you define a different user name.
Patch:
diff --git a/init.d/jicofo b/init.d/jicofo
index adc06a6..6c405e5 100755
--- a/init.d/jicofo
+++ b/init.d/jicofo
@@ -32,7 +32,7 @@ USER=jicofo
PIDFILE=/var/run/jicofo.pid
LOGFILE=/var/log/jitsi/jicofo.log
DESC=jicofo
-DAEMON_OPTS=" --host=$JICOFO_HOST --domain=$JICOFO_HOSTNAME --port=$JICOFO_PORT --secret=$JICOFO_SECRET --user_domain=$JICOFO_AUTH_DOMAIN --user_password=$JICOFO_AUTH_PASSWORD $JICOFO_OPTS"
+DAEMON_OPTS=" --host=$JICOFO_HOST --domain=$JICOFO_HOSTNAME --port=$JICOFO_PORT --secret=$JICOFO_SECRET --user_name=$JICOFO_AUTH_USER --user_domain=$JICOFO_AUTH_DOMAIN --user_password=$JICOFO_AUTH_PASSWORD $JICOFO_OPTS"
Dear All,
As I mentioned in the mailing list http://lists.jitsi.org/pipermail/dev/2017-July/034204.html I would like to implement a new authentication feature using OpenID Connect in order to make it work with the OIDC provider FranceConnect.
Before starting this work, I'd like to have some clarifications about developing and adding a new module. Thus I have a couple of questions :
Any help would be greatly appreciated.
Hamza
Sometimes Jicofo stops inviting new participants who join the room. From the logs it's looks like it does not receive MUC events. The room stops "working" permanently and new room name must be used.
On Debian, using the sysv init script, I discovered that jicofo failed to start without any output or reason.
To fix the problem, I wrote a new systemd service file which seems to work without a hitch:
[Unit]
Description=Jitsi conference Focus
After=local-fs.target remote-fs.target
Conflicts=shutdown.target
[Service]
Restart=always
EnvironmentFile=/etc/jitsi/jicofo/config
User=jicofo
WorkingDirectory=/usr/share/jicofo
ExecStart=/usr/share/jicofo/jicofo.sh --host=${JICOFO_HOST} --domain=${JICOFO_HOSTNAME} --port=${JICOFO_PORT} --secret=${JICOFO_SECRET} --user_domain=${JICOFO_AUTH_DOMAIN} --user_password=${JICOFO_AUTH_PASSWORD}
[Install]
WantedBy=multi-user.target
How to mix all the audio streams into a single stream while they are sending to each and every participant in the conference??
After restarting biboumi with a newer version, Jicofo prints this message every 30s:
Jicofo 2017-04-14 15:44:05.310 GRAVE: [107] org.jitsi.jicofo.ComponentsDiscovery.discoverServices().279 Feature list changed for: irc.jabberfr.org
It should update the cached feature list once and then stop thinking this other component changed again.
Reported by Emil: conference does not work when we join early and wait for too long for the others to join.
trying jitsi meet setup exactly according to official documentation. I noticed jicofo component is not starting properly. Tried most of the suggestions from mailing list. error is as follow
15:47:23.794 INFO: [9] impl.netaddr.NetworkAddressManagerServiceImpl.start().81 Network Address Manager ...[ STARTED ]
15:47:23.795 INFO: [9] impl.netaddr.NetworkAddressManagerServiceImpl.start().87 Network Address Manager Service ...[REGISTERED]
15:47:23.841 INFO: [9] impl.netaddr.NetworkConfigurationWatcher.checkNetworkInterfaces().387 Currently Active eth0:[/128.199.185.133]
15:47:23.845 FINE: [9] plugin.reconnectplugin.ReconnectPluginActivator.start().238 Found 0 already installed providers.
15:47:24.155 SEVERE: [19] org.jitsi.jicofo.util.RegisterThread.run().42 net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect
net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:161)
at org.jitsi.jicofo.util.RegisterThread.run(RegisterThread.java:38)
Caused by: service-unavailable(-1)
at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:77)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:217)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:156)
Any patch for that.
Fix the permissions for /etc/jitsi/jicofo/* (they should not be world-readable)
moved from jitsi/jitsi-meet#81
Just noticed that chrome 35 includes a
a=rtcp-fb:100 nack pli
line in addition to the nack one (is that legal even?)
This is currently not in
https://github.com/jitsi/jitsi-meet/blob/master/libs/colibri/colibri.focus.js#L297
(which I think is from chrome 33)
When a non-Meet client joins a MUC, it may want to know the software other participants are running.
Hi,
We are trying to setup jistimeet with LDAP-backed secure domains, using prosody as XMPP server.
If prosody is configured to use sasl as an authentication provider, the authentication dialog on jitsimeet is stuck on "Connecting".
Prosody does not log any authentication request, so i'm guessing the problem is with Jicofo, but i'm not sure, since the architecture behind this is quite complex.
Authentication does work if i use a random XMPP client, like Empathy or Gajim, so i don't think it's a configuration issue with prosody.
Do you have any idea why is the authentication failing?
Thanks.
The reservation system REST API documentation mentions the following about conference (reservation) deletion: "Jicofo deletes conferences in the reservation system in two cases. First when all users leave XMPP Multi User Chat room. Second when conference duration limit is exceeded."
I am only experiencing the latter. With the duration set to 10 minutes, the conference is never deleted before the 10 minutes expire, even if everyone leaves within the minute.
(I see no call to deleteConference
except from within the ConferenceExpireTask
.)
I'm using GSSAPI and PLAIN. focus fails to connect with invalid username/password. If GSSAPI is disabled, the focus user connects as expected. It appears that focus is trying to connected using GSSAPI.
To work around this, I have added SASLAuthentication.supportSASLMechanism("PLAIN"); to the connConfig within src/main/java/org/jitsi/impl/protocol/xmpp/XmppProtocolProvider.java
I'm unsure if this is the best way to work around this issue. It maybe better to use blacklist/unsupported, but I'll leave that up to the experts.
Jicofo creates new XMPP connection for every conference room. It should be possible to re-use signle connection, but this requires some code optimizations which have been started on single_xmpp_connection branch.
Hello,
I have a problem building the latest version. At first I tried to build as I was used to with 'ant dist.lin64'. I got a maven error and afterwards saw the comment in build.xml to download maven ant tasks.
I tried running the given 'mvn dependency...' command but got lots of error messages. These are also described here: http://lists.jitsi.org/pipermail/dev/2015-October/025520.html (seems to be the same issue with jitsi videobridge)
Then I downloaded 'maven-ant-tasks-2.1.3.jar' directly from apache website and run:
'ant -lib maven-ant-tasks-2.1.3.jar dist.lin64'
Result was:
...
Not a v4.0.0 POM. for project org.sonatype.oss:oss-parent at /home/jitsi/.m2/repository/org/sonatype/oss/oss-parent/3/oss-parent-3.pom
BUILD FAILED
/home/jitsi/jicofo-master/build.xml:54: Unable to resolve artifact: Unable to get dependency information: Unable to read the metadata file for artifact 'com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar': Cannot find parent: org.sonatype.oss:oss-parent for project: com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.0_jdk5 for project com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.0_jdk5
com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.0_jdk5
from the specified remote repositories:
jitsi-maven-repository-snapshots (https://github.com/jitsi/jitsi-maven-repository/raw/master/snapshots/),
central (http://repo1.maven.org/maven2),
sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots),
jitsi-maven-repository-releases (https://github.com/jitsi/jitsi-maven-repository/raw/master/releases/)
Path to dependency:
1) org.jitsi:jicofo:jar:1.0-SNAPSHOT
2) org.igniterealtime:tinder:jar:1.2.3
I am running Ubuntu Server 14.04. Did I miss something obvious?
Thanks in advance
Hi!
I just set up user authentication based on this [1] document (Secure domain). The installation of Jitsi Meet was made with the Debian packages provided by you.
I am testing on Debian Jessie with Chromium 55.0.2883.75. Here I can send the authentication data (JID and password) and then I can enter to the conference room. But in Firefox ESR 45.6.0, the button to send the data does not seems to work.
Can you replicate this behavior?
Thanks in advance.
Kind regards,
Daniel
Video in H264 doesn't work in Firefox (at least 57 on macOS) in jvb mode. It works fine in p2p with Safari using H264. The root cause is that it seems Firefox doesn't consider H264 if there is no a=fmtp
set of it.
Valid SDP with working H264 should contain something like this
a=fmtp:107 profile-level-id=42e01f;level-asymmetry-allowed=1;packetization-mode=1
Original issue is here jitsi/lib-jitsi-meet#647
Available jitsi-videobridges are discovered only once on startup. This means that if some of them will go up after Jicofo startup they will never be discovered. This also applies to PubSub nodes to which bridges send their stats - if they don't exist on startup then Jicofo will never subscribe.
Would it be possible to distribute signed tar files as well as deb packages?
This would ease some deployment options like docker.
When we have conference in progress and new participant joins the room Jicofo allocates Colibri channels and tries to establish Jingle session with new peer. In case of allocation failure Jicofo leaves the room and aborts whole conference(currently used JVB is considered faulty). Jitsi-meet will reload the page in order to have the conference restarted on new bridge, but the user will be confused and have no idea what's going on. This scenario must be improved.
When we work without any form of authentication moderator is granted to the first user who enters. When moderator leaves the role is passed to the next user. Currently it does not always work.
The "instructions" links under the "Download" section for stable, testing and nightly are all returning 404.
I need to use jitsi in my webapp, and the webapp was served on different server, if I call jitsi from the webapp, the http-bind return cross domain problem.
in real world, the Jicofo and client may served on multiple servers, Can we set the jicofo to support CORS as default? or anyone can tell me how to set the jicofo support cross domain?
Hello Everyone,
When I am trying start focus as background process it just dies with error on file descriptor.
12:32:07.197 FINE: [9] plugin.reconnectplugin.ReconnectPluginActivator.start().238 Found 0 already installed providers.
12:32:07.517 SEVERE: [20] org.jitsi.jicofo.Main.run().315 java.io.IOException: Bad file descriptor
java.io.IOException: Bad file descriptor
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:272)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at org.jitsi.jicofo.Main$2.run(Main.java:308)
at java.lang.Thread.run(Thread.java:745)
Off topic
I posting problem here, because my emails never got posted in dev mailing list. Not sure where the problem.
Here mail server log when I sent last email.
Dec 19 12:39:18 camailsrv01 smtp-skillsearch/smtp[1530]: E41AA427E1: to=<[email protected]>, relay=ASPMX.L.GOOGLE.COM[64.233.171.26]:25, delay=1.7, delays=0.01/0.02/0.78/0.85, dsn=2.0.0, status=sent (250 2.0.0 OK 1419010758 t5si12390172qak.118 - gsmtp)
I've just retrieved the newest jitsi meet by git and have installed jicofo (Redhat) since it seems to be required. The build using 'ant' was successfull.
I've followed the steps in the howto and it seems to work; when I join the channel, I become a moderator. However, the video stream doesn't work. Jicofo was started with the following parameters:
./jicofo.sh --host=localhost --domain=bl17-15-test.xxxxxxxx.be --port=5447 --secret=qgN2Nau4jA9REbSMf9z2 --user_domain=auth.bl17-15-test.xxxxxxxx.be --user_name=focus --user_password=blabla
Note: port 5447 is the component_port in my prosody.
It appears that there are a lot of 'Failed to connect' errors.
16:05:32.566 FINE: [9] plugin.reconnectplugin.ReconnectPluginActivator.start().238 Found 0 already installed providers. 16:05:33.124 SEVERE: [22] org.jivesoftware.smack.PacketReader.notifyConnectionError() Closes the connection temporary stream:error (text) at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:264) at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:45) at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:74) 16:05:36.984 INFO: [25] org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet().222 Focus request for room: [email protected] 16:05:36.993 INFO: [25] org.jitsi.jicofo.FocusManager.createConference().230 Created new focus for [email protected]@auth.bl17-15-test.xxxxxxxx.be conferences count: 1 options: channelLastN: -1 adaptiveLastN: false adaptiveSimulcast: false bridge: jitsi-videobridge.bl17-15-test.xxxxxxxx.be enableFirefoxHacks: false openSctp: true 16:05:37.153 SEVERE: [28] org.jivesoftware.smack.PacketReader.notifyConnectionError() Closes the connection temporary stream:error (text) at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:264) at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:45) at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:74) 16:05:52.891 INFO: [18] org.jitsi.jicofo.FocusManager.expireLoop().458 Focus idle timeout for [email protected] 16:05:52.891 INFO: [18] org.jitsi.impl.protocol.xmpp.OperationSetColibriConferenceImpl.expireConference().334 Nothing to expire - no conference allocated yet 16:05:52.891 SEVERE: [18] org.jitsi.jicofo.JitsiMeetConference.leaveTheRoom().360 Chat room already left! 16:05:52.987 SEVERE: [19] org.jitsi.jicofo.util.RegisterThread.run().42 net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:161) at org.jitsi.jicofo.util.RegisterThread.run(RegisterThread.java:38) Caused by: No response from the server.: at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:73) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:217) at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:156) ... 1 more 16:05:57.002 SEVERE: [26] org.jitsi.jicofo.util.RegisterThread.run().42 net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:161) at org.jitsi.jicofo.util.RegisterThread.run(RegisterThread.java:38) Caused by: No response from the server.: at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:73) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:217) at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:156) ... 1 more 16:05:57.153 INFO: [18] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.info() XMPP provider Jabber:[email protected]/focus8924008725472057@localhost disconnected 16:05:57.155 INFO: [18] org.jitsi.jicofo.FocusManager.conferenceEnded().252 Disposed conference for room: [email protected] conference count: 0 16:09:10.815 INFO: [34] org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet().222 Focus request for room: [email protected] 16:09:10.815 INFO: [34] org.jitsi.jicofo.FocusManager.createConference().230 Created new focus for [email protected]@auth.bl17-15-test.xxxxxxxx.be conferences count: 1 options: channelLastN: -1 adaptiveLastN: false adaptiveSimulcast: false bridge: jitsi-videobridge.bl17-15-test.xxxxxxxx.be enableFirefoxHacks: false openSctp: true 16:09:10.976 SEVERE: [37] org.jivesoftware.smack.PacketReader.notifyConnectionError() Closes the connection temporary stream:error (text) at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:264) at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:45) at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:74) 16:09:27.162 INFO: [18] org.jitsi.jicofo.FocusManager.expireLoop().458 Focus idle timeout for [email protected] 16:09:27.163 INFO: [18] org.jitsi.impl.protocol.xmpp.OperationSetColibriConferenceImpl.expireConference().334 Nothing to expire - no conference allocated yet 16:09:27.163 SEVERE: [18] org.jitsi.jicofo.JitsiMeetConference.leaveTheRoom().360 Chat room already left! 16:09:30.820 SEVERE: [35] org.jitsi.jicofo.util.RegisterThread.run().42 net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect net.java.sip.communicator.service.protocol.OperationFailedException: Failed to connect at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:161) at org.jitsi.jicofo.util.RegisterThread.run(RegisterThread.java:38) Caused by: No response from the server.: at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:73) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:217) at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.register(XmppProtocolProvider.java:156) ... 1 more 16:09:30.970 INFO: [18] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.info() XMPP provider Jabber:[email protected]/focus8924222548382055@localhost disconnected 16:09:30.971 INFO: [18] org.jitsi.jicofo.FocusManager.conferenceEnded().252 Disposed conference for room: [email protected] conference count: 0
Hello, guys.
Is there any way to modify singleBridgeSelector to relay participants (single room) between multiple bridges? It will be very cool thing. Please, give me the right way, @bgrozev ?
I'm unable to connect as jitsi-meet says "focus.xxx.… is not available, trying again in 2 szconds".
The jifoco log file shows the following trace:
Jicofo 2016-09-19 14:06:06.503 SEVERE: [149] org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet().340 java.lang.NullPointerException
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988)
at org.jitsi.jicofo.auth.AbstractAuthAuthority.getSession(AbstractAuthAuthority.java:290)
at org.jitsi.jicofo.auth.XMPPDomainAuthAuthority.processAuthLocked(XMPPDomainAuthAuthority.java:86)
at org.jitsi.jicofo.auth.AbstractAuthAuthority.processAuthentication(AbstractAuthAuthority.java:415)
at org.jitsi.jicofo.xmpp.FocusComponent.processExtensions(FocusComponent.java:368)
at org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq(FocusComponent.java:429)
at org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet(FocusComponent.java:274)
at org.xmpp.component.AbstractComponent.processIQRequest(AbstractComponent.java:515)
at org.xmpp.component.AbstractComponent.processIQ(AbstractComponent.java:289)
at org.xmpp.component.AbstractComponent.processQueuedPacket(AbstractComponent.java:239)
at org.xmpp.component.AbstractComponent.access$100(AbstractComponent.java:81)
at org.xmpp.component.AbstractComponent$PacketProcessor.run(AbstractComponent.java:1051)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Jicofo 2016-09-19 14:06:06.504 WARNING: [149] org.jitsi.jicofo.xmpp.FocusComponent.processIQ() (serving component 'Jitsi Meet Focus') Unexpected exception while processing IQ stanza: <iq type="set" to="focus.example.fr" from="[email protected]/39f81d04-a9e4-44ab-b8cf-3887e0c2c2c7" id="688bafe0-87d2-4280-91f6-e7faf367573c:sendIQ"><conference xmlns="http://jitsi.org/protocol/focus" room="[email protected]" machine-uid="2363a378543129e36b01bf050861ec3b"><property value="-1" name="channelLastN"/><property value="false" name="adaptiveLastN"/><property value="true" name="disableRtx"/><property value="true" name="enableLipSync"/><property value="true" name="openSctp"/><property value="rewriting" name="simulcastMode"/></conference></iq>
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:333)
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:988)
at org.jitsi.jicofo.auth.AbstractAuthAuthority.getSession(AbstractAuthAuthority.java:290)
at org.jitsi.jicofo.auth.XMPPDomainAuthAuthority.processAuthLocked(XMPPDomainAuthAuthority.java:86)
at org.jitsi.jicofo.auth.AbstractAuthAuthority.processAuthentication(AbstractAuthAuthority.java:415)
at org.jitsi.jicofo.xmpp.FocusComponent.processExtensions(FocusComponent.java:368)
at org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq(FocusComponent.java:429)
at org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet(FocusComponent.java:274)
at org.xmpp.component.AbstractComponent.processIQRequest(AbstractComponent.java:515)
at org.xmpp.component.AbstractComponent.processIQ(AbstractComponent.java:289)
at org.xmpp.component.AbstractComponent.processQueuedPacket(AbstractComponent.java:239)
at org.xmpp.component.AbstractComponent.access$100(AbstractComponent.java:81)
at org.xmpp.component.AbstractComponent$PacketProcessor.run(AbstractComponent.java:1051)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Recently I noticed that h264 conferences don't work in Google Chrome. It seems this issue has been known for a while and is caused by a case sensitivity issue with Chrome.
Steps to reproduce:
preferH264: true
I'm happy to contribute a fix for this myself, but I'm not sure where Constants.H264 is defined. I'm very new to Java.
EDIT: I found it in jitsi/libjitsi /src/org/jitsi/service/neomedia/codec/Constants.java. Maybe this issue should be against that project instead?
Installed on the installation: https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md
I made the following instructions: https://github.com/jitsi/jicofo#secure-domain
After that, I have a message when I try to create a room:
"Oops! Something went wrong and we could not connect to the conference: connection.otherError"
And in the log (/var/log/jitsi/jicofo.log) is empty (It is not empty, but there will not appear during this time of recording.)
Here is my config (where x.x.x.x = ip adress (I do not have a domain))
/etc/prosody/conf.avail/x.x.x.x.cfg.lua https://pastebin.com/Bq0mYsF0
/etc/jitsi/meet/x.x.x.x-config.js (Excerpt) https://pastebin.com/0sD03J3U
/etc/jitsi/jicofo/sip-communicator.properties https://pastebin.com/DL3xzaXg
Tell me I'm doing this wrong, or I have to do something else?
When does jicofo send first IQ packet to videobridge ?
Hi,
Yesterday my JVB had an error (too many open file descriptors, which I will investigate), after which Jicofo stopped any communication with it, as per these logs:
Jicofo 2017-01-27 18:41:58.015 AVERTISSEMENT: [98] org.jitsi.jicofo.JvbDoctor.log() Health check failed on: videobridge.jabberfr.org error: <error code="500" type="WAIT"><internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><
text xml:lang="en" xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Failed to acquire DatagramSocket specific to STUN communication</text></error>
Jicofo 2017-01-27 18:41:58.015 INFOS: [38] org.jitsi.jicofo.BridgeSelector.removeJvbAddress().192 Removing JVB: videobridge.jabberfr.org
Jicofo 2017-01-27 18:41:58.016 INFOS: [38] org.jitsi.jicofo.JvbDoctor.log() Stopping health-check task for: videobridge.jabberfr.org
I also noticed that if I restart JVB without then restarting Jicofo, it will also remove this component and then do absolutely nothing.
Retrying after a few seconds (or exponentially and capped) would be a nice improvement to prevent that kind of issue from taking down the service.
Jicofo 2017-09-21 14:50:18.742 SEVERE: [10] org.jitsi.jicofo.BridgeSelector.createBridgeSelectionStrategy().206 Failed to instantiate org.jitsi.jicofo.BridgeSelector$SingleBridgeSelectionStrategy. Falling back to SingleBridgeSelectionStrategy.
media_focus.1.55249q6eaf1t@proficonf5 | java.lang.IllegalAccessException: Class org.jitsi.jicofo.BridgeSelector can not access a member of class org.jitsi.jicofo.BridgeSelector$SingleBridgeSelectionStrategy with modifiers "private"
media_focus.1.55249q6eaf1t@proficonf5 | at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:110)
media_focus.1.55249q6eaf1t@proficonf5 | at java.lang.Class.newInstance(Class.java:377)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.jicofo.BridgeSelector.createBridgeSelectionStrategy(BridgeSelector.java:202)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.jicofo.BridgeSelector.<init>(BridgeSelector.java:167)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.jicofo.JitsiMeetServices.<init>(JitsiMeetServices.java:190)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.jicofo.FocusManager.start(FocusManager.java:220)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.jicofo.FocusBundleActivator.start(FocusBundleActivator.java:113)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:293)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:460)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:126)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:111)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:17)
media_focus.1.55249q6eaf1t@proficonf5 | at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:220)
media_focus.1.55249q6eaf1t@proficonf5 | Jicofo 2017-09-21 14:50:18.743 INFO: [10] org.jitsi.jicofo.BridgeSelector.<init>().169 Using org.jitsi.jicofo.BridgeSelector$SingleBridgeSelectionStrategy
I use jicofo in jitsi-meet.But I get error bellow an random when the service is up and running on
idle for a few days.After run the command of "/etc/init.d/jicofo restart" it working order again :
Jicofo 2017-02-13 16:40:05.754 WARNING: [96] org.jitsi.jicofo.JvbDoctor.log() Health check failed on: jitsi-videobridge.129.1.5.161 error: java.net.SocketException: Too many open files (Error creating socket)
Jicofo 2017-02-13 16:40:05.756 INFO: [55] org.jitsi.jicofo.BridgeSelector.removeJvbAddress().192 Removing JVB: jitsi-videobridge.129.1.5.161
Jicofo 2017-02-13 16:40:05.756 INFO: [55] org.jitsi.jicofo.JvbDoctor.log() Stopping health-check task for: jitsi-videobridge.129.1.5.161
When start a jitsi meeting it fails and get exception bellow:
Jicofo 2017-02-14 08:14:41.574 SEVERE: [91] org.jitsi.jicofo.ChannelAllocator.log() Failed to allocate channels for [email protected]/e7040df2
net.java.sip.communicator.service.protocol.OperationFailedException: Failed to allocate channels - no bridge configured
at org.jitsi.jicofo.ChannelAllocator.allocateChannels(ChannelAllocator.java:372)
at org.jitsi.jicofo.ChannelAllocator.createOffer(ChannelAllocator.java:307)
at org.jitsi.jicofo.ChannelAllocator.discoverFeaturesAndInvite(ChannelAllocator.java:166)
at org.jitsi.jicofo.ChannelAllocator.run(ChannelAllocator.java:135)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2015-08-25 14:00:48.331 SEVERE: [25] org.jitsi.jicofo.ChatRoomRoleAndPresence.verifyFocusRole().299 Focus must be an owner!
2015-08-25 14:00:48.339 INFO: [43] org.jitsi.jicofo.FocusManager.createConference().312 Exception while trying to start the conference
net.java.sip.communicator.service.protocol.OperationFailedException: Failed to join the room
at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.joinAs(ChatRoomImpl.java:235)
at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.join(ChatRoomImpl.java:156)
at org.jitsi.jicofo.JitsiMeetConference.joinTheRoom(JitsiMeetConference.java:308)
at org.jitsi.jicofo.JitsiMeetConference.start(JitsiMeetConference.java:277)
at org.jitsi.jicofo.FocusManager.createConference(FocusManager.java:308)
at org.jitsi.jicofo.FocusManager.conferenceRequest(FocusManager.java:244)
at org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq(FocusComponent.java:412)
at org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet(FocusComponent.java:248)
at org.xmpp.component.AbstractComponent.processIQRequest(AbstractComponent.java:515)
at org.xmpp.component.AbstractComponent.processIQ(AbstractComponent.java:289)
at org.xmpp.component.AbstractComponent.processQueuedPacket(AbstractComponent.java:239)
at org.xmpp.component.AbstractComponent.access$100(AbstractComponent.java:81)
at org.xmpp.component.AbstractComponent$PacketProcessor.run(AbstractComponent.java:1051)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: forbidden(-1) Only owners can configure rooms
at org.jivesoftware.smackx.muc.MultiUserChat.getConfigurationForm(MultiUserChat.java:577)
at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.joinAs(ChatRoomImpl.java:193)
... 15 more
Hi, I want to use jitsi-videobridge to develop my application. And I think jicofo is a great focus.
I'm currently learning how to comunicate with jicofo by reading the source code of jitsi-meet.
But I want some document. Is there something like that?
From meet.jit.si heapdump it seems that JitsiMeetConference instances are leaking here. No exceptions in the logs, although part of them is missing due to disk being full in the meantime.
Please provide us with ready-solution for jifoco repository like existed for jitsi-videobridge:
https://download.jitsi.org/jitsi-videobridge
Should be useful to auto allocate bulds to e.g:
https://download.jitsi.org/jicofo
Thanks
We detected deadlock on beta. We were unable to create conferences till jicofo was restarted.
"pool-4-thread-17":
at org.jitsi.jicofo.FocusManager.conferenceRequest(FocusManager.java:236)
- waiting to lock <0x0000000775bc70d0> (a org.jitsi.jicofo.FocusManager)
at org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq(FocusComponent.java:400)
at org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet(FocusComponent.java:246)
at org.xmpp.component.AbstractComponent.processIQRequest(AbstractComponent.java:515)
at org.xmpp.component.AbstractComponent.processIQ(AbstractComponent.java:289)
at org.xmpp.component.AbstractComponent.processQueuedPacket(AbstractComponent.java:239)
at org.xmpp.component.AbstractComponent.access$100(AbstractComponent.java:81)
at org.xmpp.component.AbstractComponent$PacketProcessor.run(AbstractComponent.java:1051)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"pool-4-thread-4":
at org.jitsi.jicofo.JitsiMeetConference.stop(JitsiMeetConference.java:1222)
- waiting to lock <0x0000000775fae078> (a org.jitsi.jicofo.JitsiMeetConference)
at org.jitsi.jicofo.FocusManager.createConference(FocusManager.java:302)
at org.jitsi.jicofo.FocusManager.conferenceRequest(FocusManager.java:244)
- locked <0x0000000775bc70d0> (a org.jitsi.jicofo.FocusManager)
at org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq(FocusComponent.java:400)
at org.jitsi.jicofo.xmpp.FocusComponent.handleIQSet(FocusComponent.java:246)
at org.xmpp.component.AbstractComponent.processIQRequest(AbstractComponent.java:515)
at org.xmpp.component.AbstractComponent.processIQ(AbstractComponent.java:289)
at org.xmpp.component.AbstractComponent.processQueuedPacket(AbstractComponent.java:239)
at org.xmpp.component.AbstractComponent.access$100(AbstractComponent.java:81)
at org.xmpp.component.AbstractComponent$PacketProcessor.run(AbstractComponent.java:1051)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Smack Listener Processor (0)":
at org.jitsi.jicofo.FocusManager.conferenceEnded(FocusManager.java:333)
- waiting to lock <0x0000000775bc70d0> (a org.jitsi.jicofo.FocusManager)
at org.jitsi.jicofo.JitsiMeetConference.stop(JitsiMeetConference.java:1242)
- locked <0x0000000775fae078> (a org.jitsi.jicofo.JitsiMeetConference)
at org.jitsi.jicofo.ChatRoomRoleAndPresence.verifyFocusRole(ChatRoomRoleAndPresence.java:296)
at org.jitsi.jicofo.ChatRoomRoleAndPresence.localUserRoleChanged(ChatRoomRoleAndPresence.java:313)
at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.fireLocalUserRoleEvent(ChatRoomImpl.java:401)
at org.jitsi.impl.protocol.xmpp.ChatRoomImpl.setLocalUserRole(ChatRoomImpl.java:412)
at org.jitsi.impl.protocol.xmpp.ChatRoomImpl$ParticipantListener.processOwnPresence(ChatRoomImpl.java:1159)
at org.jitsi.impl.protocol.xmpp.ChatRoomImpl$ParticipantListener.processPacket(ChatRoomImpl.java:1116)
at org.jivesoftware.smack.Connection$ListenerWrapper.notifyListener(Connection.java:819)
at org.jivesoftware.smack.PacketReader$ListenerNotification.run(PacketReader.java:457)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Found 1 deadlock.
I would like to know if it's possible for jicofo to maintain a single Jingle connection for all conference rooms and participants to a localhost server
The way my app is architected, the clients send their SDP through a secure websocket channel and the app then sends this SDP to a custom MCU which then returns an SDP which the app broadcasts out to all intended receivers. Then the receivers proceed to stream directly from the MCU over DTLS-SRTP.
My tests with Jitsi Videobridge in Jitsi Meet have shown greater stability and quality than our in-house MCU and therefore, I'd like to try to integrate it into the app.
Thanks
Here is the stack trace:
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:459)
at java.util.Properties.setProperty(Properties.java:166)
at java.lang.System.setProperty(System.java:796)
at org.jitsi.jicofo.Main.main(Main.java:166)
We are interested in retrieving the state information of Jicofo, that is, which conferences are running and who are participating (and how long). Currently, we are trying to use the reservation system to tackle this issue by at least registering reservations, i.e. conference creations and destructions, but this is not ideal (since it works in the other direction).
Since the JVB also has a REST API (Colibri) on a lower layer, would it not be useful to have a REST API on the Jicofo level as well?
when i run "./jicofo-linux-x64-1.0-SNAPSHOT/jicofo.sh --domain=2.61.25.227 --secret=jicofo_password --user_domain=auth.182.61.25.227 --user_name=focus --user_password=auth_password"
Jicofo 2016-04-29 16:26:43.058 SEVERE: [30] org.jitsi.meet.ComponentMain.call().278 java.net.ConnectException: Connection refused, host:xx.xxx.xx.xx, port:5347
org.xmpp.component.ComponentException: java.net.ConnectException: Connection refused
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:272)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:221)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:201)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:270)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:255)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:151)
... 12 more
Jicofo 2016-04-29 16:26:43.913 INFO: [15] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.info() XMPP reconnection successful
Jicofo 2016-04-29 16:26:43.913 SEVERE: [15] org.jitsi.jicofo.ProtocolProviderHandler.registrationStateChanged().142 null
java.lang.NullPointerException
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.discoverItems(XmppProtocolProvider.java:499)
at org.jitsi.impl.protocol.xmpp.OpSetSimpleCapsImpl.getItems(OpSetSimpleCapsImpl.java:53)
at org.jitsi.jicofo.ComponentsDiscovery.discoverServices(ComponentsDiscovery.java:238)
at org.jitsi.jicofo.ComponentsDiscovery.firstTimeDiscovery(ComponentsDiscovery.java:308)
at org.jitsi.jicofo.ComponentsDiscovery.registrationStateChanged(ComponentsDiscovery.java:343)
at org.jitsi.jicofo.ProtocolProviderHandler.registrationStateChanged(ProtocolProviderHandler.java:138)
at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:187)
at net.java.sip.communicator.service.protocol.AbstractProtocolProviderService.fireRegistrationStateChanged(AbstractProtocolProviderService.java:141)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.notifyConnected(XmppProtocolProvider.java:265)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.access$300(XmppProtocolProvider.java:49)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$XmppConnectionListener.reconnectionSuccessful(XmppProtocolProvider.java:580)
at org.jivesoftware.smack.PacketReader.notifyReconnection(PacketReader.java:193)
at org.jivesoftware.smack.XMPPConnection.initConnection(XMPPConnection.java:589)
at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:532)
at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:968)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.doConnect(XmppProtocolProvider.java:220)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.access$000(XmppProtocolProvider.java:49)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:201)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:196)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Jicofo 2016-04-29 16:26:43.916 INFO: [15] org.jitsi.jicofo.FocusManager.registrationStateChanged().531 XMPP provider reg state: RegistrationState=Registered
Jicofo 2016-04-29 16:26:43.925 SEVERE: [15] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.error() Failed to connect: SASL authentication DIGEST-MD5 failed: text
SASL authentication DIGEST-MD5 failed: text:
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:341)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:208)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.doConnect(XmppProtocolProvider.java:233)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.access$000(XmppProtocolProvider.java:49)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:201)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:196)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Jicofo 2016-04-29 16:26:48.031 SEVERE: [29] org.jitsi.xmpp.component.ComponentBase.run().370 Failed to send ping
java.lang.NullPointerException
at org.xmpp.component.AbstractComponent.send(AbstractComponent.java:925)
at org.jitsi.xmpp.component.ComponentBase.access$400(ComponentBase.java:34)
at org.jitsi.xmpp.component.ComponentBase$PingTask.run(ComponentBase.java:358)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Jicofo 2016-04-29 16:26:48.062 SEVERE: [30] org.jitsi.meet.ComponentMain.call().278 java.net.ConnectException: Connection refused, host:xx.xxx.xx.xx, port:5347
org.xmpp.component.ComponentException: java.net.ConnectException: Connection refused
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:272)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:221)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:201)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:270)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:255)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:151)
... 12 more
Jicofo 2016-04-29 16:26:49.020 INFO: [39] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.info() XMPP reconnection successful
Jicofo 2016-04-29 16:26:49.021 SEVERE: [39] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.error() Failed to connect: SASL authentication DIGEST-MD5 failed: text
SASL authentication DIGEST-MD5 failed: text:
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:341)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:208)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.doConnect(XmppProtocolProvider.java:233)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.access$000(XmppProtocolProvider.java:49)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:201)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:196)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Jicofo 2016-04-29 16:26:53.066 SEVERE: [30] org.jitsi.meet.ComponentMain.call().278 java.net.ConnectException: Connection refused, host:xx.xxx.xx.xx, port:5347
org.xmpp.component.ComponentException: java.net.ConnectException: Connection refused
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:272)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:221)
at org.jivesoftware.whack.ExternalComponentManager.addComponent(ExternalComponentManager.java:201)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:270)
at org.jitsi.meet.ComponentMain$3.call(ComponentMain.java:255)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.jivesoftware.whack.ExternalComponent.connect(ExternalComponent.java:151)
... 12 more
Jicofo 2016-04-29 16:26:54.125 INFO: [34] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.info() XMPP reconnection successful
Jicofo 2016-04-29 16:26:54.125 SEVERE: [34] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.error() Failed to connect: SASL authentication DIGEST-MD5 failed: text
SASL authentication DIGEST-MD5 failed: text:
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:341)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:208)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.doConnect(XmppProtocolProvider.java:233)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.access$000(XmppProtocolProvider.java:49)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:201)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider$1.call(XmppProtocolProvider.java:196)
at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:193)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Jicofo 2016-04-29 16:26:54.136 SEVERE: [46] org.jivesoftware.smack.PacketWriter.writePackets() Error writing packet
java.io.IOException: Stream closed
at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:116)
at java.io.BufferedWriter.write(BufferedWriter.java:221)
at java.io.Writer.write(Writer.java:157)
at org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:210)
at org.jivesoftware.smack.PacketWriter.access$000(PacketWriter.java:42)
at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:80)
Jicofo 2016-04-29 16:26:54.136 SEVERE: [56] org.jivesoftware.smack.PacketWriter.writePackets() Error writing packet
java.io.IOException: Stream closed
at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:116)
at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:126)
at java.io.BufferedWriter.flush(BufferedWriter.java:253)
at org.jivesoftware.smack.PacketWriter.writePackets(PacketWriter.java:212)
at org.jivesoftware.smack.PacketWriter.access$000(PacketWriter.java:42)
at org.jivesoftware.smack.PacketWriter$1.run(PacketWriter.java:80)
Jicofo 2016-04-29 16:26:54.285 SEVERE: [57] org.jivesoftware.smack.PacketReader.notifyConnectionError() Closes the connection temporary
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
at sun.security.ssl.InputRecord.read(InputRecord.java:480)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:891)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.read1(BufferedReader.java:205)
at java.io.BufferedReader.read(BufferedReader.java:279)
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2992)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:329)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:45)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:74)
Jicofo 2016-04-29 16:26:54.287 SEVERE: [57] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.error() XMPP connection closed on error: Socket closed
Jicofo 2016-04-29 16:26:54.287 INFO: [57] org.jitsi.jicofo.FocusManager.registrationStateChanged().531 XMPP provider reg state: RegistrationState=Unregistered
After focus successfully allocated in the conference room and all participants connected to the jitsi meet conference in the log I see :
INFO: [38] org.jitsi.jicofo.ChatRoomRoleAndPresence.memberPresenceChanged().123 Chat room event ChatRoomMemberPresenceChangeEvent[type=MemberJoined sourceRoom=org.jitsi.impl.protocol.xmpp.ChatRoomImpl@65e4122f member=org.jitsi.impl.protocol.xmpp.ChatMemberImpl@484d7bbe]
INFO: [38] org.jitsi.jicofo.JitsiMeetConference.onMemberJoined().383 Member [email protected]/14c51793475 joined.
INFO: [38] org.jitsi.jicofo.JitsiMeetConference.inviteChatMember().432 Added participant for: [email protected]/14c51793475
SEVERE: [45] org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.error() No response from the server.:
No response from the server.:
at org.jivesoftware.smackx.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryManager.java:445)
at net.java.sip.communicator.impl.protocol.jabber.ScServiceDiscoveryManager.discoverInfo(ScServiceDiscoveryManager.java:569)
at net.java.sip.communicator.impl.protocol.jabber.ScServiceDiscoveryManager.discoverInfo(ScServiceDiscoveryManager.java:494)
at org.jitsi.impl.protocol.xmpp.XmppProtocolProvider.getEntityFeatures(XmppProtocolProvider.java:425)
at org.jitsi.impl.protocol.xmpp.OpSetSimpleCapsImpl.getFeatures(OpSetSimpleCapsImpl.java:60)
at org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures(DiscoveryUtil.java:82)
at org.jitsi.jicofo.JitsiMeetConference.discoverFeaturesAndInvite(JitsiMeetConference.java:462)
at org.jitsi.jicofo.JitsiMeetConference.access$000(JitsiMeetConference.java:42)
at org.jitsi.jicofo.JitsiMeetConference$1.run(JitsiMeetConference.java:447)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
SEVERE: [45] org.jitsi.jicofo.util.DiscoveryUtil.discoverParticipantFeatures().85 Failed to discover features for [email protected]/14c51793475 assuming default feature set.
as result Jicofo don't get rtcp-mux feature and ssltcp candidates can't be generated. This happens only when Jicofo as component connected to openfire, with prosody works as expecped.
p.s.
Was applied hack in src/org/jitsi/jicofo/util/DiscoveryUtil.java
static public List getDefaultParticipantFeatureSet()
.....
features.add(FEATURE_SCTP);
//
features.add(FEATURE_RTCP_MUX);
features.add(FEATURE_RTP_BUNDLE);
// return features;
and now ssltcp candidates generated, but jigasi won't work in this case
Any suggestions to get focus discover features
Please help me with this. I try with many ways but i can't. How is the correct set up of jicofo? Last time when i install jitsi meet i don't had this problem, i don't know happens now.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.