Otu esi etinye akara nrịba ama na CentOS/RHEL 8/7


akara mmuke bụ ihe mepere emepe ejiri maka iwulite ngwa nzikọrịta ozi. Ị nwere ike iji ya tụgharịa kọmputa ma ọ bụ ihe nkesa mpaghara na nkesa nkwukọrịta. A na-eji ya mee ka sistemụ IP PBX ike, ọnụ ụzọ VoIP, sava ogbako, na ngwọta ndị ọzọ. Ndị otu niile na-eji ya eme ihe n'ụwa niile na n'ikpeazụ, mana ọ naghị adịgide, ọ bụ n'efu na ebe mepere emepe.

N'ime nkuzi a, anyị ga-egosi gị otu esi etinye akara nrịbama na CentOS 8/7 (ntụziaka na-arụkwa ọrụ na RHEL 8/7), mana tupu anyị amalite, anyị ga-eme nkwadebe ụfọdụ ka akara mmuke wee na-agba ọsọ nke ọma mgbe echichi gasịrị. .

Kwụpụ 1: Gbanyụọ SELinux na CentOS

Iji mee nke a, SSH na sistemụ gị na iji akara ederede ederede ọkacha mmasị gị, mepee /etc/selinux/config wee gbanyụọ SELINUX.

# vim /etc/selinux/config

Ahịrị SELinux kwesịrị ịdị ka nke a:

SELINUX=disabled

Ugbu a reboot gị usoro. Ozugbo ọ lọghachiri SSH ọzọ na sistemụ ahụ.

Nzọụkwụ 2: Wụnye ngwugwu achọrọ

Ihe akara mmuke nwere ihe ole na ole achọrọ ka etinyere ya. Ị nwere ike iji iwu yum na-esonụ iji wụnye ngwugwu achọrọ dị ka egosiri.

# 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

Tupu anyị aga n'ihu, mepụta onye ọrụ ọhụrụ nwere ikike sudo akpọrọ asterisk, anyị ga-eji onye ọrụ a hazie akara mmuke na sistemụ.

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

Na-esote, wụnye PJSIP, bụ ọbá akwụkwọ nkwurịta okwu ọtụtụ mgbasa ozi mepere emepe nke na-emejuputa ụkpụrụ dabere na ọkọlọtọ dịka SIP, SDP, RTP, STUN, TURN, na ICE. Ọ bụ onye ọkwọ ụgbọ ala SIP nke akara mmuke kwesịrị imeziwanye nghọta nke oku a.

Iji nweta ụdị kachasị ọhụrụ, buru ụzọ mepụta ndekọ nwa oge ebe anyị ga-esi wuo ngwugwu ahụ site na isi mmalite.

$ mkdir ~/build && cd ~/build

Ugbu a gaa iwu wget ka ibudata ngwugwu ahụ ozugbo na ọnụ.

Rịba ama na site na ide edemede a ụdị kachasị ọhụrụ bụ 2.8, nke a nwere ike ịgbanwe n'ọdịnihu, si otú ahụ jide n'aka na ị ga-eji ụdị kachasị ọhụrụ:

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

Ozugbo nbudata ahụ zuru, wepụ faịlụ ahụ wee gbanwee gaa na ndekọ ahụ.

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

Nzọụkwụ ọzọ bụ ịkwadebe ngwugwu a ga-achịkọta. Ị nwere ike iji iwu a:

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

I kwesịghị ịhụ mperi ma ọ bụ ịdọ aka ná ntị ọ bụla. Gbaa mbọ hụ na emezuru ihe ndabere niile:

$ make dep

Ma ugbu a, anyị nwere ike mezue nwụnye na njikọ ọba akwụkwọ na:

$ make && sudo make install && sudo ldconfig

N'ikpeazụ, hụ na arụnyere ụlọ akwụkwọ niile wee nwee:

$ ldconfig -p | grep pj

Ị ga-enweta nsonaazụ a:

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

Kwụpụ 3: Wụnye akara mmuke na CentOS 8/7

Anyị dị njikere ugbu a ibido ntinye nke akara mmuke. Gaaghachi na ndekọ ~/ wuo anyị:

$ cd ~/build

Gaa na iwu wget ka ibudata faịlụ na ọnụ.

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

Site na ide nkuzi a, ụdị akara mmuke kachasị ọhụrụ bụ 16. Jide n'aka na ị na-ebudata ụdị akara ngosi kachasị ọhụrụ, mgbe ị na-agbaso usoro.

Ugbu a wepụ ihe ndekọ ahụ wee gaa na ndekọ aha emepụtara ọhụrụ:

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

Nke a bụ oge ikwu, na ọ bụrụ na-ịchọrọ ime ka mp3 nkwado ka ọ kpọọ egwu mgbe onye ahịa na-ejide, ị ga-achọ ịwụnye ihe ndabere ole na ole. Usoro ndị a bụ nhọrọ:

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

Mgbe nzọụkwụ nke abụọ gachara, ị ga-enweta nsonaazụ yiri nke a:

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.

Malite site na ịmegharị edemede nhazi iji kwado ngwugwu maka ịchịkọta:

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

Ọ bụrụ na ị nweta ihe ndabere ọ bụla na-efu iji wụnye ha. N'okwu m, enwere m njehie a:

configure: error: patch is required to configure bundled pjproject

Iji gaa na nke a dị nnọọ ọsọ:

# yum install patch 

Ma megharịa edemede nhazi ahụ. Ọ bụrụ na ihe niile gara nke ọma na-enweghị njehie, ị ga-ahụ nseta ihuenyo na-esonụ.

Ugbu a, ka anyị bido usoro iwu:

$ make menuselect

Mgbe sekọnd ole na ole gachara, ị ga-enweta ndepụta atụmatụ iji mee:

Ọ bụrụ na ị nwaa iji atụmatụ ejidere egwu, ị ga-eme ka atụmatụ \format_mp3 si na ngalaba Add-ons rụọ ọrụ. Chekwaa ndepụta gị wee mee iwu a:

$ make && sudo make install

Iji tinye faịlụ nhazi nlele, jiri iwu dị n'okpuru:

$ sudo make samples

Ka ịmalite akara mmuke na buut, jiri:

$ sudo make config

Melite nwe nke akwụkwọ ndekọ aha na faịlụ ndị a:

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

N'ikpeazụ, ka anyị jiri:

$ sudo service asterisk start
$ sudo asterisk -rvv

Ị ga-ahụ mmepụta yiri nke a:

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>

Ọ bụrụ na ịchọrọ ịhụ ndepụta iwu dị, ụdị:

asterisk*CLI> core show help

Iji pụọ ozugbo akara mmuke, pịnye naanị:

asterisk*CLI> exit

Akara mmuke ka ga na-agba n'azụ.

Ugbu a ị nwere ihe nkesa akara mmuke na-agba ọsọ ma ị nwere ike ịmalite ijikọ ekwentị na ndọtị wee mezie nhazi gị maka mkpa gị. Maka nkọwa ndị ọzọ ka esi enweta nke a, a na-atụ aro ka ị jiri ibe akara mmuke Wiki. Ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ kwuo, biko mee ka anyị mara na ngalaba nkọwa n'okpuru.