การเขียน Dial Plan สำหรับ VoiP

     Dial Plan หรือ แผนการหมุนเลขหมายโทรศัพท์ (แปลเป็นไทยแล้วแปลก ๆ) นั้น สำหรับการใช้งาน VoIP นั้น ไม่ค่อยมีคนพูดถึงกันเท่าไหร่ ส่วนหนึ่งอาจจะมาจากความไม่เข้าใจ ใช้ไม่เป็น หรือว่าไม่รู้ว่าจะใช้มันยังไง ผู้ใช้ส่วนมากจึงใช้แบบเดิม ๆ ที่ตั้งค่ามาจากโรงงานหรือผู้ให้บริการซะเป็นส่วนใหญ่ อีกอย่างนึง หากไปยุ่งกับมันโดยรู้เท่าไม่ถึงการณ์ อาจจะทำให้โทรออกไม่ได้เลยก็ได้ ผู้ใช้ส่วนมากจึงมักจะหลีกเลี่ยงการปรับแต่ง Dial Plan
     ในการใช้งานโทรศัพท์ทั่ว ๆ ไปนั้น เราแทบไม่ต้องคำนึงถึงเรื่องนี้เลย ก็เนื่องมาจากว่า ทางระบบเครือข่าย หรือชุมสายโทรศัพท์ได้มีการตั้งค่าที่เหมาะสมไว้ล่วงหน้าแล้ว เราจึงไม่ค่อยรู้จักมันเท่าไหร่ อีกอย่างหากเป็นระบบมือถือนั้น อาจจะไม่ค่อยจำเป็นเท่าไหร่ เนื่องจากการโทรออกหรือการรับสาย ต้องกดปุ่มโทรออกหรือรับสายกันปกติอยู่แล้ว (อ่ะนะ ทีโทร VoIP บอกให้กดปุ่ม # ตามหลังเบอร์โทร บอกยุ่งยาก)

เริ่มกันจริง ๆ เลยดีกว่าครับ เรามารู้จักคำสั่ง (เครื่องหมายต่าง ๆ) ที่ใช้ในการเขียน Dial Plan กันครับ

( ) = วงเล็บเปิด กับวงเล็บปิด ต้องมีเสมอครับ เป็นการบอกว่าเริ่มต้น หรือสิ้นสุด Dial Plan
| = เครื่องหมายไปป์ (Pipe) ใช้สำหรับคั่นระหว่าง Dial Plan (ในกรณีที่เราเขียน Dial Plan หลายอัน)
0-9 = ตัวเลข 0-9 ก็ใช้แทนตัวเลขบนแป้นโทรศัพท์ครับ
x = เป็นเครื่องหมายที่ใช้แทนตัวเลขใด ๆ x 1 ตัว ใช้แทนตัวเลข 1 หลักเช่นกัน
* = ใช้แทนปุ่มดอกจันบนแป้นโทรศัพท์
# = ใช้แทนปุ่มสี่เหลี่ยมบนแป้นโทรศัพท์
. = Repetition ใช้ในกรณีที่เราไม่ต้องการระบุจำนวนหลักของตัวเลข หรือมีความหมายว่า กดได้ไม่จำกัด มักจะร่วมกับ x 2 ตัว เพื่อแทนการกดปุ่มใด ๆ จะได้เป็น xx. เป็นต้น
<:> = Replacement คำสั่งในการแทนที่ตัวเลขหน้า : เป็นอีกตัวเลขหนึ่งหลัง : เช่น <02:662> หมายถึงว่า ถ้าเรากด 02 บนแป้นโทรศัพท์ มันจะกลายเป็นคำสั่งให้หมุน 662 ในระบบแทน (ยังมีใช้งานในลักษณะอื่น ๆ อีก เดี๋ยวจะได้อธิบายต่อไปครับ)
<:@gw0> = Gateway 0 คำสั่งโทรออกไปยังสาย PSTN (สายนอกขององค์การ) จะมีใช้ในบางอุปกรณ์ที่มีพอร์ตสายนอก FXO เท่านั้น เช่น Linksys SPA3102 เป็นต้น
<:@gw1> - <:@gw4> = Gateway 1-4 คำสั่งโทรออกไปยังสายอื่น ๆ ในระบบ มีใช้เฉพาะบางอุปกรณ์เท่านั้น
S0 = คำสั่งให้โทรออกทันที มักจะใช้ใส่หลัง Dial Plan เมื่อกดครบหลักแล้วให้โทรออกทันที เป็นต้น
! = คำสั่งห้ามโทรออก มักจะใช้ใส่หลัง Dial Plan ที่ไม่ต้องการให้โทรออก โดยระบบจะตัดสายทิ้งทันที
, = คำสั่งในการให้ระบบส่งสัญญาณ Dial Tone (เสียงสายว่าง) มาให้อีกครั้ง มักใช้ควบคู่กับคำสั่งในการตัด 9, *, # เพื่อโทรออกสาย PSTN ของอุปกรณ์ที่รองรับครับ
[ ] = Limiting Choice หรือกรอบคลอบตัวเลือกตัวเลขที่ต้องการ มักจะใช้กับรหัสพื้นที่ในการโทร หรือรหัสทางไกล เช่น ต้องการให้กด 02 หรือ 05 เราก็จะใช้ 0[25] เป็นต้น
- = To มักใช้กับตัวเลขและกรอบ เพื่อระบุจำนวนตัวเลขที่ต้องการให้กด เช่น 0[2-5] หมายถึง ให้กดได้ตั้งแต่ 02, 03, 04, 05 เป็นต้น

รู้จักคำสั่งต่าง ๆ ไปหมดแล้ว ทีนี้เรามาดูตัวอย่างวิธการใช้งานกันดูครับ
ผมจะยกตัวอย่างที่ใช้งานกันอยู่ทั่ว ๆ ไปนะครับ

Dial Plan 1 : (1xxxS0) หมายถึง การกดเลขหมายย่อของระบบใด ๆ ซึ่งเริ่มต้นด้วยเลข 1 และหลักที่เหลือเป็นเลขใด ๆ ก็ได้ เมื่อกดครบ 4 หลักแล้ว ให้โทรออกได้ทันที เช่น 1100 TOT Contact Center หรือ 1133 TOT Phone Book เป็นต้น

Dial Plan 2 : (1xxxS0<:@gw0>) เหมือน Dial Plan 1 แต่ใช้สำหรับอุปกรณ์ที่มีสาย PSTN เท่านั้น ตัวอย่างของการใช้ Dial Plan แบบนี้ เช่น เราจะโทรไปยัง Call Center หรือบริษัทใด ๆ ที่เป็นบริการ Non-Charge Service โดยสาย PSTN ปกติโทรไปเท่านั้น เพราะระบบไม่รองรับสาย VoIP เป็นต้น

Dial Plan 3 : (1900xxxxxx!) (สำหรับประเทศไทย) หมายถึง การห้ามโทรออกไปยังบริการ Audiotext ที่ขึ้นต้นด้วย 1900 xxx xxx เป็นต้น

Dial Plan 4 : (08xxxxxxxxS0) หมายถึง การโทรออกไปยังหมายเลขโทรศัพท์มือถือทันทีที่กดตัวเลข 08 แล้วต่อด้วยเบอร์โทรจนครบ 10 หลัก แล้วโทรออกทันที

Dial Plan 5 : (0[2-57]xxxxxxxS0) หมายถึง การโทรออกไปยังหมายเลขโทรศัพท์พื้นฐาน ทั้งในกรุงเทพและปริมณฑล และต่างจังหวัด เมื่อกดครบ 9 หลักแล้วโทรออกทันที 0[2-57] ในที่นี้หมายถึง สามารถกดเลข 02, 03, 04, 05 และ 07 ได้

Dial Plan 6 : (0[2-57]xxxxxxxS0|08xxxxxxxxS0|xx.) หมายถึง การนำ DP4 และ DP5 มาใช้ร่วมกัน เป็นการรวม Dial Plan หลาย ๆ อันเข้าด้วยกัน ด้วยเครื่องหมายไปป์ | ส่วน xx. นั้นคือกดเลขหมายใด ๆ ก็ได้ จำนวนกี่หลักก็ได้

Dial Plan 7 : (<08:668>xxxxxxxxS0) เอาเฉพาะ <08:668> หมายถึง หากเรากด 08 เพื่อโทรมือถือ ระบบจะแปลงการกด 08 นั้นให้เป็น International Area Code ของประเทศไทย จะกลายเป็น 668 แทน

Dial Plan 8 : (<*1:0896665555>S0) เป็นการสร้างเลขหมายย่อ หรือโทรด่วน เช่น หากเรากด *1 บนแป้นโทรศัพท์ ระบบจะโทรออกไปที่เลขหมาย 0896665555 ทันที

Dial Plan 9 : (<*1:voip1@192.168.0.1:5070>S0) เป็นการสร้างเลขหมายย่อ หรือโทรด่วนผ่านการหมุนแบบ IP Dialing (ต้องเปิดใช้งานฟังก์ชั่นนี้ที่อุปกรณ์ก่อน) ไปยัง IP ของอุปกรณ์อื่นที่ระบุโดยตรง รูปแบบการหมุนแบบ IP Dialing คือ user@ip:port

Dial Plan 10 : (<#,:>xx.<:@gw0>|xx.) ใช้สำหรับอุปกรณ์ที่มีสาย PSTN ด้วยเท่านั้น เป็นการตัด # เพื่อใช้งานสาย PSTN หากไม่กด # ก็จะใช้สาย VoIP ปกติ หลังจากกด # แล้ว จะได้ยินเสียง Dial Tone อีกครั้ง เพราะเราใส่คำสั่งกำเนิด Dial Tone เข้าไปด้วย นั่นคือเครื่องหมย , ครับ

ก็...พอหอมปากหอมคอกันแล้วนะครับ สำหรับตัวอย่างการใช้งานคร่าว ๆ

อืมส์...ถ้าทีนี้นำทุกอย่างมารวมกันล่ะ
เช่น ผมกำลังใช้เครื่องแฟ็กซ์เพื่อใช้ทั่ว ๆ ไป กับใช้ส่งแฟ็กซ์ไปยังสำนักงานสาขา ซึ่งเครื่องแฟ็กซ์เป็นระบบ FoIP เหมือนกัน ทำอย่างไรดี เมื่อเราใช้ SPA3102 อืมส์...น่าคิด

ลองดูดีกว่า...
(<*1:0681001001@10.10.10.1:5070>S0|<#,:>0[2-57]xxxxxxxS0<:@gw0>|<#,:>0[68]xxxxxxxxS0<:@gw0>|<#,:>1xxxS0<:@gw0>|<#,:>xx.<:@gw0>|0[2-57]xxxxxxxS0|0[68]xxxxxxxxS0|1xxxS0|xx.)

คำอธิบาย
หากเรากด *1 จะเป็นการใช้งาน IP Dialing ในที่นี้คือต้องการโทรหรือแฟ็กซ์ไปยังสำนักงานสาขา ซึ่งใช้ User / IP / Port ตามที่ระบุ
หากเรากด # จะได้ยินเสียง Outside Dial Tone เพื่อเป็นการหมุนไปยังเลขหมายปลายทาง โดยใช้สาย PSTN
หากเรากดเบอร์เลย ก็โทรออก VoIP / FoIP ปกติ