Setup guide for SIP dial-in, conflicting info

Hello, I would like to know if someone has a working step-by-step guide to make SIP dial-in functional…

This part of Jitsi is one of the less documented and the steps outlined on the git-hub don’t help at all…
I couldn’t care less about the outgoing part of this, what I need is the dial-in to work… Most guides out there provide conflicting informations…

Also, do I need multiple lines? Will the dial-in feature know when a room is opened and connect to it?
How does it work when you have several rooms opened at once and need SIP functionality to automatically start when the room is opened ?

Regards,

By the way, I have secure domain configured and working on that server… I heard it might interfere in some ways

There is no such option.

No, the jigasi component just connects in the room and by default if there is no one will drop the call after some time, there is a timeout you can configure where it will allow the dial-in participant to wait for others to join.

Does it need a particular room or will it work in any room?
Can I have multiple rooms using SIP at the same time?
I am really confused about this feature… On the meet-jit.si server, it would seem that SIP call-in is always available… How is that possible?

Also, why doesn’t dpkg-reconfigure jigasi seem to register any change on my server? It seems to remember what I entered, but does not seem to change anything…

It will connect to the room from the header, yes one jigasi instance can serve multiple calls.

I’m not sure what do you mean. We have a deployment with jigasi instances serving meet.jit.si.

Reconfigure is not something that is widely tested so it is not recommended. You better purge it and install again … Or take a look at the configs and do your modifications in place.

1 Like

Are you available for hire for an hour or two to help us on that subject? I can’t seem to understand what I am doing with that module (and the jibri module as well!)

EDIT: SKIP THIS POST, I have abandoned the idea of building jitsi from de git repo as it seems to be incompatible with my server setup… I reverted to the apt install ways…

By the way, I had installed jigasi using the ubuntu apt manager…
I have uninstalled it and tried the way that is described in the git-hub documentation…
mvn install -Dassembly.skipAssembly=false
Gave me multiple error… I tried running the install with jdk8 with no more success…
here are the error results:

Running org.jitsi.jigasi.xmpp.rayo.DialIqProviderTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.jitsi.jigasi.xmpp.rayo.DialIqProviderTest
Running org.jitsi.jigasi.xmpp.rayo.RefIqProviderTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.jitsi.jigasi.xmpp.rayo.RefIqProviderTest

Results :

Tests in error: 
org.jitsi.jigasi.CallsHandlingTest.testDefaultJVbRoomProperty(org.jitsi.jigasi.CallsHandlingTest)
  Run 1: CallsHandlingTest.testDefaultJVbRoomProperty:410 expected:<net.java.sip.communicator.service.protocol.CallState:Ended> but was:<net.java.sip.communicator.service.protocol.CallState:In Progress>
  Run 2: CallsHandlingTest.tearDown:114 Runtime MockProtocolProvider(Jabber:012ded31@si...

  CallsHandlingTest.tearDown:114 Runtime MockProtocolProvider(Jabber:012ded31@si...
org.jitsi.jigasi.CallsHandlingTest.testMultipleTime(org.jitsi.jigasi.CallsHandlingTest)
  Run 1: CallsHandlingTest.testMultipleTime:240->tearDown:114 Runtime MockProtocolProvi...
  Run 2: CallsHandlingTest.tearDown:114 Runtime MockProtocolProvider(Jabber:012ded31@si...

org.jitsi.jigasi.CallsHandlingTest.testSimultaneousCalls(org.jitsi.jigasi.CallsHandlingTest)
  Run 1: CallsHandlingTest.testSimultaneousCalls:434 expected:<net.java.sip.communicator.service.protocol.CallState:In Progress> but was:<net.java.sip.communicator.service.protocol.CallState:Ended>
  Run 2: CallsHandlingTest.tearDown:114 Runtime MockProtocolProvider(Jabber:012ded31@si...


Tests run: 11, Failures: 0, Errors: 4, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  13.726 s
[INFO] Finished at: 2020-05-04T22:51:16-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project jigasi: There are test failures.
[ERROR] 
[ERROR] Please refer to /root/jigasi/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

I simply don’t understand what i am doing so far and I can’t self diagnose my problem… Setting up the Jitsi server and making it work was almost easy, but those addons are starting to kill me!

Okay, I made some progress… (reinstalled using apt)
If my “secret” in
/etc/jitsi/jigasi/sip-communicator.properties
and
/etc/jitsi/jigasi/config
are anything else but “topsecret” the code hangs from the beginning and can’t authenticate on loading the jigasi service <<< Q1, how do I make it work with another secret ?

Once secret are set to “topsecret” I’ve got the service working with a user for the SIP called glmjigasi created with prosodyctl.

Q2, below
Once I try to make a dial-out, the log gives me the following error:
SEVERE: [60] impl.protocol.jabber.ProtocolProviderFactoryJabberImpl.createService().169 glmjigasi.glm is not a valid JID
And it keeps pooping other errors related to that…
I tried using glmjigasi.[mydomain].com and glmjigasi.[auth.mydomain].com with no luck in the sip config file…

I will try to use the base64 password instead of the flat text one… but for now, this is where I am stuck!

Q1: there are two secrets one for the component (the callcontrol component that is created in prosody config https://github.com/jitsi/jigasi/blob/master/debian/postinst#L155)
And the other one is the one used to authenticate the sip user https://github.com/jitsi/jigasi/blob/master/debian/postinst#L148

Q2: Maybe share your sip-communicator.properties file

org.jitsi.jigasi.xmpp.acc.USER_ID=glmjigasi
Should be org.jitsi.jigasi.xmpp.acc.USER_ID=glmjigasi@yourauthdomain.com

You need the domain part where you created your user on prosody, normally it is auth.domain.com

1 Like

Probably you will need to add and org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true

1 Like

@damencho

Probably you will need to add and org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true

In that same file?

Also, should the pass be in plain text or in base64 encoded text?

@damencho
I added the ALLOW_NON_SECURE line and @auth.[mydomain.com] in the sip-communicator

Now, I can get further but I am now landing on an xmpp error:

[62] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin().1003 Failed to connect to XMPP service

Yes.

For org.jitsi.jigasi.xmpp.acc.PASS use plain text.

Is your xmpp server on the same machine?
As your config considers so: org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=127.0.0.1. Check whether prosody is listening on localhost netstat -anp | grep 5222.

Everything is in the same server and prosody seems to be listening to the right port:

tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN 5202/lua5.1
tcp 0 0 127.0.0.1:5222 127.0.0.1:48818 ESTABLISHED 5202/lua5.1
tcp 0 0 127.0.0.1:5222 127.0.0.1:48808 ESTABLISHED 5202/lua5.1
tcp6 0 0 :::5222 :::* LISTEN 5202/lua5.1
tcp6 0 0 127.0.0.1:48808 127.0.0.1:5222 ESTABLISHED 1405/java
tcp6 0 0 127.0.0.1:48818 127.0.0.1:5222 ESTABLISHED 1780/java

@damencho
Do you have any clue on what I can work on to clear this new error? Some logfile that could contain the valued information?

Ok, some part of the discussion happened in private because I had to share sensitive information…But this is no help for the community… (thanks a lot to you @damencho)

Sticking issue:

SEVERE: [88] impl.protocol.jabber.ProtocolProviderServiceJabberImpl.connectAndLogin().1003 Failed to connect to XMPP service

org.jivesoftware.smack.sasl.SASLErrorException: SASLError using SCRAM-SHA-1: not-authorized

I still have issues with having no audio, but I had a major breakthrough today as I was able to make my phone ring and connect to a meeting… Now I have to sort-out the audio bit…

Don’t forget that all my issues so far exist because I am using a secure domain

So, steps I did to get to this near-working state:

  1. PURGE everything that had the name “jigasi” on my server, leave no trace of it.

  2. Reinstall jigasi with the apt install jigasi command

  3. in /etc/jitsi/jigasi/sip-communicator.properties, uncomment the following lines and fill:
    org.jitsi.jigasi.xmpp.acc.USER_ID=[username]@auth.[domain_name]
    org.jitsi.jigasi.xmpp.acc.PASS=[PASSWORD_in plain text]
    org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
    org.jitsi.jigasi.xmpp.acc.ALLOW_NON_SECURE=true

The bit that had made it not working was that I registered the username in prosody using the “register” method… and that is wrong! What I had to do was use the adduser JID method

so:
5. prosodyctl adduser [username]@auth.[domain_name]
Enter the same password as before twice, and you are done!!!

Authentication with xmpp was solved after that… yay!

Now the sound part… I’m going in!

Make sure you leave only the codecs supported by your sip side.

Says the man who knows what he is talking about! :stuck_out_tongue:

I will investigate that… Unless you happen to know what protocols are used by voip.ms ?