Home
FreePBX-17 - ตอนที่ 1 - ติดตั้ง (Debian-12/Asterisk-22/FreePBX-17)
- Details
- Written by Super User
- Category: FreePBX
- Hits: 422
ซื้อสินค้า VoIP คลิกไปที่ https://www.lazada.co.th/shop/adventek/
ในบทความนี้ เราจะติดตั้ง FreePBX-17 และ Asterisk-22 บน Debian-12 ขั้นตอนแรกให้ติดตั้ง Debian-12 Minimal
ตาม link นี้ครับ ติดตั้ง Debian-12 Minimal แล้วกำหนด fixed IP address ตาม link Set fixed IP address on debian-12
จากนั้น login ผ่าน secure shell (putty บน Windows) โดยใช้ user / password ที่กำหนดตอนติดตั้ง เมื่อ login แล้ว
จะได้ prompt ดังนี้
david@debian:~$
user = david, hostname = debian
เปลี่ยน user จาก david เป็น root เพื่อติดตั้ง program
david@debian:~$ su -
ติดตั้งโปรแกรมที่จำเป็น
root@debian:~# apt -y install locales sngrep build-essential net-tools aptitude openssh-server apache2 mariadb-server mariadb-client odbc-mariadb bison doxygen flex curl sox libncurses5-dev libssl-dev libmariadb-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool-bin autoconf git subversion uuid uuid-dev libiksemel-dev postfix mailutils nano libspandsp-dev libcurl4-openssl-dev libical-dev libneon27-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libsrtp*-dev unixodbc unixodbc-dev xinetd e2fsprogs dbus sudo xmlstarlet lame ffmpeg dirmngr linux-headers-`uname -r` gnupg2 nodejs npm ipset fail2ban redis-server chrony incron software-properties-common python3-mysqldb default-libmysqlclient-dev
root@debian:~# apt -y install php8.2 php8.2-curl php8.2-cli php8.2-mysql php8.2-mbstring php8.2-gd php8.2-xml php8.2-intl php8.2-redis php8.2-bz2 php8.2-ldap php8.2-bcmath php8.2-sqlite3 php-pear libapache2-mod-php
คอนฟิก odbc
แก้ไขไฟล์ /etc/odbcinst.ini ดังนี้
[MySQL]
Description = ODBC for MariaDB
Driver = libmaodbc.so
FileUsage = 1
แก้ไขไฟล์ /etc/odbc.ini ดังนี้
[MySQL-asteriskcdrdb]
Description = MariaDB connection to 'asteriskcdrdb' database
driver = MySQL
server = localhost
database = asteriskcdrdb
Port = 3306
Socket = /var/run/mysqld/mysqld.sock
option = 3
ติดตั้ง Asterisk จาก Source Code
ไปที่ folder /usr/src
root@debian:~# cd /usr/src
ดาวน์โหลด Asterisk-22
root@debian:~# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz
แตกไฟล์
root@debian:~# tar zxvf asterisk-22-current.tar.gz
root@debian:~# cd /usr/src/asterisk-22*/
root@debian:~# ./contrib/scripts/get_mp3_source.sh
root@debian:~# ./contrib/scripts/install_prereq install
root@debian:~# make distclean
root@debian:~# ./configure --with-jansson-bundled
root@debian:~# make menuselect
เลือก options ตามต้องการ หรือ ใช้ค่า default ก็ได้
เพิ่ม user asterisk
root@debian:~# adduser asterisk --disabled-password --gecos "Asterisk User"
compile โปรแกรม
root@debian:~# make && make install && chown -R asterisk:asterisk /var/lib/asterisk
ติดตั้งคอนฟิกตัวอย่าง
root@debian:~# make samples
ติดตั้ง FreePBX
root@debian:~# cd /usr/src
root@debian:~# git clone -b release/17.0 --single-branch https://github.com/freepbx/framework.git freepbx
root@debian:~# cd /usr/src/freepbx
root@debian:~# ./start_asterisk start
root@debian:~# ./install -n
root@debian:~# fwconsole ma installall
root@debian:~# fwconsole chown
root@debian:~# fwconsole restart
edit file /etc/systemd/system/freepbx.service ดังนี้
[Unit]
Description=Freepbx
After=mariadb.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start -q
ExecStop=/usr/sbin/fwconsole stop -q
[Install]
WantedBy=multi-user.target
กำหนดให้ run freepbx service ตอน boot server
root@debian:~# systemctl enable freepbx
คอนฟิก web server (apache2)
run apache2 ด้วย user asterisk, group asterisk
root@debian:~# sed -i 's/\(APACHE_RUN_USER=\)\(.*\)/\1asterisk/g' /etc/apache2/envvars
root@debian:~# sed -i 's/\(APACHE_RUN_GROUP=\)\(.*\)/\1asterisk/g' /etc/apache2/envvars
root@debian:~# chown asterisk: /run/lock/apache2
root@debian:~# mv /var/www/html/index.html /var/www/html/index.html.disable
root@debian:~# a2enmod rewrite
root@debian:~# a2enmod ssl
Edit file /etc/apache2/apache2.conf มองหาใน section
<Directory /var/www/>
...
</Directory>
แก้ AllowOverride None เป็น AllowOverride All
reboot server
root@debian:~# reboot
บทความตอนที่ 2 จะใช้ web interface เพื่อคอนฟิกระบบ
IssabelPBX5-1 ติดตั้ง
- Details
- Written by Super User
- Category: IssabelPBX4/5
- Hits: 87
Download iso file จาก https://sourceforge.net/projects/issabelpbx/files/Issabel%205/issabel5-USB-DVD-x86_64-20240430.iso/download เขียนลง DVD แล้วนำ DVD ไปบูท server ที่เตรียมไว้ (spec server => CPU ตะกูล xeon, RAM 4 - 8 GB, HDD 1 - 2 TB)
กด TAB เลือก "Test this media & install" แล้วกด Enter
เลือกภาษาที่ใช้ระหว่างติดตั้ง แล้วคลิกปุ่ม Continue
คลิก icon "Keyboard" เพื่อเลือก ไทยหรืออังกฤษ
คลิก icon "Root Password" เพื่อตั้งค่า root password ของระบบ แล้วคลิกปุ่มเริ่มการติดตั้ง
รอจนกระทั้งติดตั้งเรียบร้อยแล้วคลิกปุ่ม "Reboot System"
เมื่อ server start ขึ้นมาแล้ว ให้ login เข้าระบบด้วย root โดยใช้ password ที่กำหนดตอนติดตั้ง จากนั้นระบบจะให้ตั้งค่า root
password ของ MariaDB ให้ตั้งค่าตามต้องการ
ระบบจะให้ตั้งค่า password ของ admin ที่ login เข้าหน้าเว็บเพื่อจัดการระบบ ให้ตั้ง password ของ admin ตามต้องการ
ระบบให้เลือกภาษาบนหน้าเว็บที่จัดการระบบ เลือก English
เลือก chan_pjsip เป็น default (port 5060), chan_sip จะเป็นตัวเลือกรอง (port 5066)
เลือก "Thank you. I will" เป็นอันเสร็จขั้นตอนการติดตั้ง
ถ้าพอมีเงินก็ donate ช่วย project issabel ได้ที่ https://www.patreon.com/issabel
IssabelPBX4-3 ติดตั้งและคอนฟิก Outbound Call Center
- Details
- Written by Super User
- Category: IssabelPBX4/5
- Hits: 5536
ซื้อสินค้า VoIP คลิกไปที่ https://www.lazada.co.th/shop/adventek/
Outbound call center จะมี predictive dialer เป็นตัวจัดการโทรออกแล้วส่ง calls ให้กับ agents โดยปกติเมื่อติดตั้ง Call Center Community Edition ระบบจะ start dialer ให้เลย ดู status dialer ได้จาก Call Center -> Configuration
Dialer Status Current Status: Running
ขั้นตอนถัดไปก็ทำได้ทำนองเดียวกันกับการเซ็ตอัพ Inbound Call Center คือ
1. สร้าง User Groups ใน Elastix กำหนด Group Permissions เป็น Agent Console เท่านั้น Add Users ตามต้องการ
2. สร้าง extensions ตามต้องการพร้อมทั้งติดตั้ง IP phones หรือ softphones ให้เรียบร้อย
3. สร้าง Agents ใน Call Center Addon
4. สร้าง Queue ใน Elastix
5. สร้าง form ใน Call Center Addon
6. สร้าง Campaign ไปที่ Call Center -> Outgoing Calls -> Campaign -> Create New Campaign
Name: ชื่อแคมเปญ
Range Date: วันเริ่ม วันหยุด run campaign
Schedule per day: เวลาเริ่ม เวลาหยุด ในแต่ละวัน
Form: เลือกแบบฟอร์มที่จะใช้งาน
External URLs: ลิ้งค์ไประบบ CRM (ถ้ามี)
Trunk: เลือก trunk ในการโทรออก
Max. used channels: จำนวนช่องสัญญาณในการโทรออก
Queue: เลือก queue ที่ใช้งานใน campaign นี้
แล้วคลิกปุ่ม "Apply changes"
หลังจากที่ได้สร้าง outbound campaign แล้ว ขั้นต่อไป คือ การ load contacts
เตรียม contact lists โดยใช้ excel แล้ว save ให้อยู่ในรูป csv file ดังนี้
คอลัมน์แรก คือ หมายเลขโทรศัพท์
คอลัมน์ที่ 2 คือ บัตรประชาชน
คอลัมน์ที่ 3 คือ ชื่อ
คอลัมน์ที่ 4 คือ นามสกุล
คลิกไปที่ Call Center → Outgoing Calls ที่ campaign "Telesales" คลิก [ Load Contacts ]
Call File Encoding: UTF-8 - Universal
Call File: contacts.csv (ไฟล์ contact lists ที่เตรียมไว้)
แล้วคลิกปุ่ม "Save"
หลังจากนั้นให้ agent login เข้าระบบ ก็พร้อมที่จะรับสายที่ระบบโทรออกไปตาม contact lists แล้ว
เมื่อมีสายเข้ามา แถบ status จะเป็นสีเขียว ช่อง Information แสดงรายละเอียดของ contact
แบบฟอร์มจะถูก pop-up ขึ้นมา สามารถกรอกข้อมูล แล้วกดปุ่ม "Save data" เพื่อบันทึกข้อมูลได้
หลังจากคุยจบให้กดปุ่ม Hangup (ไม่ต้องไปวางสายที่เครื่องโทรศัพท์) แล้วรอรับสายต่อไป
ข้อมูลที่บันทึกไว้สามารถ download จากหน้า Call Center → Outgoing Calls → Campaigns →Telesales → CSV Data
ในส่วน Reports ก็ดูได้จาก Call Center → Reports เช่นเดียวกันกับ Inbound Call Center
IssabelPBX4-5 ตัวอย่างการติดตั้ง คอนฟิก IssablePBX สำหรับ office ขนาดเล็ก
- Details
- Written by Super User
- Category: IssabelPBX4/5
- Hits: 2119
ซื้อสินค้า VoIP คลิกไปที่ https://www.lazada.co.th/shop/adventek/
IssabelPBX4-2 ติดตั้งและคอนฟิก Inbound Call Center
- Details
- Written by Super User
- Category: IssabelPBX4/5
- Hits: 7398
ซื้อสินค้า VoIP คลิกไปที่ https://www.lazada.co.th/shop/adventek/
ขั้นตอนแรก ให้ติดตั้ง Call Center Community Edition ก่อน
โดยคลิกไปที่ Addons → Call Center Community Edition → INSTALL
เมื่อติดตั้งเรียบร้อย จะได้ menu ด้านซ้ายมือ คือ
Agent Console เป็นหน้าใช้งานของ agents
Outgoing Calls สำหรับเซ็ตอัพ outbound call center
Ingoing Calls สำหรับเซ็ตอัพ inbound call center
Agent Options สำหรับเซ็ตอัพ การทำงานของ agent ในลักษณะต่างๆ
Breaks สำหรับเซ็ตอัพ หัวข้อการพักของ agents
Forms สำหรับเซ็ตอัพ การสร้างแบบฟอร์ม เพื่อบันทึกเมื่อมีการสอบถามความต้องการของลูกค้า
Reports แสดงรายงานแง่มุมต่างๆ ของ call center
Configuration สำหรับเซ็ตอัพ คอนเน็คชั่นระหว่างซอฟท์แวร์ Call Center และ Asterisk,
เซ็ตอัพค่า parameters ต่างๆ ของการโทร และสุดท้าย แสดง status ของ dialer
ขั้นตอนที่ 2 ให้กลับไปหน้า System → Users → Groups เพื่อสร้าง group ใหม่ สำหรับ agents
ตามรูปคือ group Call Center
เสร็จแล้วกำหนด Group Permissions สำหรับ group Call Center
ให้ใช้งานได้เฉพาะ Resource agent_console เท่านั้น ดังรูป
เพิ่ม Users (call center agents) เข้ากลุ่ม Call Center ทั้งหมด (ไม่ต้องกำหนด extensions) ดังรูป
ขั้นตอนที่ 3 สร้าง extensions ให้พอกับจำนวน agents (SIP หรือ IAX ก็ได้)
ขั้นตอนที่ 4 กลับมาที่ Call Center → Agent Options → Agents เพื่อสร้าง agents ตามจำนวนที่ต้องการ
ช่อง Number หมายถึง agent number (agent id) ไม่ใช่ extensions
ขั้นตอนที่ 5 สร้าง Queue โดยใช้ Static Agents คือ agent ที่เราสร้างขึ้นในตอนที่แล้ว สังเกตว่าต้องมี A นำ
ตามด้วย agent ID เลขศูนย์ (หรือเลขอื่นๆ) ที่ตามมา คือ priority ของ agent นั้นๆ
ขั้นตอนที่ 6 สร้างแบบฟอร์มสำหรับกรอกข้อมูล เมื่อลูกค้าโทรเข้ามา
คลิกไปที่ Call Center → Forms → Form Designer
ขั้นตอนที่ 7 สร้าง Inbound Campaigns
คลิกไปที่ Call Center → Ingoing Campaigns → Create New Campaign
ใส่ข้อมูลตามรูปข้างล่าง แล้วคลิก Apply changes
ชั้นตอนที่ 8 ใช้งานจริง agent ล็อกอินเข้าระบบ โดยเปิด web browser เช้าไปที่ https://issabel_ip_address จะได้หน้าเว็บตามรูปข้างล่าง
login ด้วย issabel user: somchai
password: xxxxxxx
เมื่อล็อกอิน issabel เข้ามา จะเห็นหน้าล็อกอิน Call Center ให้เลือก Agent Number และ Extension ที่จะใช้งานแล้วคลิกปุ่ม Enter
เข้ามาใน Call Center จะเห็นหน้าเว็บดังรูป
Agent/Number - agent name
Status: No active call / Connected to call
ปุ่ม Take Break - กดเพื่อหยุดพัก สายจะไม่เข้า
ปุ่ม VTiger CRM - กดเพื่อลิ้งค์ไประบบ CRM
ปุ่ม End session - ล็อกเอ้าท์ออกจาก Call Center เมื่อหมดกะ
เมื่อมีสายเข้ามา แถบ Status จะเป็นสีเขืยว - Connected to call
ปุ่ม Hangup - สำหรับวางสาย (ไม่ต้องวางที่โทรศัพท์)
ปุ่ม Transfer - สำหรับโินสาย
ปุม Save data - สำหรับบันทึกข้อมูลที่ agent กรอกลงแบบฟอร์ม
ลองกรอกแบบฟอร์มแล้ว Save data
ข้อมูลที่กรอกแบบฟอร์มจะถูกบันทึกลง database สามารถเรียกมาดูได้ โดยไปที่ Ingoing Calls -> Ingoing Campaigns -> Test Camp (ชื่อ campaign) -> [CSV Data]
ถ้าเราต้องการดูรายงานของ Call Center สามารถคลิกไปดูได้ที่ Call Center -> Reports มีรายงานที่น่าสนใจ ดังนี้
Reports Break - แสดงการหยุดพักของ agent แต่ละคน
Calls Detail - แสดงวันเวลาที่ agent รับสาย, status การรับสาย, call recording
Calls per hours - แสดงจำนวน calls ในแต่ละชั่วโมง สามารถเลือกดูแต่ละ queue ได้
Calls per agent - แสดงจำนวน calls แต่ละ agent เลือกวันที่, queue ได้
Hold Time - แสดงเวลาที่ลูกค้ารอใน queue
Ingoing Call Success - แสดง answered calls, abandoned calls แต่ละ queue
Graphics Calls per hour - ตามชื่อนั้่นแหละ :)
Agent Information - แสดงรายละเอียดการใช้งานของแต่ละ agent
Campaigns monitoring - แสดง status ของ campaign, จำนวนสายเข้า, สายที่รอใน queue, จำนวน agent ที่ล็อกอิน เป็นต้น
Page 1 of 2