So, I wanted to mess around with SIP calls, and I stumbled upon this thing called Kermit. It’s supposed to be some kind of open-source SIP server, sounds cool, right? Here’s how I got it working, or at least, how I think I got it working. It wasn’t exactly smooth sailing, you know.

Getting Started
First, I went on a hunt for Kermit. I just searched for “kermit sip github” and, found some repositories. It was a bit confusing at first, as there many different versions, finally I found the official released version and some docs.
I downloaded the source code. I think it’s mostly C++, which, honestly, I’m not super familiar with. But, hey, that’s part of the fun, right? Learning new stuff.
The Build Process (Oh Boy)
This is where things got a little… hairy. I had to get a compiler and a bunch of libraries installed. I messed around with cmake.
Followed some instructions in the README, typed in a bunch of commands, and crossed my fingers. Surprisingly, after a few tries, and a couple of error messages that I totally Googled, it actually compiled! I felt like a genius, even though I barely knew what I was doing.
Configuration Fun
Next up, the config file. I saw a `*` file, opened it up, and… wow. Lots of options. I mostly just left things at their defaults, except for a few things I wanted to play with, like the port number. It’s important to set the default user and password for security reasons.

- Changed the default SIP port (just because).
- Set up a basic user account with a username and password.
- Stared blankly at the rest of the settings for a good 10 minutes.
Running the Beast
Okay, time to see if this thing actually works. I found the executable in the `bin` directory, typed `./kermit` in the terminal, and… nothing exploded! That’s always a good sign. It spit out a bunch of log messages, some of which I understood, most of which I didn’t. But hey, it was running!
Testing with a SIP Client
Now, to actually use this thing. I needed a SIP client. There are tons of them out there, some free, some paid. I grabbed one that looked simple enough, set up an account to point to my Kermit server (using the IP address of the machine it was running on and the port I set in the config), and tried to make a call. I found “Blink” is great!
Success (Sort Of)
And… it worked! I mean, I could call myself from one SIP client to another, which was pretty cool. I didn’t exactly test all the features of Kermit, but hey, I got something working. That’s a win in my book.
So, that’s my Kermit adventure. It was a bit of a bumpy ride, but I learned a few things, got my hands dirty with some C++ code, and managed to get a basic SIP server running. Might try to delve deeper into those config options later, but for now, I’m calling it a success. It was a great project that lasted for about 3 days, but I still felt pretty cool, and most importantly, I got a lot of first-hand experience!