เทคนิคการติดตั้ง Asterisk+FreePBX บน Raspberry PI

Running Debian, Asterisk and FreePBX on the Raspberry Pi

เทคนิคการติดตั้ง Asterisk+FreePBX บน Raspberry PI

โพสต์โดย nuiz » 13 พ.ค. 2015 11:57

สวัสดีครับ หลังจากเมื่อวานผมได้ลงรูป Raspberry PI ให้ดูแล้วทุกซอกทุกมุม คราวนี้ก็ถึงเวลาที่จะแนะนำเทคนิควิธีการลง Asterisk บนเครื่องนี้กันแล้ว นับว่าเป็นความโชคดีของเราที่มีกลุ่มคนมากความสามารถในต่างประเทศสร้างไฟล์อิเมจให้เราเรียบร้อยแล้วครับ เราเพียงแค่ดาวน์โหลดอิเมจไฟล์มาไรท์ใส่ MicroSD Card เท่านั้น แล้วเอาไปใส่ใน Raspberry PI เราก็จะได้ Asterisk + FreePBX ไว้ใช้งานแล้วครับ ง่ายมากๆ

อิเมจไฟล์ที่ผมว่านี้สามารถดาวน์โหลดได้จากเว็บไซต์นี้ครับ http://www.raspberry-asterisk.org/downloads ซึงเขาทำไฟล์อิเมจอัพเดทมาตลอด ติดตั้งครั้งแรกเราเลือกเวอร์ชั่นล่าสุดในเว็บ หลังจากติดตั้งแล้วหากจะอัพเดทก็แค่รันคำสั่งอัพเดทเท่านั้นครับ ไม่ต้องลงใหม่

** โปรแกรมนี้ฟรีครับ **

ระบบปฏิบัติการที่เขาใช้คือ Debian ครับ ส่วน CPU บนบอร์ด Raspberry PI เขาจัดให้อยู่ในประเภท ARM ครับ ARMv6-compatible processor rev 7 (v6l)

ต่อไปนี้เป็นขั้นตอนการทำครับ ผมค้นมาจากหลายๆเว็บไซต์แล้วเอามาเขียนตามแบบฉบับของผมเอง ลองทำทุกขั้นตอนด้วยตัวเอง จึงมั่นใจได้เลยว่าเวอร์คแน่ๆครับ

มาเริ่มกันเลยครับ

1. ดาวน์โหลดไฟล์อิเมจ
จากเว็บไซต์นี้ครับ เลือกเวอร์ชั่น stable ใหม่ล่าสุด (หรือจะเอาเวอร์ชั่น beta เขาก็มีให้ลองด้วยนะครับ)
http://www.raspberry-asterisk.org/downloads

เวอร์ชั่นล่าสุดขณะเขียนบทความนี้ครับ 13/5/2558 ซึ่งหลังจากติดตั้งแล้วถ้าอัพเกรดจะได้ Asterisk 11.17
โค้ด: เลือกทั้งหมด
http://www.raspberry-asterisk.org/download/raspbx-09-02-2015.zip


แล้วแตกไฟล์ที่ดาวน์โหลดมา จะได้เป็นไฟล์ raspbx-09-02-2015.img

2. ไรท์ไฟล์อิเมจลง MicroSD

** ใช้ MicroSD Card ขนาด 4G, 8G, 16G, 32G, +++ ได้หมดครับ ของผมใช้ขนาด 8G ก็เหลือเฟือ **
** ถ้าเจอปัญหาการไรท์ไฟล์ ให้เลื่อนลงไปดูตอนท้ายของบทความนี้นะครับ **
** การ์ด MicroSD ความเร็วสูงๆก็มีผลทำให้ RasPBX ทำงานได้เร็วขึ้น **

ใช้โปรแกรม Win32DiskImager ดาวน์โหลดจากเว็บบอร์ดนี้ก็ได้ครับ รับประกันความสะอาดของไฟล์

ติดตั้งเหมือนปกติครับ แต่ตอนรันโปรแกรมบน Win7, Win8 ให้รันแบบ Run As Administrator

** ชื่อไฟล์ในรูปตัวอย่างไม่ตรงกับไฟล์จริงๆ เพราะบทความนี้ผมทำไว้ระยะหนึ่งแล้ว แต่เอามาเรียบเรียงใหม่ครับ ไม่ว่ากันนะครับ **

รูปภาพ

เลือกไฟล์ image แล้วเลือกไดร์ฟ (ให้ชัวร์ว่าเป็นไดร์ฟที่เราใส่ MicroSD ที่ต้องการ ไม่เช่นนั้นข้อมูลในไดรฟ์หายเกลี้ยงเลยนะครับ !!!) แล้วกด Write

รูปภาพ

ยืนยันกด Yes

แสดงสถานะขณะกำลังไรท์ข้อมูลอิเมลไฟล์ลง MicroSD
รูปภาพ

รอจน Write Success
รูปภาพ

3. ติดตั้ง MicroSD ในเครื่อง Raspberry Pi
ถอด MicroSD ไปใส่ในเครื่อง Raspberry PI แล้วเสียบจอมอนิเตอร์ทางช่อง HDMI เสียบคีย์บอร์ด เม๊าส์ และจ่ายไฟเข้าเครื่อง เครื่องจะบู๊ต Debian รอจนบู๊ตเสร็จและเห็นพร้อมท์ให้ล๊อกอิน

** ถ้าไม่มีจอมอนิเตอร์หรือจอทีวีที่รองรับ HDMI ก็ให้เช็คจาก DHCP Server ว่าแจกไอพีอะไรไปให้ Raspberry PI แล้วรีโมทด้วย SSH เข้าไปครับ ดีฟอลท์ root password คือ raspberry ครับ **
** ให้ Raspberry PI ออกเน็ตได้ก่อนนะครับ เพราะมันต้องอัพเดท **

ตัวอย่างที่ผมดูไอพีจาก DHCP server ครับ
รูปภาพ

ใช้ Putty หรือโปรแกรม SSH Client อื่นๆเช่น Bitwise, SecureCRT รีโมทเข้าไอพี 192.168.130.124

โค้ด: เลือกทั้งหมด
Rasbian GNU/Linux 7 raspbx tty1
raspbx login:

ใส่ root และพาสเวอร์ด raspberry ก็จะได้ข้อความแบบนี้

โค้ด: เลือกทั้งหมด
Linux raspbx 3.12.25+ #700 PREEMPT Thu Jul 24 17:51:46 BST 2014 armv6l

Welcome to RasPBX - Asterisk for Raspberry Pi

RasPBX is based on Debian. The programs included with the Debian GNU/Linux
system are free software; the exact distribution terms for each program are
described in the individual files in /usr/share/doc/*/copyright.

RasPBX comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

List of RasPBX specific commands:
-----------------------------------------------------------------------------
raspbx-upgrade      Keep your system up to date with the latest add-ons and
                    security fixes
configure-timezone  Set timezone for both system and PHP
install-fax         Install HylaFAX                         
add-fax-extension   Add additional fax extension for use with HylaFAX
install-fail2ban    Install Fail2Ban for additional security
install-dongle      Install GSM/3G calling capability with chan_dongle
raspbx-backup       Backup your complete system to an image file

Last login: Sat Dec  6 15:29:13 2014

ข้างบนนั้นเป็นคำสั่งที่เขาให้เรารันเพื่อคอนฟิกระบบครับ เลือกเอาตามความเหมาะสม

4. อัพเกรด
รันคำสั่งอัพเกรด
โค้ด: เลือกทั้งหมด
raspbx-upgrade

ใช้เวลานานสักหน่อยครับ ให้รอจนเสร็จ (หรือ SSH รีโมทเข้าอีกเซสชั่นหนึ่งได้ เพื่อทำงานอย่างอื่นต่อ หรือจะเข้าหน้าเว็บไปคอนฟิก FreePBX ระหว่างที่รออัพเกรดก็ได้)

5. ตั้งเวลาในเครื่องให้ตรง
อันนี้ทำคู่ขนานไปกับการอัพเดทได้นะครับ โดยเปิด SSH อีกเซสชั่นหนึ่ง
โค้ด: เลือกทั้งหมด
configure-timezone

ตั้งให้เป็น Asia -> Bangkok ครับ เวลาในเครื่องจะได้ตรงกับเวลาปัจจุบัน

ุ6. พาสเวอร์ดดีฟอลท์ต่างๆ
พาสเวอร์ดดีฟอลท์ครับ
ssh root/raspberry
mysql root/raspberry
freepbx admin/admin

7. หน้าเว็บ FreePBX
ล๊อกอินเข้าหน้าเว็บคอนฟิก FreePBX
http://x.x.x.x

รูปภาพ

** โมดูลที่ติดตั้งดีฟอลท์มาให้ใน FreePBX ถึงจะไม่ค่อยเยอะแต่ก็ใช้งานได้ครับ แต่เราก็ติดตั้งเพิ่มได้จากหน้าเว็บ FreePBX นั่นแหล่ะ ติดตั้งมากเกินไปเครื่องจะอืดได้นะครับ **
** เขาไม่ได้จำกัดว่าเราจะสร้างกี่ extension กี่ trunk อยากสร้างก็สร้างไปครับ ทุกฟีเจอร์ทำได้เหมือนเวอร์ชั่นที่ลงบนเครื่อง PC เลยครับ **
** ผมว่า concurrent calls หรือคู่สายที่จะโทรได้พร้อมกันไม่น่าเยอะครับ ผมเคยลอง 5 สายพร้อมกัน ก็ยังปกติอยู่ครับ แถมยังบันทึกเสียงได้ด้วย **
** ติดตั้ง G.729 ได้ด้วยนะครับและใช้งานได้จริงด้วย ไว้ผมจะแนะนำเทคนิควิธีการติดตั้งคราวหน้าครับ หรือถ้าใจร้อนก็หาได้จากใน Google ครับ **

8. ติดตั้ง ngrep และ wireshark
เอาไว้มอนิเตอร์เวลาเกิดปัญหาการเชื่อมต่อ VoIP ครับ
โค้ด: เลือกทั้งหมด
apt-get install ngrep wireshark


9. ติดตั้ง Fax Gateway(Hylafax)
** ไม่ต้องก็ได้นะครับ แล้วแต่ **
จะเป็นการ Add เบอร์ Extension สำหรับ Fax โดยจะทำเพิ่มทั้งใน HylaFax, FreePBX, Asterisk และคอนฟิก Email ไว้ในการส่ง Fax เข้า Email อีกด้วย สร้างได้หลาย Extension

9.1 รันคำสั่งนี้
โค้ด: เลือกทั้งหมด
install-fax

9.2 สร้าง Fax Extension
โค้ด: เลือกทั้งหมด
add-fax-extension


การรับ Fax จะรับจากทางเบอร์ DID ที่คอนฟิกใน Inbound Routes ของ FreePBX
การส่ง Fax จะส่งจากโปรแกรม Winprint Hylafax Reloaded ที่ติดตั้งในคอมพิวเตอร์

เทคนิคการติดตั้งและคอนฟิก RasPBX ให้ทำงานเป็น Fax Gateway ตอนที่ 1

10. ติดตั้งโปรแกรม Hardware Clock
ติดตั้งโปรแกรมเพื่อจำลองเป็น Hardware Clock เพราะในเครื่อง Raspberry PI มันไม่มี Hardware Clock อย่างใน PC ครับ บางโปรแกรมจะอ้างอิงถึง Hardware Clock ด้วย
โค้ด: เลือกทั้งหมด
apt-get install fake-hwclock


11. ทำให้เห็นเต็มความจุ MicroSD
และสุดท้ายสำหรับบทความนี้ครับ ทำให้ Raspberry PI มองเห็นเต็มความจุของ SD Card
บน Linux Prompt ลองรันคำสั่งนี้ครับ ซึ่งจะเช็คว่าแต่ละพาร์ติชั่นมีขนาดเท่าไหร่

** คำสั่งในหัวข้อนี้บางทีอาจไม่มีในเวอร์ชั่นใหม่ๆครับ ให้ทำตามข้อมูลในบทความนี้แทนหล่ะกันครับ เทคนิคการขยายขนาดพาร์ติชั่นให้เต็มความจุของ MicroSD **

โค้ด: เลือกทั้งหมด
df -h

แล้วดูบรรทัด rootfs และ /dev/root ครับ จะเห็นว่ามีเนื่อที่น้อยมาก (โทษทีครับไม่มีตัวอย่างให้ดูเพราะผมรันคำสั่งแก้ไขแล้ว) จาก MicroSD ขนาด 8G มองเห็นแค่ 1.2G เอง ที่เหลือมันหายไปไหน???
วิธีแก้ไขคือรันคำสั่งนี้ครับ
โค้ด: เลือกทั้งหมด
raspi-config

จะได้แบบนี้
โค้ด: เลือกทั้งหมด
1 Expand Filesystem              Ensures that all of the SD card storage is available to the OS
2 Change User Password           Change password for the default user (pi)
3 Enable Boot to Desktop/Scratch Choose whether to boot into a desktop environment, Scratch, or the command-line
4 Internationalisation Options   Set up language and regional settings to match your location
5 Enable Camera                  Enable this Pi to work with the Raspberry Pi Camera
6 Add to Rastrack                Add this Pi to the online Raspberry Pi Map (Rastrack)
7 Overclock                      Configure overclocking for your Pi
8 Advanced Options               Configure advanced settings
9 About raspi-config             Information about this configuration tool

เลือก 1 Expand Filesystem ครับ (ใช้ปุ่มลูกศรเลื่อนแล้วกด enter) จะเห็นข้อความว่า
Root partition has been resized.
The filesystem will be enlarged upon the next reboot
ให้กด OK แล้วรีบู๊ตเครื่อง (จะออกจากเมนูตามขั้นตอนหรือดึงปลั๊กออกเสียบใหม่ก็ได้)

พอบู๊ตเครื่องเสร็จก็ลองรันคำสั่ง df -h อีกครั้งครับ คราวนี้จะเห็นเนื้อที่เพิ่มขึ้นมาอย่างมากมาย
โค้ด: เลือกทั้งหมด
root@raspbx:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.2G  1.7G  5.3G  24% /
/dev/root       7.2G  1.7G  5.3G  24% /
devtmpfs        239M     0  239M   0% /dev
tmpfs            49M  392K   49M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            97M     0   97M   0% /run/shm
/dev/mmcblk0p1   75M   27M   48M  36% /boot
/dev/root       7.2G  1.7G  5.3G  24% /var/spool/hylafax/etc


ปัญหาที่อาจพบระหว่างการไรท์ไฟล์ Image
1. มีข้อความฟ้อง Error 1117 แบบนี้
รูปภาพ

มือท่านอาจไปโดนตัว USB Adapter ที่ใส่ MicroSD ครับ จัดให้เข้าที่เข้าทางแล้วลองไรท์ใหม่อีกครั้ง

2. เจอข้อความฟ้องว่า "Error 5: Access is denied"
รูปภาพ

เกิดจากตอนเปิดโปรแกรม Win32DiskImager ไม่ได้ให้รันแบบ Run As Administrator ครับ

ขอจบบทความนี้ไว้เพียงเท่านี้ก่อนครับ ไว้เจอกันคราวหน้า ขอบคุณครับ

บทความที่เกี่ยวข้อง
แนะนำ Raspberry PI เครื่องเล็กๆแต่ความสามารถไม่เล็ก
เทคนิคการติดตั้ง Free G.729 Codec บน Raspberry Pi
เทคนิคการขยายขนาดพาร์ติชั่นให้เต็มความจุของ MicroSD
เทคนิคการอัพเกรดโมดูลของ FreePBXเทคนิคการติดตั้งโมดูล FreePBX เพิ่ม จะได้เมนูเพิ่ม
เทคนิคการติดตั้งและคอนฟิก RasPBX ให้ทำงานเป็น Fax Gateway ตอนที่ 1
** หากมีปัญหากับอุปกรณ์หรือบริการที่ทำหรือซื้อมาเอง ให้โพสต์ถามในเว็บนะครับ ขอสงวนสิทธิ์การให้ความช่วยเหลือแบบส่วนตัวเฉพาะลูกค้าที่ซื้อสินค้าและบริการจากผมเท่านั้นครับ **
** ติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ครับ **
nuiz
Diamond Member
 
โพสต์: 4382
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: เทคนิคการติดตั้ง Asterisk+FreePBX บน Raspberry PI

โพสต์โดย max0405 » 13 พ.ค. 2015 14:17

เยี้ยมครับบทความดีๆ

ผมลอง FreePBX 12.0.38 ยังเป็นตัว Beta สวยงามมาก GUI ปรับใหม่ เป็นกราฟ



โค้ด: เลือกทั้งหมด
http://www.raspberry-asterisk.org/download/raspbx-22-02-2015.zip



เมนูบน Raspberry Vs On Server อะไรที่หายไปบ้างดูกันน่ะคับ
แนบไฟล์
11203092_868032296576800_8452352017498043580_n.jpg
ผมลอง FreePBX 12.0.38 ยังเป็นตัว Beta สวยงามมาก GUI ปรับใหม่ เป็นกราฟ
11203092_868032296576800_8452352017498043580_n.jpg (24.33 KiB) เปิดดู 1711 ครั้ง
11165292_868159849897378_4296310866486765080_n.jpg
เมนูบน Raspberry Vs On Server อะไรที่หายไปบ้างดูกันน่ะคับ
11165292_868159849897378_4296310866486765080_n.jpg (42.76 KiB) เปิดดู 1711 ครั้ง
max0405
Gold Member
 
โพสต์: 144
ลงทะเบียนเมื่อ: 10 ธ.ค. 2014 09:26

Re: เทคนิคการติดตั้ง Asterisk+FreePBX บน Raspberry PI

โพสต์โดย nuiz » 06 ธ.ค. 2015 11:43

เสป็คของการ์ด MicroSD ก็มีส่วนที่ทำให้ RasPBX ทำงานได้ช้าหรือเร็วด้วยนะครับ ซึ่งเสป็คที่กำหนดว่าการ์ดจะรองรับการไรท์ข้อมูลได้ขั้นต่ำเป็นเท่าไหร่เขาเรียกว่า "Class" ครับ ซึ่งปัจจุบันมี Class 2, 4, 6 และ 10 โดยที่

Class 2 จะไรท์ข้อมูลได้เร็วอย่างน้อย 2MB/s (2 เมกกะไบต์ต่อวินาที)
Class 4 จะไรท์ข้อมูลได้เร็วอย่างน้อย 4 MB/s
Class 6 จะไรท์ข้อมูลได้เร็วอย่างน้อย 6 MB/s
Class 10 จะไรท์ข้อมูลได้เร็วอย่างน้อย 10 MB/s

** ตอนนี้ผมยังไม่มีข้อมูลว่า Raspberry Pi รองรับ MicroSD card ได้ Class อะไรบ้าง หากท่านใดพบแหล่งข้อมูลที่พูดถึงเรื่องนี้กรุณาโพสต์แจ้งด้วยนะครับ ผมจะเข้าไปดู ขอบคุณครับ **

มาดูรูปตัวอย่างครับ ผมใช้ MicroSD Class 10 ใส่ใน USB 2.0 Reader ในช่อง USB 2.0 บนเครื่องโน๊ตบุ๊ค ตัวเลขการไรท์ข้อมูลลง MicroSD คือ ประมาณ 10 MB/s ครับ ไร้ท์เร็วมากเมื่อเทียบกับ MicroSD Class 4 อีกอันที่ผมมี

รูปภาพ
** หากมีปัญหากับอุปกรณ์หรือบริการที่ทำหรือซื้อมาเอง ให้โพสต์ถามในเว็บนะครับ ขอสงวนสิทธิ์การให้ความช่วยเหลือแบบส่วนตัวเฉพาะลูกค้าที่ซื้อสินค้าและบริการจากผมเท่านั้นครับ **
** ติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ครับ **
nuiz
Diamond Member
 
โพสต์: 4382
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33


ย้อนกลับไปยัง RasPBX - Asterisk for Raspberry Pi

ผู้ใช้งานขณะนี้

่กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 1 ท่าน