Linux & VoIP

ارائه مطالب تحت ساختار دنیای Linux و VoIP

Linux & VoIP

ارائه مطالب تحت ساختار دنیای Linux و VoIP

در این وبلاگ سعی بر این است تا مطالب مفید و صحیح و تست شده توسط مدیر بلاگ منتشر گردد

طبقه بندی موضوعی
بایگانی
پربیننده ترین مطالب

آموزش نصب Asterisk روی CentOS 7

جمعه, ۴ اسفند ۱۳۹۶، ۱۰:۱۶ ب.ظ
با سلام 

برای مشاهده آموزش نصب و راه اندازی سرویس Asterisk روی لینوکس CentOS 7 به ادامه مطلب مراجعه فرمایید...

این آموزش تست شده میباشد و بدون هیچ مشکلی میتوانید نرم افزار استریسک را روی لینوکس نصب کنید

مراحل نصب:

1.ابتدا اطمینان خاطر کسب کنید که سرویس SELinux شما غیر فعال باشد ، برای بررسی این مورد با یکی از ویرایشگر های متن معروف (ترجیها Vim)

آدرس زیر را باز کنید و سپس بررسی کنید  SELINUX=disabled  باشد :

/etc/selinux/config

2.پکیج های سیستم را آپدیت کنید:

sudo yum update

3.یک بار ریبوت دهید :

reboot

4.نوبت به انجام تنظیمات فایروال IPTables میرسد ، ابتدا دستور زیر را اجرا کنید:

sudo iptables -L
خروجی باید شبیه زیر باشد:

Chain INPUT (policy ACCEPT)
target      prot opt source                    destination

Chain FORWARD (policy ACCEPT)
target      prot opt source                    destination

Chain OUTPUT (policy ACCEPT)
target      prot opt source                    destination

حالا با استفاده از ویرایشگر متن مورد علاقتون فایل زیر را بسازید :

/etc/iptables.firewall.rules

و در فایل ساخته شده متن زیر را Copy و Paste کنید و سپس فایل را ذخیره کنید:
*filter

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config, ie 8050
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# SIP on UDP port 5060, 5061 for secure signaling. Used for signals such as "hang up"
-A INPUT -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -p udp -m udp --dport 5061 -j ACCEPT

# IAX2- the IAX protocol - comment out if you don't plan to use IAX
# -A INPUT -p udp -m udp --dport 4569 -j ACCEPT

# IAX - old IAX protocol, uncomment if needed for legacy systems.
# -A INPUT -p udp -m udp --dport 5036 -j ACCEPT

# RTP - the media stream - you can change this in /etc/asterisk/rtp.conf
-A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

# MGCP - if you use media gateway control protocol in your configuration
-A INPUT -p udp -m udp --dport 2727 -j ACCEPT


# Uncomment these lines if you plan to use FreePBX to manage Asterisk
# -A INPUT -p tcp --dport 80 -j ACCEPT
# -A INPUT -p tcp --dport 443 -j ACCEPT

#  Allow ping
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT


5.حال باید iptables-services را نصب ، فعال و اجرا کنید:

sudo yum install -y iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables

حال باید فایلی که ساختید را فراخوانی کنید:

sudo iptables-restore < /etc/iptables.firewall.rules

حال اگر دستور iptables -L را اجرا کنید خروجی باید شبیه زیر باشد:

Chain INPUT (policy ACCEPT)
target      prot opt source                    destination
ACCEPT      all  --  anywhere                 anywhere
REJECT      all  --  anywhere                 loopback/8              reject-with icmp-port-unreachable
ACCEPT      all  --  anywhere                 anywhere                 state RELATED,ESTABLISHED
ACCEPT      tcp  --  anywhere                 anywhere                 state NEW tcp dpt:8050
ACCEPT      udp  --  anywhere                 anywhere                 udp dpt:sip
ACCEPT      udp  --  anywhere                 anywhere                 udp dpt:iax
ACCEPT      udp  --  anywhere                 anywhere                 udp dpts:ndmp:dnp
ACCEPT      udp  --  anywhere                 anywhere                 udp dpt:mgcp-callagent
ACCEPT      icmp --  anywhere                 anywhere                 icmp echo-request
LOG          all  --  anywhere                 anywhere                 limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP         all  --  anywhere                 anywhere

Chain FORWARD (policy ACCEPT)
target      prot opt source                    destination
DROP         all  --  anywhere                 anywhere

Chain OUTPUT (policy ACCEPT)
target      prot opt source                    destination
ACCEPT      all  --  anywhere                 anywhere

نتیجه را ذخیره کنید:
/usr/libexec/iptables/iptables.init save

6.در این مرحله باید Dependency های مورد نیاز قبل از نصب استریسک را نصب کنید:

sudo 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
7.حال باید PRPROJECT که در واقع Channel Driver سرویس SIP میباشد را نصب کنید ، برای این کار دستورات زیر را به ترتیب اجرا کنید:

mkdir ~/build
cd ~/build
wget http://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2
tar -jxvf pjproject-2.3.tar.bz2
cd pjproject-2.3
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
اگر تا اینجا دستورات صحیح وارد شده باشد نباید خطایی مشاهده گردد ، در صورت عدم مشاهده خطا ، ادامه دهید و دستورات زیر را وارد کنید 

make dep
make
sudo make install
sudo ldconfig
sudo ldconfig -p | grep pj
زمانی که دستور آخر را وارد کردید ، اگر مراحل صحیح باشد باید خروجی مانند خروجی زیر را مشاهده کنید:

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

8.نصب DAHDI (دلخواه میباشد)
*نصب این نرم افزار در صورتی که از کارت های تلفنی استریسک میخواهید استفاده کنید ضروری میباشد ، در غیر این صورت از این مرحله گذشته و به مرحله 9 مراجعه کنید و ادامه دهید

cd ~/build
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar -zxvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-2.10.2+2.10.2/
*لازم به ذکر است در این مرحله ممکن است ورژن dahdi که نصب کردید با فایل نام برده شده متفاوت باشد ، در این صورت باید بعد از دستور cd فایل خودتان که شبیه همین فایل نام برده شده میباشد و فقط شاید مقداری ورژن آن تغییر کرده باشد را بنویسید و enter کنید ، سپس ادامه دهید:

make
sudo make install
sudo make config

9.نصب استریسک (Asterisk) :

cd ~/build
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar -zxvf asterisk-13-current.tar.gz
cd asterisk-13.5.0
*باز هم به جای "asterisk-13.5.0 ورژن خودتان را بزنید.

10.فعالسازی MP3 Support :

sudo yum install svn
contrib/scripts/get_mp3_source.sh

11.کانفیگ و ساخت استریسک:

./configure --libdir=/usr/lib64
make
sudo make install
sudo make samples
sudo make config

تبریک ، در حال حاضر سرویس استریسک روی سیستم عامل لینوکس نصب گردید.
حال برای اجرای استریسک دستورات زیر را وارد کنید:

sudo service asterisk start
asterisk -rvv
در حال حاضر شما در محیط CLI استریسک هستید.

با سپاس که با ما همراه بودید.
لطفا در صورت هرگونه سوال درباره این آموزش در بخش نظرات سوال خود را مطرح فرمایید.

*به زودی کتاب آموزش استریسک داخل سایت گذاشته خواهد شد.

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی