Using Jitsi as SIP SoftPhone

Greetings,

This is probably written or answered somewhere, but I’m not being able to find it. Please redirect me, if so. There is also a very good change I am just confused.

I want a SoftPhone whose code I can mess around with, and built by myself. It must use SIP. I think Jitsi can be used as a SoftPhone. But I am confused by the multitude of projects that are around. I used Jitsi Meet before… just the web app, publicly available. The way I see it, Jitsi Meet refers to the project that has a web interface, allowing to host meetings. This seems to be via webRTC. I don’t think this is what I want.

I tried to built the github - jitsi/jitsi project.
I don’t find the description of this project very obvious. It is a audio/video and chat communicator… so it can work like a phone? I’m doubtful this is what I want because it isn’t a pinned project, for some reason. It isn’t as highlighted as others in the Jitsi website.
However, I believe this is the project I need to built the Jitsi Desktop, whose downloads can be found at …desktop.jitsi.org/Main/Download.html
This seems like it, and it has packages for Windows and Mac. Assuming this is the source code that I needed I followed the instructions available here, in order to setup my work environment in Eclipse: Configure Eclipse New | Jitsi

I also went back to the latest stable release commit, github.com/jitsi/jitsi/releases/tag/Jitsi-2.8

However, when trying to build it with Ant, it is failing. The errors that are been given to me are also confusing, because it seems like there is some issue with the code, which can’t be the real issue since this is the stable release. here is an example of one of the errors:
“jitsi\src\net\java\sip\communicator\util\JitsiDnsNameService.java:74: error: method does not override or implement a method from a supertype”

Cna anyone confirm me this is the project I really want? Do i need anything else? Are the Eclipse instructions supposed to be enough to get a work environment going?

Thanks for attention =]

Welcome to the forum.

Yes, Jitsi Desktop is what you need for your use case. There’s however not a lot of current information on it because it’s been deprecated. The project is no longer (for now) being officially supported, but members who use it actively sometimes provide support.

1 Like

Thanks for the warm welcome :slight_smile:

Oh, then maybe other project is being used to perform the same job? I noticed the jitsi/Jigasi project, but I am understanding that it simply equips a Jitsi Meet instance with the capability of handling SIP clients. Those two cannot be used as a SoftPhone, right?

Yes, your understanding is spot on. Jigasi (amongst other things) allows SIP clients to dial into a Jitsi conference. It’s not a softphone like the Jitsi Desktop app.

1 Like

Jigasi is based on the Jitsi Desktop code :slight_smile: just without the UI as it is a server component.

Jitsi Desktop should be running and functional.

Make sure you use java8 for compiling and running it.

1 Like

Thanks for the reply Damencho. I am using Java 8, I’ve been able to tackle some errors I was getting previously, because the compiler was using version 1.7 I think. That said, these Ant problems are not related to that, even though I’m not having the capacity to work through it so far…

I was thinking, maybe its just me who is not using Ant right. Is it possible to use Maven to build the SIP communicator?

Are you using this? If so, don’t :slight_smile: this is 5 years old … you better get master and start from there.

1 Like

there is a maven pom file, but it is used only for the the bundles that are needed for jigasi, and do not build the whole jitsi project.

There are a few branches around in which Ingo is working on using gradle to build the project and also use github actions to build some native code dependencies and such, I know that it is almost done, but he is slowly progressing there in his free time.

1 Like

I see. I’ll try to work my way through tomorrow and see if I can make progress, I’m afraid I might not be putting enough effort into it. Thanks so much for the replies \o/

Hi again.

So, I made some progress today. I made sure that my Eclipse was using Java 8 and noticed that there were two build.xml files in the project. One in the main directory and another one, a bigger one, in the resources->Installer folder. I suppose the first later links to the second. However, the second had some instructions. It spoke about installing something called IzPack, which I did. I also noticed the installers.properties file, which had a variable to point to the IzPack folder. I also pointer the windows.jre64.file to the respective exe file and cleared the other windows’ variables.

I am not sure if it was that, but after these two points, I was able to successfully use the rebuild target, from the first build.xml. Also ran successfully the make-and-deploy target, like the Eclipse Configuration Jitsi page said to do.

However, I am strangely not being able to run the configurations described at that page. My JDK is definitely 1.8, and the Eclipse is using a version well above 4.3.1. Project was imported from git, as described, then ran the make-and-deploy. Run configuration was defined just as described. Yet, if I try to run the SIPCommunicator.java, I get a NoClassDefFoundError, for org/apache/felix/main/Main… which is odd, since I have that class in the referenced Libraries of the project.

Maybe I am not understanding how to use the tools correctly here, but I’ve added the felix.jar to the Configuration’s classpath. Which solved the issue, but now I am getting a multitude of other errors, telling me that Eclipse has been unable to resolve net.sip.communicator.plugin.(sries of different classes here) …

I suppose these are other libraries that are not being found, somehow, like what was happening with felix? At this point, I believe I should be doing more workaround than those that are necessary, probably. Any hints? I believe there are similar questions around, I’ve dwelled through some of them, but I’m kind of stuck.

Go to the main folder and execute ant rebuild run in the console