Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate SIP video in Jitsi Meet #23

Closed
heutger opened this issue Jan 8, 2016 · 6 comments
Closed

Integrate SIP video in Jitsi Meet #23

heutger opened this issue Jan 8, 2016 · 6 comments

Comments

@heutger
Copy link

heutger commented Jan 8, 2016

Is it possible to join a jitsi meeting via SIP not only with audio but also video? Some SIP providers like getonsip, sip2sip, linphone support SIP video, also there are some SIP video implementations via WebRTC, so I wonder, why jitsi meet only supports audio, or is there something to be configured?

@damencho
Copy link
Member

damencho commented Jan 8, 2016

Answered on the mailinglist.

@damencho damencho closed this as completed Jan 8, 2016
@sunshuvo
Copy link

Dear Heutger,
I also need the same badly. Did you find any way to get SIP Video?
Thank you,

damencho added a commit that referenced this issue Apr 13, 2020
"org.jitsi.impl.osgi.framework.AsyncExecutor" #14 daemon prio=5 os_prio=31 tid=0x00007ffe34c30000 nid=0xa703 in Object.wait() [0x000070000913c000]
   java.lang.Thread.State: RUNNABLE
	at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)
	at org.jivesoftware.smack.provider.ProviderManager.<clinit>(ProviderManager.java:122)
	at org.jitsi.xmpp.extensions.jitsimeet.MediaPresenceExtension.registerExtensions(MediaPresenceExtension.java:59)
	at org.jitsi.jigasi.JigasiBundleActivator.serviceChanged(JigasiBundleActivator.java:284)
	at org.jitsi.impl.osgi.framework.launch.EventDispatcher$Command.run(EventDispatcher.java:128)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
	at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)

"org.jitsi.impl.osgi.framework.AsyncExecutor" #13 daemon prio=5 os_prio=31 tid=0x00007ffe339a4800 nid=0xa803 in Object.wait() [0x0000700009038000]
   java.lang.Thread.State: RUNNABLE
	at org.jivesoftware.smack.initializer.UrlInitializer.initialize(UrlInitializer.java:54)
	at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:237)
	at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:198)
	at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:168)
	at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:153)
	at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:119)
	at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)
	at org.jivesoftware.smack.AbstractXMPPConnection.<clinit>(AbstractXMPPConnection.java:109)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator.<clinit>(CallControlMucActivator.java:83)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:305)
	at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
	at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
	at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)

"AccountManager.loadStoredAccounts" #23 daemon prio=5 os_prio=31 tid=0x00007ffe33a8d800 nid=0x29107 in Object.wait() [0x0000700009d6d000]
   java.lang.Thread.State: RUNNABLE
	at org.jitsi.xmpp.extensions.jingle.JingleIQProvider.<init>(JingleIQProvider.java:44)
	at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initialize(ProtocolProviderServiceJabberImpl.java:1800)
	- locked <0x00000006c002e0d8> (a java.lang.Object)
	at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderFactoryJabberImpl.createService(ProtocolProviderFactoryJabberImpl.java:173)
	at net.java.sip.communicator.service.protocol.ProtocolProviderFactory.loadAccount(ProtocolProviderFactory.java:1010)
	at net.java.sip.communicator.service.protocol.AccountManager.doLoadStoredAccounts(AccountManager.java:218)
	at net.java.sip.communicator.service.protocol.AccountManager.loadStoredAccounts(AccountManager.java:468)
	at net.java.sip.communicator.service.protocol.AccountManager.runInLoadStoredAccountsThread(AccountManager.java:585)
	at net.java.sip.communicator.service.protocol.AccountManager.access$100(AccountManager.java:37)
	at net.java.sip.communicator.service.protocol.AccountManager$2.run(AccountManager.java:510)
damencho added a commit that referenced this issue Apr 14, 2020
* fix: NPE when sip participants is leaving the call.

SEVERE: [108354] org.jitsi.jigasi.util.Util.lambda$injectSoundFile$0().295 Error playing:sounds/ParticipantLeft.opus
org.jitsi.service.neomedia.TransmissionFailedException: java.lang.NullPointerException
	at org.jitsi.impl.neomedia.MediaStreamImpl.injectPacket(MediaStreamImpl.java:3775)
	at org.jitsi.jigasi.SoundNotificationManager.injectSoundFileInStream(SoundNotificationManager.java:349)
	at org.jitsi.jigasi.SoundNotificationManager.lambda$injectSoundFile$0(SoundNotificationManager.java:290)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
	at org.jitsi.impl.neomedia.MediaStreamImpl.injectPacket(MediaStreamImpl.java:3767)
	... 3 more

* fix: Uses private method to get connection.

* fix: Muting jigasi participants and handling start muted.

* fix: Lock when initializing providers.

"org.jitsi.impl.osgi.framework.AsyncExecutor" #14 daemon prio=5 os_prio=31 tid=0x00007ffe34c30000 nid=0xa703 in Object.wait() [0x000070000913c000]
   java.lang.Thread.State: RUNNABLE
	at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)
	at org.jivesoftware.smack.provider.ProviderManager.<clinit>(ProviderManager.java:122)
	at org.jitsi.xmpp.extensions.jitsimeet.MediaPresenceExtension.registerExtensions(MediaPresenceExtension.java:59)
	at org.jitsi.jigasi.JigasiBundleActivator.serviceChanged(JigasiBundleActivator.java:284)
	at org.jitsi.impl.osgi.framework.launch.EventDispatcher$Command.run(EventDispatcher.java:128)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
	at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)

"org.jitsi.impl.osgi.framework.AsyncExecutor" #13 daemon prio=5 os_prio=31 tid=0x00007ffe339a4800 nid=0xa803 in Object.wait() [0x0000700009038000]
   java.lang.Thread.State: RUNNABLE
	at org.jivesoftware.smack.initializer.UrlInitializer.initialize(UrlInitializer.java:54)
	at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:237)
	at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:198)
	at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:168)
	at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:153)
	at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:119)
	at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)
	at org.jivesoftware.smack.AbstractXMPPConnection.<clinit>(AbstractXMPPConnection.java:109)
	at org.jitsi.jigasi.xmpp.CallControlMucActivator.<clinit>(CallControlMucActivator.java:83)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.Class.newInstance(Class.java:442)
	at org.jitsi.impl.osgi.framework.BundleImpl.start(BundleImpl.java:305)
	at org.jitsi.impl.osgi.framework.launch.FrameworkImpl.startLevelChanged(FrameworkImpl.java:472)
	at org.jitsi.impl.osgi.framework.startlevel.FrameworkStartLevelImpl$Command.run(FrameworkStartLevelImpl.java:137)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.runInThread(AsyncExecutor.java:122)
	at org.jitsi.impl.osgi.framework.AsyncExecutor.access$000(AsyncExecutor.java:28)
	at org.jitsi.impl.osgi.framework.AsyncExecutor$1.run(AsyncExecutor.java:231)

"AccountManager.loadStoredAccounts" #23 daemon prio=5 os_prio=31 tid=0x00007ffe33a8d800 nid=0x29107 in Object.wait() [0x0000700009d6d000]
   java.lang.Thread.State: RUNNABLE
	at org.jitsi.xmpp.extensions.jingle.JingleIQProvider.<init>(JingleIQProvider.java:44)
	at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderServiceJabberImpl.initialize(ProtocolProviderServiceJabberImpl.java:1800)
	- locked <0x00000006c002e0d8> (a java.lang.Object)
	at net.java.sip.communicator.impl.protocol.jabber.ProtocolProviderFactoryJabberImpl.createService(ProtocolProviderFactoryJabberImpl.java:173)
	at net.java.sip.communicator.service.protocol.ProtocolProviderFactory.loadAccount(ProtocolProviderFactory.java:1010)
	at net.java.sip.communicator.service.protocol.AccountManager.doLoadStoredAccounts(AccountManager.java:218)
	at net.java.sip.communicator.service.protocol.AccountManager.loadStoredAccounts(AccountManager.java:468)
	at net.java.sip.communicator.service.protocol.AccountManager.runInLoadStoredAccountsThread(AccountManager.java:585)
	at net.java.sip.communicator.service.protocol.AccountManager.access$100(AccountManager.java:37)
	at net.java.sip.communicator.service.protocol.AccountManager$2.run(AccountManager.java:510)

* ref: Simplifies code.

* fix: Sets JitsiMeetTools RequestListener when setting up sip call.

And removes it when call is ended.

* fix: Show correct presence status in meeting when remotely muted.

* fix: Sending SIP Info messages only on established call.
@joir7
Copy link

joir7 commented Dec 14, 2020

Respondido en la lista de correo.

Good afternoon
We can guide ourselves on how to allow video calls with sip accounts, for now we only manage to make the audio work.
Thank you very much in advance

@damencho
Copy link
Member

@joir7 Jigasi does not support video and will not support it. It is an audio only component used for dial-in and dial-out.
For sip video calling you can use Jibri.

@joir7
Copy link

joir7 commented Dec 14, 2020

@joir7 Jigasi does not support video and will not support it. It is an audio only component used for dial-in and dial-out.
For sip video calling you can use Jibri.

Thank you very much for answering :)
We are having a hard time finding information on how to configure jibri for sip calls, could you indicate an interesting link

by the way we are using the docker setup

@damencho
Copy link
Member

there is no good doc for it, there are multiple posts in the community forum search there. And there are people implementing it in the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants