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.