Half a year ago, +I +wrote about the Jami communication +client, capable of peer-to-peer encrypted communication. It +handle both messages, audio and video. It uses distributed hash +tables instead of central infrastructure to connect its users to each +other, which in my book is a plus. I mentioned briefly that it could +also work as a SIP client, which came in handy when the higher +educational sector in Norway started to promote Zoom as its video +conferencing solution. I am reluctant to use the official Zoom client +software, due to their copyright +license clauses prohibiting users to reverse engineer (for example +to check the security) and benchmark it, and thus prefer to connect to +Zoom meetings with free software clients.
+ +Jami worked OK as a SIP client to Zoom as long as there was no +password set on the room. The Jami daemon leak memory like crazy +(approximately 1 GiB a minute) when I am connected to the video +conference, so I had to restart the client every 7-10 minutes, which +is not a great. I tried to get other SIP Linux clients to work +without success, so I decided I would have to live with this wart +until someone managed to fix the leak in the dring code base. But +another problem showed up once the rooms were password protected. I +could not get my dial tone signaling through from Jami to Zoom, and +dial tone signaling is used to enter the password when connecting to +Zoom. I tried a lot of different permutations with my Jami and +Asterisk setup to try to figure out why the signaling did not get +through, only to finally discover that the fundamental problem seem to +be that Zoom is simply not able to receive dial tone signaling when +connecting via SIP. There seem to be nothing wrong with the Jami and +Asterisk end, it is simply broken in the Zoom end. I got help from a +very skilled VoIP engineer figuring out this last part. And being a +very skilled engineer, he was also able to locate a solution for me. +Or to be exact, a workaround that solve my initial problem of +connecting to password protected Zoom rooms using Jami.
+ +So, how do you do this, I am sure you are wondering by now. The +trick is already +documented +from Zoom, and it is to modify the SIP address to include the room +password. What is most surprising about this is that the +automatically generated email from Zoom with instructions on how to +connect via SIP do not mention this. The SIP address to use normally +consist of the room ID (a number), an @ character and the IP address +of the Zoom SIP gateway. But Zoom understand a lot more than just the +room ID in front of the at sign. The format is "[Meeting +ID].[Password].[Layout].[Host Key]", and you can hear see how you +can both enter password, control the layout (full screen, active +presence and gallery) and specify the host key to start the meeting. +The full SIP address entered into Jami to provide the password will +then look like this (all using made up numbers):
+ ++sip:657837644.522827@192.168.169.170 ++ +
Now if only jami would reduce its memory usage, I could even +recommend this setup to others. :)
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
+