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.