RasPBX - ติดตั้งและคอนฟิก chan_dongle

Running Debian, Asterisk and FreePBX on the Raspberry Pi

RasPBX - ติดตั้งและคอนฟิก chan_dongle

โพสต์โดย nuiz » 07 ธ.ค. 2015 21:35

** RasPBX เวอร์ชั่นเก่าๆจะมีปัญหาเกี่ยวกับ USB คือ ต้องดึงออกแล้วเสียงใหม่จึงจะมองเห็น แม้ว่าจะเพิ่งเปิดเครื่องก็ตาม แต่เวอร์ชั่นใหม่ๆปัญหานี้ไม่มีแล้ว เปิดกี่ครั้งก็มองเห็นหทุกครั้ง ใช้งานได้ทุกครั้ง **

ติดตั้ง chan_dongle เพื่อทำให้ USB 3G Modem (Huawei) เป็น GSM VoIP Gateway

** ใช้ DC Power Supply ขนาด 1.2A ขึ้นไป **
** ติดตั้ง USB 2G/3G/4G Modem ได้มากกว่า 1 อุปกรณ์ **
** ใช้ USB Hub ขยายพอร์ต USB ได้ แต่อาจจ่ายกระแสได้ไม่มากพอหากมี USB หลายตัว **

1. รันคำสั่งนี้เพื่อติดตั้ง
โค้ด: เลือกทั้งหมด
install-dongle

ข้อความขณะติดตั้ง
Installing GSM VoIP gateway with chan_dongle.
Please read the documentation at http://raspbx.org/dongle

Please enter the phone number of your SIM card
(defaults to +1234567890 if left blank): 0812345678 <- ไว้นว่างไว้ก็ได้ ซึ่งค่าดีฟอลท์คือ +1234567890 ต้องใส่ในช่อง DID Number ของ Inbound Routes (ถ้าต้องการให้โทรเข้าได้ด้วย)
Send incoming SMS to email address
(leave empty to disable SMS forwarding): iamaladin@gmail.com
Forward incoming SMS to mobile phone number (via dongle0)
(leave empty to disable):
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libjim0debian2 usb-modeswitch-data
Suggested packages:
comgt wvdial
The following NEW packages will be installed:
asterisk11-chandongle libjim0debian2 usb-modeswitch usb-modeswitch-data
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 441 kB of archives.
After this operation, 1,208 kB of additional disk space will be used.
Get:1 http://repo.raspbx.org/apt/debian/ wheezy/main asterisk11-chandongle all 1.1-34 [238 kB]
Get:2 http://archive.raspbian.org/raspbian/ wheezy/main libjim0debian2 armhf 0.73-3 [118 kB]
Get:3 http://archive.raspbian.org/raspbian/ wheezy/main usb-modeswitch-data all 20120815-2 [33.2 kB]
Get:4 http://archive.raspbian.org/raspbian/ wheezy/main usb-modeswitch armhf 1.2.3+repack0-1 [51.0 kB]
Fetched 441 kB in 4s (95.7 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libjim0debian2:armhf.
(Reading database ... 38071 files and directories currently installed.)
Unpacking libjim0debian2:armhf (from .../libjim0debian2_0.73-3_armhf.deb) ...
Selecting previously unselected package usb-modeswitch-data.
Unpacking usb-modeswitch-data (from .../usb-modeswitch-data_20120815-2_all.deb) ...
Selecting previously unselected package usb-modeswitch.
Unpacking usb-modeswitch (from .../usb-modeswitch_1.2.3+repack0-1_armhf.deb) ...
Selecting previously unselected package asterisk11-chandongle.
Unpacking asterisk11-chandongle (from .../asterisk11-chandongle_1.1-34_all.deb) ...
Processing triggers for man-db ...
Setting up libjim0debian2:armhf (0.73-3) ...
Setting up usb-modeswitch-data (20120815-2) ...
Setting up usb-modeswitch (1.2.3+repack0-1) ...
Setting up asterisk11-chandongle (1.1-34) ...
Saving previous contents of /etc/asterisk/extensions_custom.conf to /etc/asterisk/extensions_custom.conf.orig
Storing received SMS in /var/log/asterisk/sms.txt

Would you like to install a webpage for sending SMS with
chan_dongle? (http://raspbx/sms/) [y/N] y
Enter password for SMS page: raspberry

Please wait...


STOPPING ASTERISK
Waiting for Asterisk to Stop Gracefully...

Asterisk Stopped

SETTING FILE PERMISSIONS
Permissions OK
Removing any dangling symlinks
Dangling symlinks removed

STARTING ASTERISK
Asterisk Started
Your configuration has been saved successfully to these files:
/etc/asterisk/dongle.conf

เช็คว่า RasPBX มองเห็น 3G USB หรือไม่
โค้ด: เลือกทั้งหมด
ls -la /dev/ttyUSB*

ผลลัพธ์
โค้ด: เลือกทั้งหมด
crw-rw-rw- 1 root dialout 188, 0 Dec  7 23:04 /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 1 Dec  7 23:04 /dev/ttyUSB1
crw-rw-rw- 1 root dialout 188, 2 Dec  7 23:10 /dev/ttyUSB2
crw-rw-rw- 1 root dialout 188, 3 Dec  7 23:04 /dev/ttyUSB3
crw-rw-rw- 1 root dialout 188, 4 Dec  7 23:04 /dev/ttyUSB4
crw-rw-rw- 1 root dialout 188, 5 Dec  7 23:04 /dev/ttyUSB5

ตัวอย่างข้างบนผมใส่ USB Modem เข้าไป 2 ตัว โดยที่ 3G USB ยี่ห้อ Huawei (ยี่ห้อ iFOX ก็คือ Huawei) 1 ตัวจะมี 3 USB คือ ttyUSB0, ttyUSB1, ttyUSB2

จะรู้ได้อย่างไรว่า 3G USB ใช้ USB หมายเลขอะไร
รันคำสั่ง dmesg
หาข้อความประมาณนี้
โค้ด: เลือกทั้งหมด
[   92.596186] usbserial: USB Serial support registered for GSM modem (1-port)
[   92.819049] option 1-1.5:1.0: GSM modem (1-port) converter detected
[   92.932459] usb 1-1.5: GSM modem (1-port) converter now attached to ttyUSB0
[   93.116409] option 1-1.5:1.2: GSM modem (1-port) converter detected
[   93.264657] usb 1-1.5: GSM modem (1-port) converter now attached to ttyUSB1
[   93.464239] option 1-1.5:1.3: GSM modem (1-port) converter detected
[   93.599634] usb 1-1.5: GSM modem (1-port) converter now attached to ttyUSB2

ถ้าเป็น USB Dongle ยี่ห้อ Huawei จะมองเห็นเป็น ttyUSB0, ttyUSB1 และ ttyUSB2 สำหรับ data, voice (audio) และ cd-rom ตามลำดับ

2. คอนฟิกไฟล์ /etc/asterisk/dongle.conf
เช็คดูว่ามีบรรทัดเหล่านี้ ปกติจะมีอยู่เพราะไฟล์สคริปต์ติดตั้งจะใส่ไว้ให้
โค้ด: เลือกทั้งหมด
[dongle0]
audio=/dev/ttyUSB1
data=/dev/ttyUSB2

ถ้าเปลี่ยนช่อง USB อาจทำให้หมายเลขเปลี่ยน ต้องมาแก้คอนฟิกในไฟล์นี้ด้วย ดูว่าใช้ ttyUSB อะไรด้วยคำสั่ง dmesg

3. รีโหลด
โค้ด: เลือกทั้งหมด
asterisk -rx "module reload chan_dongle.so"


3. คำสั่งบน Asterisk Console
คำสั่งขึ้นต้นด้วย dongle
โค้ด: เลือกทั้งหมด
raspbx*CLI> dongle
callwaiting  cmd          discovery    pdu          reload       remove       reset        restart      show         sms          start        stop         ussd

เช่น
โค้ด: เลือกทั้งหมด
raspbx*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number       
dongle0      0     GSM not re 22   5    4       NONE           E1553      11.608.12.00.00   354112033045290  520032101820639  Unknown       

raspbx*CLI> dongle ussd dongle0 *121#
[dongle0] Device not connected / initialized / registered


2. ติดตั้งเว็บสำหรับรับส่ง USSD
โค้ด: เลือกทั้งหมด
apt-get install ussd-webpage

หน้าเว็บ http://x.x.x.x/ussd

3. เสียบ USB 3G Modem เข้าช่อง USB หรือถ้าเสียบอยู่แล้วให้ดึงออกแล้วเสียบใหม่

เข้าหน้า FreePBX -> Connectivities -> Truks เลือก Add custom trunk

บรรทัด Custom Dial ใส่ dongle/dongle0/$OUTNUM$

รูปภาพ

ต่อไปสร้าง Outbound Routes และเลือก Trunk นี้โทรออก

รูปภาพ

4. การรับสายเข้า

คอนฟิก Inbound Routes แล้วเลือก Destination
เบอร์ DID ดีฟอลท์คือ +1234567890 ตามที่ตั้งไว้ตอนรันสคริปต์ติดตั้ง ถ้าจำไม่ได้ให้ดูจากบรรทัด exten= ในไฟล์ /etc/asterisk/dongle.conf

รูปภาพ

5. การรับและส่ง SMS
ตอนรับ SMS สามารถส่งเข้า Email ได้ (มีให้คอนฟิกอีเมล์ตอนติดตั้งสคริปต์) ถ้าไม่เซ็ตอีเมล์ จะเก็บข้อความไว้ในไฟล์ /var/log/asterisk/sms.txt

สามารถรับข้อความจาก email แล้วส่ง sms ไปยังโทรศัพท์มือถือได้

เว็บเพจสำหรับส่ง sms
http://x.x.x.x/sms

เช็คฮาร์ดแวร์
dmesg













แก้ปัญหา USB Dongle ไม่ทำงาน
มักเกิดจากใน OS ไม่มี /dev/ttyUSB
ข้อความที่ฟ้องใน Asterisk
[2014-12-07 00:03:40] WARNING[3164]: chan_dongle.c:218 opentty: unable to open /dev/ttyUSB2: No such file or directory

ตรวจสอบว่าใน /dev มี ttyUSB* หรือไม่
ls -la /dev/ttyUSB*
ปรากกว่าไม่มี
ls: cannot access /dev/ttyUSB*: No such file or directory

วิธีแก้ปัญหา
cp /boot/cmdline.txt /boot/cmdline_backup.txt
nano /boot/cmdline.txt
ข้อมูลในไฟล์
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

ให้ลบข้อความนี้ออก
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1
ให้เหลือแค่
root=/dev/mmcblk0p2 rootfstype=ext4 rootwait

บันทึกไฟล์

reboot เครื่อง

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

Re: RasPBX - ติดตั้งและคอนฟิก chan_dongle

โพสต์โดย nuiz » 12 ก.ค. 2016 22:12

เทคนิคการเพิ่ม USB Dongle
1. ดูหมายเลข ttyUSB ด้วยคำสั่ง dmesg
ตัวอย่าง
[ 1133.562514] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB3
[ 1133.645284] option 1-1.3:1.3: GSM modem (1-port) converter detected
[ 1133.666172] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB4
[ 1133.687724] option 1-1.3:1.4: GSM modem (1-port) converter detected
[ 1133.708869] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB5

2. เพิ่มข้อมูลในไฟล์ /etc/asterisk/dongle.conf
[dongle1]
audio=/dev/ttyUSB4
data=/dev/ttyUSB5

3. รีโหลด dongle
โค้ด: เลือกทั้งหมด
raspbx*CLI> module unload chan_dongle.so
raspbx*CLI> module load chan_dongle.so


4. ตรวจสอบ
โค้ด: เลือกทั้งหมด
raspbx*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number       
dongle0      0     Free       18   0    0                      E1552      11.609.19.00.764  353973046381894  520044126269655  Unknown       
dongle1      0     Free       20   0    0       DTACP          E1553      11.608.12.00.00   354112033045290  520050392546802  +66627711109   


5. คอนฟิก Trunks

ุ6. คอนฟิก Outbound Routes

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

Re: RasPBX - ติดตั้งและคอนฟิก chan_dongle

โพสต์โดย nuiz » 12 ก.ค. 2016 22:29

USB Dongle สามารถรับ SMS/USSD ได้ โดยเก็บไว้ในไฟล์ /var/log/asterisk/sms.txt และในขณะที่เราเข้า Asterisk Console หากมี SMS/USSD เข้ามาก็จะแสดงใน Console ด้วย หากข้อความเป็นภาษาไทยเราจะอ่านไม่รู้เรื่อง สามารถเปลี่ยนภาษาข้อความ SMS/USSD ให้เป็นภาษาอังกฤษได้โดยโทรหรือส่ง USSD ไปยังเบอร์ที่ผู้ให้บริการกำหนดไว้ เช่น ทรูมูฟให้โทรไปที่เบอร์ 9304
** หากมีปัญหากับอุปกรณ์หรือบริการที่ทำหรือซื้อมาเอง ให้โพสต์ถามในเว็บนะครับ ขอสงวนสิทธิ์การให้ความช่วยเหลือแบบส่วนตัวเฉพาะลูกค้าที่ซื้อสินค้าและบริการจากผมเท่านั้นครับ **
** ติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ครับ **
nuiz
Diamond Member
 
โพสต์: 4382
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: RasPBX - ติดตั้งและคอนฟิก chan_dongle

โพสต์โดย nuiz » 12 ก.ค. 2016 22:41

** ถ้าถอด USB Dongle ออก ต้องรีบู๊ต RasPBX **

ถ้าถอด USB Dongle ออก จะเห็น Alarm ใน Asterisk Console แบบนี้ครับ
โค้ด: เลือกทั้งหมด
[2016-07-12 22:38:12] WARNING[9500]: chan_dongle.c:218 opentty: unable to open /dev/ttyUSB5: No such file or directory

ถ้าไม่ได้ใช้แล้วก็สามารถปิดได้ครับ โดยแก้ไขในไฟล์ /etc/asterisk/dongle.conf

โค้ด: เลือกทั้งหมด
;[dongle1]
;audio=/dev/ttyUSB4
;data=/dev/ttyUSB5


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

Re: RasPBX - ติดตั้งและคอนฟิก chan_dongle

โพสต์โดย nuiz » 12 ก.ค. 2016 22:46

คอลัมน์ State แสดง Dialing ตลอดเวลา
โค้ด: เลือกทั้งหมด
raspbx*CLI> dongle show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number       
dongle0      0     Dialing    18   0    0                      E1552      11.609.19.00.764  353973046381894  520044126269655  Unknown


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

Re: RasPBX - ติดตั้งและคอนฟิก chan_dongle

โพสต์โดย Cyber7 » 04 เม.ย. 2017 09:37

Elastix ลง บน PC ทำได้ไหมครับ
Cyber7
Silver Member
 
โพสต์: 24
ลงทะเบียนเมื่อ: 06 ก.ค. 2012 11:03

Re: RasPBX - ติดตั้งและคอนฟิก chan_dongle

โพสต์โดย nuiz » 04 เม.ย. 2017 13:14

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


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

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

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