เทคนิคการเปลี่ยนค่า Tone Zone ใน Asterisk

Asterisk Opensource IP Pbx

เทคนิคการเปลี่ยนค่า Tone Zone ใน Asterisk

โพสต์โดย nuiz » 26 พ.ย. 2011 13:07

มีอีกฟีเจอร์หนึ่งใน Asterisk ที่ไม่น่าจะมีคนสนใจจะลองเล่นสักเท่าไหร่นะครับ ฟีเจอร์ที่ผมว่านี้ก็คือ "Tone Zone" เป็นคุณลักษณะ ความถี่ จังหวะความเงียบความดัง ของสัญญาณ Tone ต่างๆที่ Asterisk สร้างออกมา เช่น สัญญาณ Dial Tone, Busy Tone (Disconnect Tone), Re-Order Tone, Ringback Tone เป็นต้น เราจะเห็นได้ชัดก็ตอนที่ใช้งานการ์ดต่างๆที่ใส่โมดูล FXS, FXO เข้าไปครับ ถ้าอยากได้ยินสัญญาณเหมือนกับโทรศัพท์บ้านหล่ะก็ให้เปลี่ยนค่า Tone Zone จากค่าดีฟอลท์คือ us (USA) ให้เป็น th (Thailand) และอาจจะช่วยทำให้การวางสายพอร์ต FXO หรือการดีเท็ค Caller ID ทำได้แม่นยำมากขึ้น ลองดูครับ

** ฟีเจอร์นี้จะเห็นผลก็ต่อเมื่อเรามีการใช้งาน Dahdi นะครับ **

ขั้นตอนต่อไปนี้สำหรับเครื่องที่ใช้ Asterisk แท้ๆนะครับ (ไม่ได้คอนฟิกผ่าน Elastix)

1. ไฟล์ /etc/asterisk/indications.conf

[general]
country=us

[us]
description = United States / North America
ringcadence = 2000,4000
dial = 350+440
busy = 480+620/500,0/500
ring = 440+480/2000,0/4000
congestion = 480+620/250,0/250
callwaiting = 440/300,0/10000
dialrecall = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440
record = 1400/500,0/15000
info = !950/330,!1400/330,!1800/330,0
stutter = !350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,!350+440/100,!0/100,350+440

[th]
description = Thailand
ringcadence = 1000,4000
; Reference: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf
dial = 400*50
busy = 400/500,0/500
ring = 420/1000,0/5000
congestion = 400/300,0/300
callwaiting = 1000/400,10000/400,1000/400
; DIALRECALL - not specified - use special dial tone instead.
dialrecall = 400*50/400,0/100,400*50/400,0/100
; RECORDTONE - not specified
record = 1400/500,0/15000
; INFO - specified as an announcement - use special information tones instead
info = 950/330,1400/330,1800/330
; STUTTER - not specified
stutter = !400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,!400/200,!0/200,!400/600,!0/200,400

ให้เพิ่ม [th] เข้าไปด้วย พร้อมรายละเอียดตามตัวอย่างเลยครับ ถ้ามีอยู่แล้วแต่ว่ามีเครื่องหมาย ; ด้านหน้าก็จัดการเอาออก แล้วเซฟไฟล์

2. แก้ไขไฟล์ cat /etc/dahdi/system.conf

# Global data

loadzone = th
defaultzone = th

เปลี่ยนค่าในบรรทัด loadzone และ defaultzone จาก us เป็น th ครับ แล้วเซฟไฟล์

3. รีสตาร์ทเซอร์วิส dahdi และรีโหลดโมดูล dahdi
โค้ด: เลือกทั้งหมด
service dahdi restart
asterisk -rx "dahdi restart"


4. ตรวจสอบการโหลดโมดูลด้วยคำสั่ง dmesg
โค้ด: เลือกทั้งหมด
dmesg | grep tone

ผลลัพท์
dahdi: Registered tone zone 0 (United States / North America)
dahdi: Registered tone zone 36 (Thailand)

5. และอาจจะเพิ่มการแก้ไขในไฟล์ /etc/asterisk/chan_dahdi.conf ด้วย

busydetect=yes
busycount=3

คราวนี้เวลาเราเอาพอร์ต FXO ไปต่อกับเบอร์โทรศัพท์ของ TOT, TRUE, TT&T ก็จะดีเท็คสัญญาณ Busy Tone ได้แม่นยำขึ้น

6. รีโหลดโมดูล dahdi อีกครั้ง
โค้ด: เลือกทั้งหมด
asterisk -rx "dahdi restart"



บทความที่เกี่ยวข้อง
เทคนิคการเปลี่ยนค่า Tone Zone ใน Elastix
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7058
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง Asterisk SIP Server

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

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

cron