Oturum Başlatma Protokolü (SIP), ses, video ve mesajlaşma uygulamaları için kullanılan bir sinyal protokolüdür.

VoIP gibi IP üzerinden üzerinden ses, görüntü ve anlık mesaj iletişimi yanı sıra LTE (VoLTE) üzerinden cep telefonu araması için multimedya iletişim oturumlarını sinyalize etmek ve kontrol etmek için kullanılır. Günümüz IP telefonlarının ve sesli mesajlaşma uygulamalarının çoğunluğu SIP Protokolü ile çalışmaktadır.

SIP sunucu ihtiyacı için Pardus 21 depolarında bulunan Kamailio SIP sunucusu yerine Kamailio’nun kendi deposundan indirilmesi önerilmekte. Bunun için aşağıdaki depo adresinin apt sistemine eklenmesi gerekmektedir:

echo "deb     http://deb.kamailio.org/kamailio55 bullseye main"| sudo tee /etc/apt/sources.list.d/kamailio.list
wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | sudo apt-key add -
sudo apt update
sudo apt install kamailio kamailio-mysql-modules

Kamailio servisi farklı seçeneklerde bir veritabanına ihtiyaç duymaktadır. Örnek kullanım olarak mariadb sunucusu kurup ayarlarını yapmak için;

sudo apt install mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb

Kamailio ayarlarında DB (veritabanı) olarak MySQL’i ve varsayılan kullanıcıları kullanmak için /etc/kamailio/kamctlrc dosyası içerisinde aşağıdaki ayarlar yapılması gerekmektedir. Parola ve kullanıcılar değiştirmek istenirse bu adımda değiştirilmelidir.

Aşağıdaki satırı bulup başındaki “#” işaretini kaldırmak gerekmektedir.

DBENGINE=MYSQL

## database read/write user
DBRWUSER="kamailio"

## password for database read/write user
DBRWPW="kamailiorw"

## database read only user
DBROUSER="kamailioro"

## password for database read only user
DBROPW="kamailioro"

İlgili ayarları yaptıktan sonra aşağıdaki komut çalıştırılır. Dil ayarı olarak latin5 seçilir ve sonra çıkan tüm sorulara “y” yanıtı verilir.

/usr/sbin/kamdbctl create

Kamailio’da mariadb modülünün açılması için /etc/kamailio/kamailio.cfg dosyası içerisinde ilk satırda bulunan “#!KAMAILIO” satırından sonra aşağıdaki iki satır eklenir;

#!define WITH_MYSQL
#!define WITH_AUTH

Parola ve diğer değişkenler değiştirilmiş ise aşağıdaki satırda ilgili kısımlar değiştirilmesi gerekmektedir.

#!define DBURL "mysql://kamailio:kamailioro@localhost/kamailio

Kamailio SIP sunucumuz hazır!

Tüm ayarlar tamamlandıktan sonra Kamailio sunucusu hazır haldedir. Aşağıdaki komutlar ile servis başlangıçta açılabilir ve mevcut durumda çalıştırılabilir hale gelmektedir.

systemctl start kamailio
systemctl enable kamailio

Yeni bir SIP kullanıcısı oluşturmak için;

kamctl add ali@IPVEYADOMAIN Parola123!
kamctl add veli@IPVEYADOMAIN Parola123!

İstemci olarak açık kaynak kodlu ekiga uygulaması üzerinde test yapılmış ve rahatlıkla kullanılabilir olarak görülmüştür.

Bu yazının özgün hali, bu bağlantıda bulunan 18 Mart 2020 tarihli yazıdır.