Bii o ṣe le Fi Aami akiyesi sori CentOS/RHEL 8/7


Aami akiyesi jẹ ilana ṣiṣi-orisun ti a lo fun kikọ awọn ohun elo ibaraẹnisọrọ. O le lo lati tan kọmputa agbegbe tabi olupin si olupin ibaraẹnisọrọ. O ti lo lati ṣe agbara awọn eto IP PBX, awọn ẹnu-ọna VoIP, awọn olupin apejọ, ati awọn solusan miiran. O ti lo nipasẹ gbogbo iru awọn ajo ni kariaye ati nikẹhin, ṣugbọn kii ṣe ipari o jẹ ọfẹ ati orisun ṣiṣi.

Ninu ẹkọ yii, a yoo fi ọ han bi o ṣe le fi aami akiyesi sori CentOS 8/7 (awọn itọnisọna tun ṣiṣẹ lori RHEL 8/7), ṣugbọn ṣaaju ki a to bẹrẹ, a yoo nilo lati ṣe diẹ ninu awọn ipalemo ki Aami akiyesi le ṣiṣẹ laisiyonu lẹhin fifi sori ẹrọ .

Igbesẹ 1: Mu SELinux kuro lori CentOS

Lati ṣe eyi, SSH si eto rẹ ati lilo oluṣatunkọ laini aṣẹ aṣẹ ayanfẹ rẹ, ṣii/ati be be lo/selinux/config ati mu SELINUX kuro.

# vim /etc/selinux/config

Laini SELinux yẹ ki o dabi eleyi:

SELINUX=disabled

Bayi atunbere eto rẹ. Ni kete ti o ba pada SSH lẹẹkansi si eto yẹn.

Igbesẹ 2: Fi Awọn idii ti a beere sii

Aami akiyesi ni awọn ibeere diẹ ti o nilo lati fi sii. O le lo aṣẹ yum atẹle lati fi awọn idii ti o nilo sii bi o ti han.

# 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

Ṣaaju ki a to tẹsiwaju siwaju sii, ṣẹda olumulo tuntun pẹlu awọn anfani sudo ti a pe ni “aami akiyesi”, a yoo lo olumulo yii lati ṣeto aami akiyesi lori eto naa.

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

Nigbamii, fi PJSIP sori ẹrọ, jẹ orisun ṣiṣi ọfẹ ọfẹ ti ile-ikawe ibaraẹnisọrọ ti ọpọlọpọ awọn imularada ti o ṣe awọn ilana agbekalẹ boṣewa gẹgẹbi SIP, SDP, RTP, STUN, TURN, ati ICE. O jẹ awakọ ikanni Asterisk SIP ti o yẹ ki o mu wípé awọn ipe ṣẹ.

Lati gba ẹya tuntun, akọkọ jẹ ki a ṣẹda itọsọna igba diẹ nibiti a yoo kọ package lati orisun.

$ mkdir ~/build && cd ~/build

Bayi lọ aṣẹ wget lati ṣe igbasilẹ package taara ni ebute naa.

Akiyesi pe nipa kikọ nkan yii ẹya tuntun jẹ 2.8, eyi le yipada ni ọjọ iwaju, nitorinaa rii daju lati lo ẹya tuntun:

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

Lọgan ti igbasilẹ ba pari, jade faili naa ki o yipada si itọsọna yẹn.

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

Igbese ti n tẹle ni lati ṣeto package lati ṣajọ. O le lo aṣẹ atẹle:

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

O yẹ ki o ko ri eyikeyi awọn aṣiṣe tabi awọn ikilo. Rii daju pe gbogbo awọn igbẹkẹle ti pade:

$ make dep

Ati ni bayi a le pari fifi sori ẹrọ ati ọna asopọ ikawe pẹlu:

$ make && sudo make install && sudo ldconfig

Lakotan, rii daju pe gbogbo awọn ikawe ti fi sori ẹrọ ati bayi:

$ ldconfig -p | grep pj

O yẹ ki o gba abajade wọnyi:

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

Igbesẹ 3: Fi Aami akiyesi sori CentOS 8/7

A ti ṣetan ni bayi lati bẹrẹ fifi sori ẹrọ ti Aami akiyesi. Lọ kiri pada si itọsọna ~/kọ wa:

$ cd ~/build

Lọ si aṣẹ wget lati ṣe igbasilẹ faili ni ebute.

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

Nipasẹ kikọ ẹkọ yii, ẹya Aami akiyesi tuntun ni 16. Rii daju pe o n ṣe igbasilẹ ẹya tuntun ti Aami akiyesi, nigbati o ba tẹle awọn igbesẹ naa.

Bayi jade ni ile-iwe pamo ki o lọ kiri si itọsọna tuntun ti a ṣẹda:

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

Eyi ni akoko lati sọ, pe ti o ba fẹ lati mu atilẹyin mp3 ṣiṣẹ lati ṣe orin lakoko ti alabara wa ni idaduro, iwọ yoo nilo lati fi awọn igbẹkẹle diẹ sii sii. Awọn igbesẹ wọnyi jẹ aṣayan:

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

Lẹhin igbesẹ keji, o yẹ ki o gba irujade lọpọlọpọ si iwọnyi:

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.

Bẹrẹ nipa ṣiṣe iwe afọwọkọ atunto lati ṣeto package fun ikojọpọ:

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

Ti o ba gba eyikeyi awọn igbẹkẹle ti o padanu lati fi sii wọn. Ninu ọran mi, Mo ni aṣiṣe wọnyi:

configure: error: patch is required to configure bundled pjproject

Lati lọ ni ayika eyi ṣiṣe ni ṣiṣe:

# yum install patch 

Ati tun ṣiṣe akosile atunto. Ti gbogbo wọn ba lọ daradara laisi awọn aṣiṣe, iwọ yoo wo sikirinifoto atẹle.

Bayi, jẹ ki a bẹrẹ ilana kikọ:

$ make menuselect

Lẹhin awọn iṣeju diẹ, o yẹ ki o gba atokọ awọn ẹya lati muu ṣiṣẹ:

Ti o ba gbiyanju lati lo orin ni ẹya idaduro, iwọ yoo nilo lati mu ẹya\"format_mp3" ṣiṣẹ lati apakan\"Awọn afikun-ọrọ". Fipamọ atokọ rẹ ki o ṣiṣẹ aṣẹ wọnyi:

$ make && sudo make install

Lati fi awọn faili iṣeto ayẹwo sii, lo aṣẹ ni isalẹ:

$ sudo make samples

Lati bẹrẹ Aami akiyesi lori bata, lo:

$ sudo make config

Ṣe imudojuiwọn ohun-ini ti awọn ilana atẹle ati awọn faili:

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

Lakotan, jẹ ki a danwo fifi sori wa pẹlu:

$ sudo service asterisk start
$ sudo asterisk -rvv

O yẹ ki o wo iṣẹjade ti o jọra ọkan yii:

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>

Ti o ba fẹ wo atokọ iru awọn ofin ti o wa:

asterisk*CLI> core show help

Lati jade kuro ni itọka Aami akiyesi, tẹ ni kia kia:

asterisk*CLI> exit

Aami akiyesi yoo tun ṣiṣẹ ni abẹlẹ.

Bayi o ni olupin Aami akiyesi ti n ṣiṣẹ ati pe o le bẹrẹ sisopọ awọn foonu ati awọn amugbooro ati ṣatunṣe iṣeto rẹ fun awọn aini rẹ. Fun awọn alaye diẹ sii bi o ṣe le ṣaṣeyọri eyi, o ni iṣeduro lati lo oju-iwe Wiki Aami akiyesi. Ti o ba ni ibeere tabi awọn asọye eyikeyi, jọwọ jẹ ki a mọ ninu abala ọrọ ni isalẹ.