CentOS/RHEL 8/7'ye Yıldız İşareti Nasıl Kurulur


Yıldız, iletişim uygulamaları oluşturmak için kullanılan açık kaynaklı bir çerçevedir. Yerel bir bilgisayarı veya sunucuyu iletişim sunucusuna dönüştürmek için kullanabilirsiniz. IP PBX sistemlerine, VoIP ağ geçitlerine, konferans sunucularına ve diğer çözümlere güç sağlamak için kullanılır. Dünya çapında her türlü kuruluş tarafından kullanılmaktadır ve son olarak ücretsiz ve açık kaynaktır.

Bu eğiticide size Yıldız İşareti'ni CentOS 8/7'ye nasıl yükleyeceğinizi göstereceğiz (talimatlar RHEL 8/7'de de çalışır) , ancak başlamadan önce Yıldız işaretinin kurulumdan sonra sorunsuz çalışabilmesi için bazı hazırlıklar yapmamız gerekecek.

Adım 1: CentOS'ta SELinux'u devre dışı bırakın

Bunu yapmak için sisteminize SSH uygulayın ve favori komut satırı metin düzenleyicinizi kullanarak /etc/selinux/config'i açın ve SELINUX'u devre dışı bırakın.

vim /etc/selinux/config

SELinux satırı şöyle görünmelidir:

SELINUX=disabled

Şimdi sisteminizi yeniden başlatın. SSH tekrar bu sisteme geri döndüğünde.

Adım 2: Gerekli Paketleri Kurun

Yıldız'ın yüklenmesi gereken pek çok gereksinimi vardır. Gerekli paketleri gösterildiği gibi kurmak için aşağıdaki yum komutunu kullanabilirsiniz.

yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel

Devam etmeden önce, "yıldız" adında sudo ayrıcalıklarına sahip yeni bir kullanıcı oluşturun, bu kullanıcıyı sistemde yıldız ayarlamak için kullanacağız.

adduser asterisk -c "Asterisk User"
passwd asterisk 
usermod -aG wheel asterisk
su asterisk

Daha sonra, SIP,SDP,RTP,STUN,TURN ve ICE gibi standart tabanlı protokolleri uygulayan ücretsiz bir açık kaynaklı multimedya iletişim kitaplığı olan PJSIP'i yükleyin. Aramaların netliğini artıracak olan şey Yıldız SIP kanal sürücüsüdür.

En son sürümü edinmek için öncelikle paketi kaynaktan derleyeceğimiz geçici bir dizin oluşturalım.

mkdir ~/build && cd ~/build

Şimdi PJSIP indirme sayfasına gidin ve paketi alın veya paketi doğrudan terminalden indirmek için aşağıdaki wget komutunu kullanın.

Bu makaleyi yazarken en son sürümün 2.8 olduğunu, bunun gelecekte değişebileceğini unutmayın; bu nedenle en son sürümü kullandığınızdan emin olun:

wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2

İndirme işlemi tamamlandıktan sonra dosyayı çıkartın ve bu dizine geçin.

tar xvjf pjproject-2.9.tar.bz2
cd pjproject-2.9

Bir sonraki adım derlenecek paketi hazırlamaktır. Aşağıdaki komutu kullanabilirsiniz:

./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr

Herhangi bir hata veya uyarı görmemelisiniz. Tüm bağımlılıkların karşılandığından emin olun:

make dep

Artık kurulum ve bağlantı kitaplıklarını aşağıdakilerle tamamlayabiliriz:

make && sudo make install && sudo ldconfig

Son olarak tüm kitaplıkların kurulu ve mevcut olduğundan emin olun:

ldconfig -p | grep pj

Aşağıdaki çıktıyı almalısınız:

libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2
	libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so
	libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2
	libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so
	libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2
	libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so
	libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2
	libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so
	libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2
	libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so
	libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2
	libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so
	libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2
	libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so
	libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2
	libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so
	libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2
	libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so
	libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2
	libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so
	libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2
	libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so
	libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2
	libpj.so (libc6,x86-64) => /lib64/libpj.so

Adım 3: CentOS 8/7'ye Yıldız İşaretini yükleyin

Artık Yıldız işaretinin kurulumunu başlatmaya hazırız. ~/build dizinimize geri dönün:

cd ~/build

Yıldız işareti indirme sayfasına gidin ve en son sürümü edinin veya dosyayı terminale indirmek için aşağıdaki wget komutunu kullanabilirsiniz.

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Bu eğitimin yazıldığı tarihteki en son Yıldız işareti sürümü 16'dır. Adımları takip ederken Asterisk'in son sürümünü indirdiğinizden emin olun.

Şimdi arşivi çıkarın ve yeni oluşturulan dizine gidin:

tar -zxvf asterisk-16-current.tar.gz
cd asterisk-16.5.1

Müşteri beklemedeyken müzik çalmak için mp3 desteğini etkinleştirmek istiyorsanız birkaç bağımlılık daha yüklemeniz gerekeceğini belirtmenin zamanı geldi. Bu adımlar isteğe bağlıdır:

sudo yum install svn
sudo ./contrib/scripts/get_mp3_source.sh

İkinci adımdan sonra aşağıdakine benzer çıktılar almalısınız:

A    addons/mp3
A    addons/mp3/Makefile
A    addons/mp3/README
A    addons/mp3/decode_i386.c
A    addons/mp3/dct64_i386.c
A    addons/mp3/MPGLIB_TODO
A    addons/mp3/mpg123.h
A    addons/mp3/layer3.c
A    addons/mp3/mpglib.h
A    addons/mp3/decode_ntom.c
A    addons/mp3/interface.c
A    addons/mp3/MPGLIB_README
A    addons/mp3/common.c
A    addons/mp3/huffman.h
A    addons/mp3/tabinit.c
Exported revision 202.

Paketi derlemeye hazırlamak için yapılandırma betiğini çalıştırarak başlayın:

sudo contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-jansson-bundled

Eksik bağımlılıklarla karşılaşırsanız bunları yükleyin. Benim durumumda aşağıdaki hatayı aldım:

configure: error: patch is required to configure bundled pjproject

Bunu aşmak için basitçe şunu çalıştırın:

yum install patch 

Ve yapılandırma betiğini yeniden çalıştırın. Her şey hatasız ve mükemmel bir şekilde giderse, aşağıdaki ekran görüntüsünü göreceksiniz.

Şimdi derleme sürecine başlayalım:

make menuselect

Birkaç saniye sonra etkinleştirilecek özelliklerin bir listesini görmelisiniz:

Beklemede müzik özelliğini kullanmaya çalışırsanız “Eklentiler” bölümünden “format_mp3” özelliğini etkinleştirmeniz gerekecektir. Listenizi kaydedin ve aşağıdaki komutu çalıştırın:

make && sudo make install

Örnek yapılandırma dosyalarını yüklemek için aşağıdaki komutu kullanın:

sudo make samples

Yıldız işaretini önyüklemede başlatmak için şunu kullanın:

sudo make config

Aşağıdaki dizinlerin ve dosyaların sahipliğini güncelleyin:

sudo chown asterisk. /var/run/asterisk
sudo chown asterisk. -R /etc/asterisk
sudo chown asterisk. -R /var/{lib,log,spool}/asterisk

Son olarak kurulumumuzu şununla test edelim:

sudo service asterisk start
sudo asterisk -rvv

Buna benzer bir çıktı görmelisiniz:

Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email >
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020)
centos8-tecmint*CLI>

Kullanılabilir komutların bir listesini görmek istiyorsanız şunu yazın:

asterisk*CLI> core show help

Yıldız işareti isteminden çıkmak için şunu yazmanız yeterlidir:

asterisk*CLI> exit

Yıldız işareti arka planda çalışmaya devam edecek.

Çözüm

Artık çalışan bir Yıldız sunucunuz var ve telefonları ve dahili numaraları bağlamaya başlayabilir ve yapılandırmanızı ihtiyaçlarınıza göre ayarlayabilirsiniz. Bunu nasıl başaracağınızla ilgili daha fazla ayrıntı için Yıldız Wiki sayfasını kullanmanız önerilir. Herhangi bir sorunuz veya yorumunuz varsa, lütfen aşağıdaki yorum bölümünde bize bildirin.