How to install Kamailio 5 from sources on Debian 10

Kamailio is an open-source SIP server, previously known as OpenSER. It is able to handle thousands of call setups per second and as such can be used to build high-grade applications for VoIP and real-time communications. Kamailio can be used as a SIP registrar, proxy/redirect server, SIP security firewall and support presence, RADIUS accounting and authorization. It supports various storage backends like SQL/NoSQL and many more.

Kamailio was released all the way back in 2002 under the name of OpenSER. Today, Kamailio is used by large scale internet service providers to provide public telephony services.

Installation


We will be installing Kamailio 5.4, from the sources, which is the latest release at the time of writing. For this tutorial Debian 10 will be used as the host operating system. The following is the brief overview of the steps we will be performing to install Kamailio

  1. Pre-requisite steps
  2. Downloading the source
  3. Configuring and compiling
  4. Database Configuration
  5. Miscellaneous
Continue reading “How to install Kamailio 5 from sources on Debian 10”

How to install Asterisk 18 on CentOS 8

Asterisk is an open-source PBX software. It is used to manage SIP sessions between endpoints. Asterisk is a very powerful server that can be used to implement PBX, IVRs, VoIP gateways and many more features. It supports many VoIP protocols such as SIP(Session Initiation Protocol) and MGCP(Media Gateway Control Protocol. It also supports many hardware devices such as analogue cards, PRI cards, etc.

Today we will be installing Asterisk 18.0.0 on Centos 8, which is the latest Asterisk release at the time of writing. Before we jump to the installation let us look at the major changes which the new release has brought with it.

Major Changes From Asterisk 17 to 18


Codec – H.265/HEVC is now an officially supported video codec. It can be used by specifying “h265” in the allow line.

Continue reading “How to install Asterisk 18 on CentOS 8”

How to install Asterisk 18 on Debian 10

Asterisk is an open-source PBX software. It is used to manage SIP sessions between endpoints. Asterisk is a very powerful server that can be used to implement PBX, IVRs, VoIP gateways and many more features. It supports many VoIP protocols such as SIP(Session Initiation Protocol) and MGCP(Media Gateway Control Protocol. It also supports many hardware devices such as analogue cards, PRI cards, etc.

Today we will be installing Asterisk 18.0.0 on Debian 10, which is the latest Asterisk release at the time of writing. Before we jump to the installation let us look at the major changes which the new release has brought with it.

Major Changes From Asterisk 17 to 18


Codec – H.265/HEVC is now an officially supported video codec. It can be used by specifying “h265” in the allow line.

Logger – A new formatter “plain” has been added. It will always print file, function and line number and never prints the color controlled characters. It can be used in logger.conf

Continue reading “How to install Asterisk 18 on Debian 10”

48 Hours with APIBAN

Summary


In this experiment, we will be testing the effectiveness of the APIBAN and see if it can single-handedly protect our server from the bad SIP traffic. It will be integrated with Asterisk PBX running on CentOS 7.

We installed Asterisk-18-rc1 on Centos 7 to collect the stats for APIBAN. LibreNMS was used to monitor all the metrics of the server running Asterisk. Asterisk PBX was configured with very basic configuration which is as follow –
1. It accepts all the SIP invites, pick up call and play an audio file (tt-monkeys)
2. Several SIP peers were configured with no password on them.

The server in the current state without APIBAN or any firewall was left open for 2 days i.e from September 18, 2020 to September 20, 2020 , The following graphs show the metrics captured by LibreNMS during that time frame.

Overall Network Traffic from September 18, 2020, to September 20, 2020
Continue reading “48 Hours with APIBAN”

Monitoring OpenSIPS using LibreNMS

LibreNMS is an open-source network monitoring tool. We can monitor a wide range of network devices such as Cisco, Juniper, Foundry, FreeBSD, Brocade, HP, different operating systems such as Linux, FreeBSD, Windows as well and pretty much anything that supports SNMP polling.

Its feature set includes automatic discovery, customizable alerts, API access, billing system for ports on the network, automatic updates and many more.

OpenSIPS is an Open Source carrier-grade SIP proxy/server used for SIP signalling and can handle all types of SIP operations. It’s being used by a lot of telco providers, ITSP and carriers because of its reliability and performance.

Installation


This tutorial assumes that you have OpenSIPS and LibreNMS installed and running. Here we will show you how to add OpenSIPS as an app in LibreNMS to monitor the memory usage, load and open files. If you not installed OpenSIPS or LibrenNMS yet, you can visit the following links : OpenSIPS, LibreNMS (on CentOS), LibreNMS (on Ubuntu) to get started and come back again on this tutorial when done installing. So these are the steps which we need to follow, to add OpenSIPS app in LibreNMS –

  1. Download opensips stats script
  2. Update snmpd.conf file
Continue reading “Monitoring OpenSIPS using LibreNMS”

How to enable Secure Domain on JITSI

Jitsi is an open-source voice, video conferencing and instant messaging application. We can use it to easily build and deploy secure communication solution. It is developed in Java and supports many telephony and instant messaging protocols.

Secure Domain will make it possible to only allow authenticated users to create rooms. When a new conference is to be started, JITSI will prompt for username and password. Once the host is authenticated only then the conference will start.

Installation


We will be using Ubuntu 18 LTS as our host system. This tutorial assumes that you have installed JITSI meet. If you need help with installing JITSI then you can check this tutorial. Here is a brief overview of the steps we will be following in this tutorial to setup secure domain (authentication) on JITSI-MEET server.

  1. Prosody Configuration
  2. Jitsi-meet Configuration
  3. Jicofo Configuration
Continue reading “How to enable Secure Domain on JITSI”

How to Install Jitsi on Ubuntu 18 LTS

Jitsi is an open-source voice, video conferencing and instant messaging application. We can use it to easily build and deploy secure communication solutions. It is developed in Java and supports many telephony and instant messaging protocols such as SIP, Jabber/XMPP etc. It is based on OSGi architecture and uses Felix implementation from Apache.

Installation


For this tutorial, we will be using Ubuntu 18 LTS as the host operating system. Here is a brief overview of the steps we will be following in the tutorial.

  1. Some pre-requisite operations
  2. Set up FQDN if available
  3. Add Firewall Rules
  4. Installation
  5. Obtain a TLS certificate
  6. Understanding JITSI components
  7. NAT configuration
Continue reading “How to Install Jitsi on Ubuntu 18 LTS”

How to setup MySQL authentication on JITSI

Jitsi is an open-source voice, video conferencing and instant messaging application. We can use it to easily build and deploy secure communication solutions. It is developed in Java and supports many telephony and instant messaging protocols.

By default JITSI comes up with no authentication set, means everyone can use your JITSI server for there video conferencing need. In order to setup a basic authentication you can enable secure domain on your JITSI instance. You can follow this guide to enable that on your server.

Now, once you have authentication enabled on your JITSI server you will notice that the users you created are not stored in the database. By default prosody (xmpp server) stores username and password in the memory. So let’s say if you guys want to integrate your custom app and want to generate bunch of users on JITSI then you not gonna like to execute prosodyctl commands on bash shell each time you create a new user. So to overcome this issue, we can enable mysql backend in prosody and can store the users of JITSI server in mysql database. Please hang tight as we proceed.

Continue reading “How to setup MySQL authentication on JITSI”

How to install Asterisk 17 on CentOS 8

Asterisk is an open-source PBX software. It is used to manage SIP sessions between endpoints. It is a very powerful server that can be used to implement PBX, IVRs, VoIP gateways and many more features. It supports many VoIP protocols such as SIP(Session Initiation Protocol) and MGCP(Media Gateway Control Protocol. It also supports many hardware devices such as analogue cards, PRI cards, etc.

Today we will be installing Asterisk 17.1.0, which is the latest Asterisk release at the time of writing. It is the standard release meaning that it will receive regular updates which will focus more on new features and a little less on fixes. If you want a more stable framework we would recommend you to install Asterisk version with LTS(Long Term Support). They focus mainly on stability and user experience and not on the latest features that standard edition brings. Nonetheless, let us begin with the installation.

Continue reading “How to install Asterisk 17 on CentOS 8”

How to install Asterisk 17 on Debian 10

Asterisk is a open source PBX software. It is used to manage SIP sessions between endpoints. It is a very powerful server that can be used to implement PBX, IVRs, VoIP gateways and many more features. It supports many VoIP protocols such as SIP(Session Initiation Protocol) and MGCP(Media Gateway Control Protocol. It also supports many hardware devices such as analogue cards, PRI cards, etc.

Today we will be installing Asterisk 17.1.0, which is the latest Asterisk release at the time of writing. It is the standard release meaning that it will receive regular updates which will focus more on new features and a little less on fixes. If you want a more stable framework we would recommend you to install Asterisk version with LTS(Long Term Support). They focus mainly on stability and user experience and not on the latest features that standard edition brings. Nonetheless, let us begin with the installation.

Step 1: Pre-Requisites


Before we begin with the Asterisk 17 installation, we need to make sure that our packages are up to date.

apt update && apt upgarde
Continue reading “How to install Asterisk 17 on Debian 10”