<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kwancro</title>
    <link>https://www.kwancro.com/</link>
    <description>Recent content on Kwancro</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Copyright © 2021 - 2026, Ivan Kwabena Nyarko; All rights reserved.</copyright>
    <lastBuildDate>Sun, 12 Apr 2026 07:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.kwancro.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>MockaSIP: The Simplest Way to Test SIP Error Handling</title>
      <link>https://www.kwancro.com/post/sip-mock-response/</link>
      <pubDate>Sun, 12 Apr 2026 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/sip-mock-response/</guid>
      <description>Web developers have for years been able to test their APIs using multiple online mock API services but SIP/VoIP platform developers usually have to build their own.&#xA;How do you test that your SIP call error handling is working well?&#xA;When your SaaS provider tells you &amp;ldquo;You can bring your own carrier to our platform and we will failover the calls automatically for you&amp;rdquo; How do you check the errors they failover on?</description>
    </item>
    <item>
      <title>Arithmetic and other custom functions in Kamailio</title>
      <link>https://www.kwancro.com/post/arithmetic-and-other-custom-functions-in-kamailio/</link>
      <pubDate>Thu, 28 Mar 2024 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/arithmetic-and-other-custom-functions-in-kamailio/</guid>
      <description>Although Kamailio supports basic arithmetic, it does so only using configuration variables and not dynamic variables. Due to its flexibility, it is just a matter of time until you will come up with an idea where you would need to use dynamic variables for some form of arithmetic calculations.&#xA;In version 5.7.0 released on May 17th 2023, a Math module was released with 5 functions, mainly around logarithmic and square root computation.</description>
    </item>
    <item>
      <title>Another Open Relay Scan</title>
      <link>https://www.kwancro.com/post/another-open-relay-scan/</link>
      <pubDate>Wed, 28 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/another-open-relay-scan/</guid>
      <description>In May this year, the number of SIP scanning started increasing again. Such an increase in scanning can be easily noticed when looking at the free, publicly available honeypot data that I provide. For example, data like the one in the picture below where you see IP addresses, usually from the same subnet, with a low count of requests made to the honeypots, is a strong indicator of automated scanning.</description>
    </item>
    <item>
      <title>Support Clock Updates 🇮🇹 🇵🇹</title>
      <link>https://www.kwancro.com/post/support-clock-updates-it-pt/</link>
      <pubDate>Thu, 01 Jun 2023 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/support-clock-updates-it-pt/</guid>
      <description>🎉 Portuguese and Italian have been added to the languages supported by mysupportclock. Please make use of your old tablets gathering dust and convert them to a useful clock for your loved ones.</description>
    </item>
    <item>
      <title>Support Clock Now Also in Romanian 🇷🇴</title>
      <link>https://www.kwancro.com/post/support-clock-now-in-romanian/</link>
      <pubDate>Thu, 20 Apr 2023 09:21:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/support-clock-now-in-romanian/</guid>
      <description>The free online clock at mysupportclock.com that helps support our loved ones with dementia, now supports the Romanian language 🇷🇴 🎉. Thanks to Stefan M for requesting and providing the necessary inputs for the language. The list of supported languages now are:&#xA;English Spanish Croatian Romanian Feel free to contact me by email or twitter if you would like a new language supported.</description>
    </item>
    <item>
      <title>Massive SIP Attacks with VPN?</title>
      <link>https://www.kwancro.com/post/massive-use-of-vpn/</link>
      <pubDate>Wed, 07 Sep 2022 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/massive-use-of-vpn/</guid>
      <description>The picture I like to keep an eye on the hourly data statistics of my honeypots just to see if anything interesting pops up. A couple of weeks back I saw something that I just had to take a screenshot of&#xA;Screenshot of the automated traffic It screamed automation. I quickly tried to see if it was another round of traffic similar to the proxy relay traffic that happened some time back &amp;hellip;&amp;hellip; It wasn&amp;rsquo;t, so I didn&amp;rsquo;t make too much of it.</description>
    </item>
    <item>
      <title>Support Clock</title>
      <link>https://www.kwancro.com/post/support-clock/</link>
      <pubDate>Tue, 19 Jul 2022 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/support-clock/</guid>
      <description>This post is not directly related to tech but is related to something that has recently been close to my heart&amp;hellip; Dementia.&#xA;Those of us who have loved ones suffering from dementia will admit that any help we can find to help our loved ones be less stressed about their new reality is very welcome.&#xA;I was not successful in finding a simple large digital clock in Croatian with basic information about the day (day/date/time), so I decided to make my own.</description>
    </item>
    <item>
      <title>Open Relay Abuse</title>
      <link>https://www.kwancro.com/post/open-proxy-abuse/</link>
      <pubDate>Thu, 31 Mar 2022 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/open-proxy-abuse/</guid>
      <description>The story I really didn&amp;rsquo;t give much attention to the &amp;lsquo;Country analysis&amp;rsquo; world heatmap tab on the SIP honeypot data web interface till I one day noticed that every hour there were over 100 unique IP addresses from the US attacking my honeypots.&#xA;Checking the database I noticed a pattern in the format of the stored headers in the database. Next I checked the source IPs of the suspicious traffic in Shodan.</description>
    </item>
    <item>
      <title>Hide From Shodan</title>
      <link>https://www.kwancro.com/post/hide-from-shodan/</link>
      <pubDate>Thu, 14 Oct 2021 07:00:00 +0100</pubDate>
      <guid>https://www.kwancro.com/post/hide-from-shodan/</guid>
      <description>If you are planning on exposing your private VoIP server to the public internet but are concerned about hacks and attacks, I might have one trick to help keep you hidden.&#xA;When looking for a website to answer your questions, most people turn to Google. On the other hand, when looking for applications, IPs or network ports exposed on the internet, Shodan.io is usually the first stop.&#xA;Shodan offers a service, dare I say, like Google, that scans the internet.</description>
    </item>
    <item>
      <title>Understanding VoIP Hackers</title>
      <link>https://www.kwancro.com/post/understanding-voip-hackers/</link>
      <pubDate>Wed, 01 Sep 2021 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/understanding-voip-hackers/</guid>
      <description>Ever since I realized how easy it was to detect potential VoIP fraudsters using the SIP User Agent header , I got more and more interested in finding out how to detect them and more importantly figuring out their thought process. I believe that there is a lot you can learn from looking at the smart techniques fraudsters are using rather than just assuming what they are up to.&#xA;How best to learn, apart from looking through your logs after you have been hacked, than to create a honeypot, gather data and learn from it.</description>
    </item>
    <item>
      <title>What Is My IP</title>
      <link>https://www.kwancro.com/post/what-is-my-ip/</link>
      <pubDate>Thu, 01 Apr 2021 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/what-is-my-ip/</guid>
      <description>Some time back as a quick Golang project I built my own &amp;lsquo;what is my IP&amp;rsquo; web service. Aside from learning a bit of Golang, I did not have any real use case for it. However, recently when a friend and I were working on some AWS EC2 instances in China, we quickly needed to know our public IP so my friend did what everyone would do&#xA;curl ifconfig.me To our surprise the connection timed out &amp;#x1f632;.</description>
    </item>
    <item>
      <title>Terraform (Part 3) : Structure</title>
      <link>https://www.kwancro.com/post/terraform-part3-structure/</link>
      <pubDate>Sun, 28 Mar 2021 21:07:23 +0000</pubDate>
      <guid>https://www.kwancro.com/post/terraform-part3-structure/</guid>
      <description>I hope parts one and two of this series have got you interested in IaC and Terraform in particular. In part two, the configuration file we used was just one file. In that simple use case it made sense to do it that way but as you start building more complex deployments, it is advisable to split up the configuration into multiple files and folders.&#xA;Files Splitting the configuration script into multiple files has some benefits:</description>
    </item>
    <item>
      <title>Terraform (Part 2) : First Deploy</title>
      <link>https://www.kwancro.com/post/terraform-part2-deploy/</link>
      <pubDate>Tue, 23 Mar 2021 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/terraform-part2-deploy/</guid>
      <description>In the first part of this series ,Terraform (Part 1) : Intro, I explained the concept behind Terraform (Infrastructure as code). In this part we will get our hands dirty and deploy our first simple infrastructure. Since we will be focusing on Terraform and not on cloud service providers, I decided to use a simple to understand, yet feature rich cloud service provider, DigitalOcean. More on creating an account later.</description>
    </item>
    <item>
      <title>Terraform (Part 1) : Intro</title>
      <link>https://www.kwancro.com/post/terraform-part1-intro/</link>
      <pubDate>Tue, 16 Mar 2021 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/terraform-part1-intro/</guid>
      <description>Infrastructure as Code (IaC) has been popular for a while now. If you have tried any of the solutions out there (Terraform, Cloudformation, OpenStack Heat) I am sure you have your favorite and are now wondering how you could have lived without it. For people like me, who do not come from a SysAdmin or SysOps background, the explanation is kind of confusing which leads to questions like, &amp;ldquo;How does Terraform compare to &amp;hellip;&amp;hellip;&amp;rdquo;?</description>
    </item>
    <item>
      <title>Kamailio : Server Maintenance Mode</title>
      <link>https://www.kwancro.com/post/kamailio-server-maintenance-mode/</link>
      <pubDate>Fri, 12 Mar 2021 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/kamailio-server-maintenance-mode/</guid>
      <description>Sometimes your Kamailio server might need server maintenance and for that you could require a way to drain out traffic. Also, depending on where it sits in your design you might want to return a custom response code so that new traffic routes elsewhere.&#xA;There is a simple trick to doing this. The idea is simple, set a variable and check its status/value and based on that decide on how to handle new requests.</description>
    </item>
    <item>
      <title>Kamailio systemd or init.d scripts</title>
      <link>https://www.kwancro.com/post/kamailio-systemd-configuration/</link>
      <pubDate>Wed, 10 Mar 2021 07:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/kamailio-systemd-configuration/</guid>
      <description>After every manual installation of Kamailio from git, it is best practice to create an init.d or systemd script to easily start, stop or restart the Kamailio service. A lot of people are still in the habit of creating these scripts manually because it probably was a step they added in their installation scripts years back. Yes, we are all creatures of habit but for a while now there is reason for a change in this habit.</description>
    </item>
    <item>
      <title>PSSH for Parallel Tasks</title>
      <link>https://www.kwancro.com/post/pssh-for-parallel-tasks/</link>
      <pubDate>Mon, 08 Mar 2021 11:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/pssh-for-parallel-tasks/</guid>
      <description>Have you been caught in the situation where a project you thought would be simple and low maintenance turned out to be popular and now you are faced with the problem of logging into servers and doing repeated tasks because you haven&amp;rsquo;t had enough &amp;lsquo;free&amp;rsquo; time to automate some of your processes? A quick bandaid could be pssh (Parallel SSH).&#xA;PSSH Quick Intro Pssh lets you log into multiple servers at the same time and run commands.</description>
    </item>
    <item>
      <title>Initial Invite or Re-Invite</title>
      <link>https://www.kwancro.com/post/initial-invite-or-re-invite/</link>
      <pubDate>Fri, 05 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/initial-invite-or-re-invite/</guid>
      <description>When asked, &amp;ldquo;If I gave you a SIP INVITE packet, could you tell if it was an initial INVITE or a re-INVITE ?&amp;rdquo;, surprisingly most people fail at giving the correct answer. Most assume that a &amp;ldquo;CSeq 1 INVITE&amp;rdquo; would be the indicator. However, nowhere in the SIP RFC (3261) does it state that the sequence number in the CSeq header for an initial INVITE must start at 1.&#xA;A simple way to understand and remember the answer is &amp;hellip; Well the purpose of an INVITE is to establish a dialog.</description>
    </item>
    <item>
      <title>Kamailio Dispatcher Module Hidden Gem</title>
      <link>https://www.kwancro.com/post/kamailio-dispatcher-module-hidden-gem/</link>
      <pubDate>Thu, 04 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/kamailio-dispatcher-module-hidden-gem/</guid>
      <description>Majority of Kamailio deployments involve using it as the core routing engine. Efficient call routing is one of its major tasks in such designs and this is where the dispatcher module really shines, making it one of the most popular modules. If you need to efficiently route or distribute huge amounts of traffic across multiple gateways, you need to have a look at the dispatcher module.&#xA;Dispatching algorithms The module offers multiple routing algorithms to choose from.</description>
    </item>
    <item>
      <title>Don&#39;t Forget Pipe</title>
      <link>https://www.kwancro.com/post/dont-forget-pipe/</link>
      <pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/dont-forget-pipe/</guid>
      <description>When we need to mangle or massage some data on a Linux/UNIX server or desktop, we usually like to use applications like Google Sheets or other fully fledged data processing software forgetting about pipes.&#xA;A basic description of the pipe ( | ) is that it allows the output of one command to be the input of another. What this lets you do is filter data in steps as you chain commands.</description>
    </item>
    <item>
      <title>How I fell in love with Kamailio (OpenSer)</title>
      <link>https://www.kwancro.com/post/in-love-with-kamailio/</link>
      <pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://www.kwancro.com/post/in-love-with-kamailio/</guid>
      <description>About 10 years ago when I was really interested in SIP and was looking to play around with SIP servers/proxies, I came across the OpenSer project. By then it was already split into Kamailio and OpenSips. I randomly picked OpenSips to test out but had issues with the installation script. Instead of putting effort into figuring out what the issue was I tried out Kamailio and it work the first time round.</description>
    </item>
    <item>
      <title>About</title>
      <link>https://www.kwancro.com/about/</link>
      <pubDate>Sun, 21 Feb 2021 19:30:54 +0000</pubDate>
      <guid>https://www.kwancro.com/about/</guid>
      <description>Behind Kwancro is Ivan Kwabena Nyarko. I love building and designing Voice Networks. Lately I have started loving automated builds and find any excuse to do so.&#xA;I have been planning to document my findings and hacks in a blog for a while now but was always &amp;lsquo;busy&amp;rsquo;. Since I seem to always be busy I guess I can no longer use that as an excuse. I mainly use gitlab as my repo so as I start writing on topics relating to some code, I will migrate related code to github under kwancro</description>
    </item>
  </channel>
</rss>
