You are hereBlogs / overlord9999's blog / ทำตู้ IP PBX สำหรับ VOIP ด้วย trixbox ตอนที่ 1

ทำตู้ IP PBX สำหรับ VOIP ด้วย trixbox ตอนที่ 1


By overlord9999 - Posted on 22 January 2008

trixbox logo

 

เรื่องมันเริ่มจาก อ. วิชา IP Telephony ที่ผมเรียนอยู่ให้ไปทำ project ที่เกี่ยวกับ SIP phone มาซักตัวหนึ่ง ไอ้ผมเองก็เขียนโปรแกรมไม่เก่งเหมือนชาวบ้านเค้าเสียด้วย จะให้ไปเขียน java หรือ vxml ก็คงไม่ไหว เลยเริ่มจาก search หาจากในเน็ตนี่แหละครับ ทีแรกว่าจะทำ SIP server ธรรมดา เพราะเรามี SIP server แบบ open source ที่ชื่อ Asterisk อยู่ (ใช้พวก synaptic search ใน linux ก็เจอนะ) แต่พอดีผมไปสะดุดตากับสโลแกนอันนึงเข้า เค้าบอกว่า "ตั้ง PBX พร้อมใช้งานได้ใน 1 ชั่วโมง" ฟังดูน่าสนใจดี

ก่อนอื่นบางท่านอาจจะยังงงอยู่ว่า PBX คืออะไร และมีประโยชน์ยังไง ผมจะขออธิบายให้ฟังคร่าวๆก่อน PBX ย่อมาจาก Private Branch Exchange หรือบางทีอาจจะเรียกว่า PABX : Private Auto Branch Exchange ในทางโทรศัพท์แล้วมันคือตู้สาขาของโทรศัพท์ครับ ถ้ายังไม่เข้าใจอีก ขอยกตัวอย่างดีกว่า สมมติว่ามีบริษัทหนึ่งมีพนักงานซัก 100 คนทำงานในตึกเดียวกัน แล้วพนักงานแต่ละแผนกต้องการโทรศัพท์คุยกัน เราก็ไม่จำเป็นต้องมีเบอร์โทรศัพท์จริงๆให้พนักงานแต่ละคนก็ได้ ถ้าเรามีตู้ PBX ทำหน้าที่ต่อสายเป็นเบอร์ภายในองค์กรให้กับเรา รวมทั้งกรณีที่บริษัทมีสาขาอยู่ต่างจังหวัดหลายๆที่ ถ้าแต่ละสาขาเอาตู้ PBX มาต่อเชื่อมกัน ก็จะสามารถโทรข้ามระหว่างสาขากันได้เลย และแน่นอนว่าฟรีด้วย ซึ่ง PBX ในยุคก่อนๆก็คือระบบ switching แบบหนึ่งนั่นเอง สมัยก่อนตู้ PBX มีราคาที่จัดว่าแพงทีเดียว ในปัจจุบันเทคโนโลยีที่วิ่งบน IP Protocol ได้มีบทบาทมากขึ้น กระแสความนิยมในการส่ง Voice ออกไปบน IP ก็กำลังมาแรง (VOIP) และ Protocol ที่กำลังได้รับความนิยมสูง ซึ่งกำลังจะกลายเป็น Standard ไปแล้วก็คือ SIP Protocol (Session Initiation Protocol) ถ้าผมอธิบายเรื่องนี้ต่อไปอีกหล่ะก็คงต้องลากยาวแน่ๆ เอาไว้จะอธิบายเรื่อง SIP Protocol แยกต่างหากนะครับ
ที่เราสนใจกำลังจะทำกันตอนนี้ก็คือ สร้างตู้ PBX ที่เป็น IP PBX โดยใช้ software ไว้สำหรับต่อคู่สายที่เป็น SIP Client ให้คุยกันได้นะครับ ถ้าหลายท่านยังไม่เข้าใจ ขอให้นึกถึงพวกโปรแกรม IM ยอดนิยม เช่น MSN Messenger, Yahoo Messenger, Google Talk หรือ Skype แต่ว่าโปรแกรม IM เหล่านี้เป็น Propietary Protocol (โปรโตคอลที่บริษัทเหล่านี้พัฒนาเอง) จึงต้องเขียน client ของตัวเองขึ้นมาแล้วปล่อยให้ลูกค้าโหลดไปใช้งาน ต่างจาก SIP ที่เป็น Standard ถ้าคุณมี SIP client ซักตัวนึง จะเป็น softphone (โทรศัพท์ที่เป็นซอฟแวร์) หรือ hardphone (โทรศัพท์ที่เป็นฮาร์ดแวร์) และมี account ใน sip server คุณก็สามารถ log in เข้าไปใช้ใน SIP server ไหนก็ได้ สามารถจับ server มาเชื่อมต่อกันได้ด้วย และถ้าเพื่อนคุณก็มี account อยู่ server ที่คุณเชื่อมต่อด้วยเช่นกัน คุณก็สามารถโทรคุยกับเพื่อนคุณได้ฟรีทั่วโลกผ่านทางระบบ internet ที่ผมกำลังอธิบายวิธีการทำนี้ อาจมองให้เหมือนกับกำลังจะทำ server msn ก็ได้นะครับ เอาหล่ะผมหลุดออกนอกเรื่องอีกแล้ว ตัวโปรแกรมที่ผมสนใจอยู่ตอนนี้คือ "trixbox" (www.trixbox.org) เป็นชุดของซอฟแวร์ที่ใช้ทำ IP PBX โดยมีองค์ประกอบหลักเป็นซอฟแวร์สามตัวคือ
Asterisk (www.asterisk.org)
FreePBX(www.freepbx.org)
CentOS Linux (www.centos.org)
ซึ่งแนวคิดก็ง่ายมากครับ เพียงคุณติดตั้ง trixbox จากแผ่น CD ที่โหลดมา ก็จะทำการลง CentOS Linux เป็นระบบปฏิบัติการให้ก่อน แล้วจะทำการลง patch ติดตั้ง FreePBX และ Asterisk ให้โดยรันบน CentOS อีกที นอกจากนี้ยังติดตั้ง Apache web server และ MySQL ให้ด้วย เนื่องจาก trixbox ใช้การ config ผ่านทางหน้าเว็บเพจ นั่นหมายถึงเมื่อคุณ set ทุกอย่างพร้อมแล้ว คุณไม่ต้องไปยุ่งอะไรกับเครื่องอีกเลย สามารถถอดจอ ถอดคีย์บอร์ด, เม้าส์ พับเก็บไปได้เลย การจะ config ฟังค์ชั่นอื่นๆ จะกระทำผ่านหน้าเว็บเพจจากเครื่อง client ทั้งสิ้น ง่ายดีไหมครับ นอกจากนี้ software ที่ใช้ทั้งหมดยังฟรีอีกด้วย เพียงแค่คุณมี PC 1 เครื่อง, Hi Speed internet และ trixbox คุณก็จะได้ตู้ IP PBX ฟรีๆเลย
หลังจากผมตกลงใจที่จะทำ project เป็นตู้ IP PBX จาก trixbox แล้ว ขั้นแรกก็ต้องทำการดาวน์โหลด trixbox เสียก่อน สามารถโหลดได้จากเว็บไซต์ http://www.trixbox.org/downloads โดยเวอร์ชั่นที่ผมลองใช้คือ 2.2.5 ตอนนี้น่าจะมีใหม่กว่านี้เยอะแล้ว ไฟล์ที่โหลดมาได้ก็จะเป็นนามสกุล .ISO ต้องจัดการไรท์ลงแผ่น CD เสียก่อนนะครับ เมื่อได้แผ่น CD มาแล้วคุณก็พร้อมสำหรับการติดตั้ง trixbox หล่ะ วิธีการติดตั้งก็เหมือน linux ทั่วๆไปครับ เพราะมันคือ CentOS Linux ตั้ง boot จากแผ่น CD จากนั้นก็ทำตามขั้นตอนเหมือนลง linux ปกติตัวนึง ผมไม่แน่ใจว่า ver. ใหม่จะให้เราแบ่ง partition แบบ manual และทำ dual boot ได้หรือเปล่า แต่ ver. ที่ผมลองเล่นดู มันจัดการ format hard disk ผมซ่ะเกลี้ยงเลยแล้วก็ติดตั้งตัวเองลงไปแทน ไม่ให้โอกาสเราเลือกอะไรเลย (เรียกว่าง่ายสมคำร่ำลือ ยัดแผ่นกด enter แล้วมันจัดการเอง) ยังดีที่ผมเอา hard disk เก่าๆมาลองเล่นดูจึงไม่มีปัญหาอะไรไม่งั้นน้ำตาตกแน่ๆ ระหว่างติดตั้งก็จะให้เราเลือกประเทศ ซึ่งไม่มีประเทศไทยนะครับไม่ต้องหาให้เสียเวลา เลือกตั้งเวลาอันนี้มีของไทยให้ แล้วก็ตั้ง root password ตามปกติ การลงก็ราบรื่นดีครับ ติดตั้งได้เร็วดี (ออกจะเร็วมากด้วย) มันลง Grub มาเป็น boot loader ที่มีสกิน trixbox สีเขียวสดใสให้ด้วยนะครับ แต่ก็ไม่มีระบบปฏิบัติการอื่นให้เลือก (แหงหล่ะ พี่เล่น format ทิ้งหมดเลย) ไม่รู้จะใส่ Grub มาให้ทำไม
มาถึงตรงนี้ถ้าไม่มีอะไรผิดพลาด สามารถรันผ่านได้หมด (ซึ่งน่าจะผ่านได้แบบไม่มีปัญหา) คุณก็จะได้มาหยุดอยู่หน้าจอ log in ของ CentOS มันไม่ลง xwindow ให้นะครับที่เครื่อง server ต้องสั่งผ่าน terminal เอาอย่างเดียว จริงๆ Asterisk server มันลงบน linux ตัวไหนก็ได้นะครับ แต่เค้านิยมลงบน CentOS กันไม่รู้ว่าทำไม ผมเดาว่าน่าจะเพราะว่า CentOS เป็น linux ที่มุ่งเน้นไปที่การทำเป็น Server มากกว่า desktop ธรรมดา สังเกตได้จาก patch ต่างๆที่ใช้ก็จะเป็น patch ที่เสถียรแล้วทั้งสิ้น ทำให้ผู้ใช้ไม่ต้องกังวลเกี่ยวกับ OS แต่มุ่งเน้นไปทำงานที่ตัว application ที่รันบน OS ได้เลย ถ้ามีเวลาว่างๆ ผมก็ว่าจะลองรัน Asterisk บน linux ตัวอื่นๆดูบ้างเช่น Ubuntu, Debian, PclinuxOS หรือว่า SUSE เป็นต้น สำหรับบทความในตอนที่ 1 นี้คงต้องขอจบลงแค่นี้ก่อนนะครับ การ config server ผมจะมาอธิบายต่อในตอนที่ 2 ต่อไปครับ ถ้ามีอะไรผิดพลาดต้องขออภัยด้วยนะครับ

 

วงการ IT นี่มันช่างมีอะไรที่ไม่ค่อยได้เจอในโรงเรียนเยอะเหมือนกันนะเนี่ย ขอบคุณสำหรับความรู้ครับ

 

ผมทำตามแล้วมี HDD 10 GB 1 ตัวจะลองเล่นดู ขอบคุณสำหรับน้องคิมมากหรือน้อง overload
ครับผมที่มาเขียนอะไรดี ๆ ให้เราได้อ่านกัน

ชอบคุณสำหรับบทความดี ๆ ครับผม อ่านแล้วได้ความรู้มาก ๆ



Who's new

  • asaren
  • anuraka
  • kitzkitz
  • alja
  • djrocky

Who's online

There are currently 0 users and 0 guests online.

Readme First!

ขอความกรุณาอ่าน กฏ กติกา มารยาท สำหรับนักเขียน Blog มือใหม่ ก่อนสมัครสมาชิก และเขียน Blog เพื่อความเป็นระเบียนเรียบร้อยในการจัดการเนื้อหาในเว็บไซต์ สำหรับท่านที่สมัครโดยใช้ Hotmail,Live Mail และ Yahoo! Mail ท่าน อาจไม่ได้รับจดหมายใน Inboxเพื่อยืนยัน การสมัครเป็นสมาชิกกรุณาตรวจดูใน Junk
หรือ Bulk Box ครับ

Search