Call Pickup - วิธีการรับสายแทนกันใน Elastix

Elastix IP Pbx

Moderator: jubjang

Call Pickup - วิธีการรับสายแทนกันใน Elastix

โพสต์โดย voip4share » 04 ก.พ. 2010 17:08

ใน Elastix ก็มีฟีเจอร์ ดึงสายหรือรับสายแทน เหมือนในตู้สาขาโทรศัพท์ด้วยนะครับ โดยเมื่อมีโทรศัพท์ดังที่เบอร์ Extension หนึ่งแต่ว่าเจ้าของไม่อยู่ที่โต๊ะ เราอยู่โต๊ะใกล้ๆก็สามารถดึงสายมารับแทนได้ โดยกด *8# ครับ

ฟีเจอร์รับสายแทนนี้เราเรียกว่า "Call Pickup" โดยเบอร์ที่จะดึงสายได้จะต้องอยู่ใน Group เดียวกัน ยกตัวอย่างเช่นถ้ามีสัญญาณดังที่เบอร์ 100 โต๊ะข้างๆคือเบอร์ 101 จะดึงสายมารับแทนได้ก็ต่อเมื่อสองเบอร์นี้อยู่ใน Group เดียวกัน ถ้าอยู่คนละ Group ก็จะดึงสายไม่ได้นะครับ

1. ตั้งโค๊ดในการดึงสาย
โค๊ด *8 ที่ผมพูดถึงนั้นนะครับ ที่จริงเป็นเบอร์ Extension เบอร์หนึ่ง แต่ว่าเราไม่ต้องสร้างขึ้นมานะครับ เอามาใช้ได้เลย แต่ดีฟอลท์ไม่ได้เปิดไว้ ถ้าต้องการใช้งานก็ให้อินาเบิล ดังนี้ เปิดไฟล์ /etc/asterisk/features_general_custom.conf

โค้ด: เลือกทั้งหมด
vi /etc/asterisk/features_general_custom.conf

เพิ่ม 3 บรรทัดนี้

pickupexten = *8 ; Configure the pickup extension. (default is *8)
;pickupsound = beep ; to indicate a successful pickup (default: no sound)
;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound)

เซฟไฟล์ จากนั้นเข้า Asterisk Console แล้วพิมพ์คำสั่ง
โค้ด: เลือกทั้งหมด
reload

สงสัยมั๊ยครับว่าทำไมผมต้องเอาออปชั่นเกี่ยวกับการดึงสายมาไว้ในไฟล์ features_general_custom.conf นี้ด้วย ถ้าสงสัยผมจะบอก เป็นเพราะว่าเดิมทีมันเป็นออปชั่นที่อยู่ในไฟล์ features.conf และอยู่ภายใต้คอนเท็ค [general] แต่เนื่องจาก Elastix มันแบ่งแยกไฟล์ features.conf ออกเป็นไฟล์เล็กๆอีก 6 ไฟล์ ขึ้นต้นด้วย features ทั้งหมด แบ่งออกเป็น 3 กลุ่มตามคอนเท็คในไฟล์ features.conf ต้นฉบับ คือ general, featuremap และ applicationmap และคงยังจำได้นะครับว่าไฟล์ที่ลงท้ายด้วย additional นั้นห้ามแก้ไข ส่วนไฟล์ที่ลงท้ายด้วย custom แก้ไขได้ ดังนั้นออปชั่นเกี่ยวกับ Pickup มันอยู่ภายใต้คอนเท็ค [general] ผมจึงเอาไปไว้ในไฟล์ features_general_custom.conf ยังไงหล่ะครับ

ถ้าอยากแก้โค๊ดที่ใช้ดึงสายจาก *8 เป็นโค๊ดอื่น ก็แก้ไขในบรรทัด pickupexten ได้เลยครับ ปกติในตู้สาขาโทรศัพท์เขาจะใช้โค๊ด *40 นะครับ

2. ตั้ง Group ในการดึงสาย
เบอร์ Extension ที่จะดึงสายแทนกันได้จะต้องอยู่ใน "pickupgroup" เดียวกันนะครับ ซึ่งมีวิธีการทำดังต่อไปนี้
2.1 เข้าเว็บอินเตอร์เฟสของ Elastix
2.2 สร้างเบอร์ Extension ถ้ายังไม่ได้สร้าง
2.2 คลิ๊กที่เบอร์ Extension ทางด้านขวามือ
pickup-group-00.png
Pickup Group - Select Extension
pickup-group-00.png (3.29 KiB) เปิดดู 8556 ครั้ง

2.3 มองหาบรรทัด pickupgroup แล้วป้อนตัวเลขเข้าไป ตัวเลขอะไรก็ได้ครับ เช่น 1 หรือ 2 หรือ 3 หรือ .... ตัวเลขนี้เราเรียกว่าหมายเลข Group ครับ
pickup-group-01.png
Pickup Group - Define Group Number
pickup-group-01.png (13.68 KiB) เปิดดู 8556 ครั้ง

แล้วคลิ๊กที่ "Submit Change"
2.4 คลิ๊กที่เบอร์ Extension เบอร์อื่นที่ต้องการให้มาอยู่ใน callgroup เดียวกัน แล้วป้อนตัวเลขในช่อง pickupgroup ให้เหมือนกัน
2.5 ทำจนครบทุกเบอร์
2.6 คลิ๊ก "Apply Configuration Changes Here"

แค่นี้ก็เสร็จแล้วครับ

Note! เบอร์ๆหนึ่งสามารถอยู่ได้หลาย pickupgroup ครับ ถ้าต้องการก็ใส่แบบนี้ pickupgroup = 1,2,3,13 คือใช้เครื่องหมาย , คั่นระหว่างหมายเลข Group

4. ทดสอบ
โดยใช้เบอร์ 100 โทรหาเบอร์ 101 แต่เบอร์ 101 ยังไม่ต้องรับสาย แล้วที่เบอร์ 102 กด *8# ดูว่าสามารถดึงสายมาได้หรือไม่ (ที่จริงกด *8 เฉยๆครับ ส่วน # นี่ให้มันเร็วขึ้น)

5. ปัญหาที่อาจจะเกิดขึ้น
ปัญหาคือกด *8 แล้วดึงสายมาไม่ได้ ก็ลองเช็ค pickupgroup ของเบอร์ที่เสียงริงกำลังดัง (ในข้อ 4 คือเบอร์ 101) กับเบอร์ที่จะใช้กด *8 (ในข้อ 4 คือเบอร์ 102) ว่ามีตัวเลขใน pickupgroup ตรงกันหรือไม่ ถ้าตัวเลขตรงกันแล้วแต่ยังกด *8 ไม่เวอร์คอีก ก็อาจจะเกิดจากค่า featuredigittimeout ในไฟล์ etc/asterisk/features_general_custom.conf เซ็ตไว้ต่ำเกินไป ให้เพิ่มค่าขึ้น ดูรายละเอียดเพิ่มเติมในบทความ Call Transfer นะครับ
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

ย้อนกลับไปยัง Elastix - Unified Communications Software

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

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

cron