หน้าที่ 3 - เทคโนโลยีและการทำงานของ VoIPStandard of VoIP Technology
สำหรับ มาตรฐานที่มีการใช้งานอยู่บนเทคโนโลยี VoIP นั้น โดยทั่วไปจะมีอยู่ 2 มาตรฐานด้วยกัน ได้แก่... มาตรฐาน H.323 และมาตรฐาน SIP มาตรฐานเหล่านี้ เราสามารถเรียกได้อีกอย่างหนึ่งว่า “Call Control Technologies” ซึ่งถือว่าเป็นส่วนประกอบสำคัญสำหรับการนำเทคโนโลยี VoIP มาใช้งาน
H.323 Standard
สำหรับ มาตรฐาน H.323 นั้น จริงๆ แล้วไม่ได้ถูกออกแบบมาให้ใช้งานกับระบบเครือข่ายที่ใช้ Internet Protocol (IP) นอกจากนั้นมาตรฐาน H.323 ยังมีการทำงานที่ค่อนข้างช้า โดยปกติแล้วเราจะเสนอการใช้งานมาตรฐาน H.323 ให้กับลูกค้าก็ต่อเมื่อในระบบเดิมของลูกค้ามีการใช้งานมาตรฐาน H.323 อยู่แล้วเท่านั้น
มาตรฐาน H.323 เป็นมาตรฐานภายใต้ ITU-T (International Telecommunications Union) Standard
ในตอนแรกนั้น มาตรฐาน H.323 ได้ถูกพัฒนาขึ้นมาเพื่อเป็นมาตรฐานสำหรับการทำ Multimedia Conferencing บนระบบเครือข่าย LAN เป็นหลัก แต่มาในตอนหลังจึงถูกพัฒนาให้ครอบคลุมถึงการทำงานกับเทคโนโลยี VoIP ด้วย
มาตรฐาน H.323 สามารถรองรับการทำงานได้ทั้งแบบ Point-to-Point Communications และแบบ Multi-Point Conferences
อุปกรณ์ต่างๆ จากหลากหลายยี่ห้อ หรือหลายๆ Vendors นั้นสามารถที่จะทำงานร่วมกัน (Inter-Operate) ผ่านมาตรฐาน H.323 ได้
SIP (Session Initiation Protocol) Standard
มาตรฐาน SIP นั้นถือเป็นมาตรฐานใหม่ในการใช้งานเทคโนโลยี VoIP โดยที่มาตรฐาน SIP นั้น ได้ถูกออกแบบมาให้ใช้งานกับระบบ IP โดยเฉพาะ ซึ่งโดยปกติแล้วเราจะแนะนำให้ลูกค้าใหม่ที่จะมีการใช้งาน VoIP ให้มีการใช้งานอยู่บนมาตรฐาน SIP...
มาตรฐาน SIP นั้นเป็นมาตรฐานภายใต้ IETF Standard ซึ่งถูกออกแบบมาสำหรับการเชื่อมต่อ VoIP
มาตรฐาน SIP นั้นจะเป็นมาตรฐาน Application Layer Control Protocol สำหรับการเริ่มต้น (Creating), การปรับเปลี่ยน (Modifying) และการสิ้นสุด (Terminating) ของ Session หรือการติดต่อสื่อสารหนึ่งครั้ง
มาตรฐาน SIP จะมีสถาปัตยกรรมการทำงานคล้ายคลึงการทำงานแบบ Client-Server Protocol
เป็นมาตรฐานที่มี Reliability ที่ค่อนข้างสูง
3672
How VoIP Works…
ใน ส่วนนี้เราจะมาทำความรู้จักเกี่ยวกับการทำงานของเทคโนโลยี VoIP กันนะครับ แต่ก่อนอื่นที่เราจะไปรู้จักกับกระบวนการต่างๆ ของเทคโนโลยี VoIP นั้น ผมขอนำทุกท่านมารู้จักรูปแบบของโปรโตคอล IP กันอย่างคร่าวๆ ก่อนนะครับ
Internet Protocol (IP)
Internet Protocol หรือ IP จะเป็นโปรโตคอลที่ใช้ในการสื่อสารข้อมูลในระบบ Internet ซึ่งในส่วนของการทำงานคร่าวๆ ของโปรโตคอล IP นี้สามารถสรุปอย่างย่อได้ดังต่อไปนี้...
• ข้อมูลจะถูกแบ่งย่อยออกเป็นส่วนๆ
• แต่ละส่วนของข้อมูลจะถูกส่งออกไปในเส้นทางที่อาจจะแตกต่างกันบนระบบ Internet
• ข้อมูลย่อยแต่ละส่วนนั้นจะไปถึงยังปลายทางในเวลาและลำดับที่ไม่พร้อมเพรียงกัน
• หลังจากนั้นจะมีโปรโตคอลอีกหนึ่งตัวเข้ามาเกี่ยวข้อง คือ Transmission Control Protocol (TCP) ซึ่ง TCP นี้จะเข้ามาช่วยเกี่ยวกับการเรียงลำดับข้อมูลที่มาถึงยังปลายทางนี้ให้อยู่ ในลำดับและรูปแบบที่ถูกต้องเหมือนข้อมูลต้นแบบก่อนที่จะถูกส่งออกมา
• โปรโตคอล IP นี้จะเป็นโปรโตคอลในการสื่อสารแบบที่เรียกว่า Connectionless Protocol ซึ่งเป็นการสื่อสารที่จุดต้นทางและปลายของการสื่อสารไม่จำเป็นที่จะต้อง สร้างการเชื่อมต่อ (Connection) ขึ้นมา ณ เวลาที่ต้องการทำการสื่อสาร
หลัง จากได้ทราบคร่าวๆ เกี่ยวกับโปรโตคอล IP กันไปแล้ว เราก็จะมาคุยกันถึงกระบวนการทำงานของเทคโนโลยี VoIP กัน ซึ่งมีขั้นตอนอยู่พอสมควรดังต่อไปนี้...
Conversion to PCM (Pulse Code Modulation)
3675
ในขั้นตอนแรกจะเป็นการแปลงสัญญาณ Analog ให้ไปอยู่ในรูปแบบสัญญาณ Digital หรือที่เรียกว่า PCM
Removal of Echo
3676
ขั้น ตอนต่อไปจะเป็นการมีการแยกสัญญาณออกเป็นส่วนๆ เพื่อทำการตัดสัญญาณ Echo ออก ซึ่งกระบวนการนี้จะถูกจัดการโดย DSP (Digital Signal Processors)
Framing
3677
ใน ส่วนของสัญญาณที่เหลือนั้น ก็จะถูกแบ่งและจัดรูปแบบขึ้นมาใหม่ในรูปของ Frame ซึ่งกระบวนการนี้จะถูกจัดการโดยรูปแบบการบีบอัดที่เรียกว่า CODEC หลังจากกระบวนการนี้แล้ว Frame ของสัญญาณเสียงจะถูกสร้างขึ้น
Packetisation
3678
ใน กระบวนการนี้จะเป็นการแปลง Frame ของสัญญาณให้มาอยู่ในรูปของ Packet ซึ่งจะมีการเพิ่ม Header เข้าไปใน Packet โดยในส่วนของ Header นั้น ก็จะประกอบไปด้วยข้อมูลที่เรียกว่า Sequence Number และ Time Stamp หลังจากนั้น Packet นี้จะถูกส่งต่อไปที่ Host Processor
Address and Delivery
3679
หลังจากที่ได้แปลงสัญญาณให้อยู่ในรูปของ Packet แล้ว ข้อมูลนั้นจะถูกนำมาวิเคราะห์และใส่ค่า IP Address ปลายทาง
Conversion to Analog
3680
หลัง จากที่ได้ทำการใส่ค่าของ IP Address ปลายทางไปใน Header ของ Packet แล้วนั้น เมื่อ Packet เหล่านั้นไปถึงด้านปลายทาง ข้อมูล Header เหล่านี้จะถูกแยกออกเพื่อให้เหลือแค่ Voice Frame หลังจากนั้นก็จะทำการแปลงสัญญาณ Digital PCM ให้กลับมาเป็นสัญญาณรูปแบบ Analog ที่เป็นสัญญาณเสียงที่เราได้ยินกันอีกครั้งหนึ่ง
Error Correction
กระบวน การนี้จะเป็นกระบวนการที่ใช้ในการตรวจสอบและแก้ไขข้อผิดพลาดซึ่งอาจจะ เกิดขึ้นระหว่างการส่งสัญญาณและนำมาซึ่งความผิดเพี้ยนหรือความเสียหายของ สัญญาณจนทำให้เราไม่สามารถทำการสื่อสารอย่างถูกต้องได้
ระบบของ VoIP สามารถแบ่งได้เป็น 4 ส่วนคือ
2.1 Voice Processing module
ทำ การสุ่มตัวอย่างสัญญาณเสียงเพื่อส่งผ่านเครือข่าย IP ซอฟต์แวร์นี้โดยทั่วไปทำงานบน DSP (Digital Signal Processing) Voice Processing module จะต้องประกอบด้วยโปรแกรมซึ่งทำหน้าที่ดังต่อไปนี้
2.1.1 PCM Interface
รับ ตัวอย่าง (สัญญาณสุ่ม) จาก telephony (PCM) interface และส่งต่อให้กับ VoIP Software module ปฏิบัติการต่อ PCM Interface จะทำการสุ่มตัวอย่างเฟสอีกครั้งจากตัวอย่างที่เป็นผลลัพธ์ของ analog interface ซึ่งจะมีการทำการบีบอัดเพื่อป้องกันสัญญาณรบกวน และทำการแปลงสัญญาณ Analog เพื่อไปเป็น Digital
2.1.2 Echo Cancellation Unit
เป็น หน่วยกำจัดการสะท้อนของสัญญาณข้อมูลเสียงที่ถูกสุ่มตัวอย่าง และรูปแบบของการสื่อสารเป็นแบบ full duplex ตามมาตรฐานของ ITU G.165 หรือ G.168 echo cancellation จำเป็นกรณีที่ความล่าช้า 1 รอบของ VoIP มีค่ามากกว่า 50 ms
2.1.3 Voice Activity/Idle Noise Detector
มี หน้าที่ระงับการส่ง Packet เมื่อไม่มีสัญญาณเสียง ทำให้ประหยัดแถบความถี่ ถ้าตรวจจับได้ว่าไม่มีกิจกรรมเกิดขึ้นในช่วงเวลาหนึ่ง ผลลัพธ์ของ voice encoder จะถูกระงับไม่ให้ส่งผ่านเครือข่าย ระดับของเสียงว่างเปล่า (idle noise) จะถูกวัดและแจ้งให้ปลายทางทราบเพื่อที่จะแทรก "comfortable noise" เข้าไปในสายเพื่อไม่ให้คนฟังได้รับสายเงียบในโทรศัพท์
2.1.4 Tone Detector
ทำ หน้าที่ตรวจจับการได้รับ DTMF tones (Dial Tone Multi-Frequency; กลุ่มของ tones ที่ตรงตามมาตรฐานและถูกเขียนทับ ใช้ในสัญญาณโทรศัพท์ซึ่งกำเนิดโดย touch tone pad) และแยกสัญญาณว่าเป็นเสียง หรือ แฟกซ์
2.1.5 Tone Generator
มีหน้าที่กำเนิด DTMF tones และ call progress tones ภายใต้คำสั่งของระบบปฏิบัติการ(OS)
2.1.6 Facsimile Processing module
มีหน้าที่ถ่ายถอดแฟกซ์โดย Stimulate สัญญาณ PCM และแยกข่าวสารออกมา และบรรจุข้อมูลที่สแกนแล้วลงใน Packet
2.1.7 Packet Voice Protocol module
มี หน้าที่รวบรวมสัญญาณเสียงที่ถูกบีบอัด และข้อมูลแฟกซ์ เพื่อส่งผ่านเครือข่ายข้อมูล แต่ละ Packet มีลำดับเลขที่ทำให้ Packet ที่ได้รับถูกส่งเรียงกามลำดับถูกต้อง และสามารถตรวจจับ Packet ที่หายได้
2.1.8 Voice Playout module ที่ปลายทาง ทำหน้าที่บัฟเฟอร์ Packet ที่ได้รับ และส่งต่อให้กับเครื่องเข้ารหัสเสียง เพื่อเล่นเสียงออกมา
3681
รูปที่ 1 Block diagram ของ Voice Processing Module
3682
รูปที่ 2 โครงสร้างภายในตัวประมวลผลสัญญาณดิจิตอล ( DSP )
2.2 The Call Processing module
ทำ หน้าที่เป็น signaling gateway ยอมให้มีการสร้าง call ผ่านเครือข่าย Packet ซอฟต์แวร์นี้ support E&M (Ear & Mouth Signaling; สายส่งสัญญาณระหว่าง PBX และ CO ใช้ในการจองสาย, ส่งต่อดิจิต และ เลิกสาย) และ loop, Call Processing module จะตรวจจับสัญญาณเรียกใหม่ที่เกิดขึ้น และเก็บข้อมูลเกี่ยวกับที่อยู่ ทำงานอ้างอิงตาม protocol H.323 มีฟังก์ชันที่ต้องปฏิบัติดังนี้
2.2.1 ตรวจสอบ interface ที่ต่อกับเครือข่ายโทรศัพท์เพื่อรับคำสั่ง และผลตอบที่จะเข้ามา
2.2.2 แยกข่าวสารออกมา และสิ้นสุดขั้นตอนการเข้าสัญญาณ (terminate signaling protocols เช่น E&M)
2.2.3 จัดการกับข่าวสารให้อยู่ในรูปแบบที่สามารถเปิดการประชุม (session) ผ่านเครือข่าย Packet แปลงเบอร์โทรศัพท์เป็น IP address ขั้นตอนการหมุนเรียก (dialing) มี 2 วิธีคือ
(1) single stage หมุนเรียกเบอร์ของปลายทาง และ ใช้วิธีเลือกเส้นทางแบบอัตโนมัติ
(2) two stage หมุนเรียกเบอร์ของ VoIP gateway แล้วหมุนเรียกปลายทางจริง
2.3 Packet Processing module
เป็น ขั้นตอนการบรรจุสัญญาณข้อมูลเสียงลงใน Packet เพิ่ม transport headers ก่อนส่ง Packet ผ่านเครือข่าย IP (หรือเครือ Packet อื่นๆ) แปลงข่าวสารของสัญญาณจาก telephony protocol เป็น packet signaling protocol
VoIP ทำงานโดยอาศัย protocol ที่ชื่อว่า H.323 ซึ่งเป็นชุดของมาตรฐานที่เกี่ยวกับหลายเรื่องรวมกัน โดยคลอบคลุมทั้งการสื่อสารแบบ จุดต่อจุด และหลายจุดพร้อมๆกัน
(1) Terminal คือ client หรือจุดที่ข้อมูล H.323 ถูกสร้างหรือขึ้น หรือสิ้นสุดการเดินทาง ซึ่งอาจจะเป็น PC หรือว่า เครื่องโทรศัพท์ที่สนับสนุน เครือข่าย IP ซึ่งอาจจะสนับสนุนสัญญาณวีดีโอด้วยก็ได้ Gateway คือ ใช้สำหรับเชื่อมต่อเครือข่ายที่ต่างชนิดกัน เพื่อทำการแปลงชนิดของข้อมูลให้เข้ากันได้กับเครือข่ายที่จะเชื่อมต่อ
(2) Gatekeeper เป็นตัวช่วยบริการต่างๆในแต่ละฝั่งของเครือข่าย ซึ่งมีหน้าที่ในการ แปลง address ระหว่างหมายเลขโทรศัพท์ กับหมายเลข IP , จำกัดการใช้งานของแต่ละ terminal , บริหาร bandwidth และจัดการเกี่ยวกับการหาเส้นทางให้กับ Packet
Multipoint Control Unit (MCU) ใช้ในการติดต่อแบบ หนึ่งจุดกับหลายจุด โดยจะทำการสร้างวงจรเสมือน ขึ้นมา ให้กับ terminal แต่ละตัวที่ทำการสนทนากันอยู่
2.3.1 Procedures ของ H.323
Audio Codecs
G.711 PCM สำหรับย่านความถี่เสียงพูด
G.722 7kHz audio coding ที่ 64kb/s
G.723.1 dual rate speech coders สำหรับส่งข้อมูล multimedia ที่ 5.3 และ 6.3 kb/s
G.728 Coding สำหรับเสียงพูดที่ 16 kb/s ใช้ Linear prediction
G.729 Coding สำหรับเสียงพูดที่ 16 kb/s ใช้ conjugate-structure algebraic code excite linear prediction
Video codes
H.261 Coding สำหรับ ภาพและเสียง ที่ p*64 kb/s
H.263 Coding สำหรับ ภาพและเสียง ที่ bit rate ต่ำ
Data conferencing
H.120 Data protocol สำหรับ multimedia conferencing
Control
H.245 กำหนด message ที่ใช้เปิด channel ของ media stream รวมไปถึงคำสั่ง(command), คำขอร้อง(request), และสัญญาณบอกสถานะ(indication) อื่นๆ
H.225.0 กำหนด message ที่ใช้ควบคุมการเรียก หรือ ขอติดต่อไปยังอีกฝ่ายหนึ่ง (call control) รวมทั้งสัญญาณที่ใช้ (signaling), การตอบรับ (registration และ admission) รวมทั้งการแบ่ง Packet และควบคุมจังหวะการทำงานให้ตรงกัน ของข้อมูลที่ส่ง (packetization/synchronization of media stream)
Real time transport
RTP/RTCP คือ IETF RFC1889 ใช้สำหรับส่งข้อมูลเวลาจริง
Security
H.235 กำหนดแนวทางของระบบรักษาความปลอดภัย การ Encryptions ตลอดจนตรวจสอบความถูกต้องของข้อมูลในระบบ H.323 ทั้งหมด
Supplementary Services
H.450.1 กำหนดแนวทางสำหรับบริการเสริม กระบวนการและสัญญาณที่ใช้สำหรับ ให้บริการ ในรูปแบบที่คล้ายกับโทรศัพท์ธรรมดา
H.450.2 และ 450.3 ใช้ในการบริการที่เกี่ยวข้องกับการโอนสาย
2.3.2 ลำดับชั้นของ H.323 Terminal
3683
2.4 Network management
จะ ควบคุมการจัดส่งข้อมูลไปให้ถึงปลายทาง สำหรับการสนทนาด้วยเสียงนั้นจำเป็นอย่างยิ่งที่จะต้องส่งข้อมูลแบบเวลาจริง แต่สำหรับ TCP/IP นั้น ไม่ได้ถูกออกแบบมาให้ทำเช่นนั้นได้ เราทำได้เพียงกำหนดนโยบายเพื่อให้ Packet ของ H.323 ผ่าน router แต่ละตัวไปให้เร็วที่สุด ซึ่งสามารถทำได้ดังนี้
2.4.1 TOS ซึ่งอยู่ใน header ของ IP Protocol จะถูกกำหนดให้เป็น high เพื่อระบุให้ Packet นั้นเป็น Packet ที่มีความสำคัญสูง ยิ่งให้ความสำคัญสูง Packet ยิ่งใกล้ถูกส่งออกไปใกล้เวลาจริงยิงขึ้น
วิธีการจัดแถวคอยของ Packet
1) FIFO ( First in First Out) เป็นการส่งต่อ Packet ตามลำดับก่อน-หลัง ซึ่งเป็นวิธีที่ไม่ดีมากนัก
2) WFQ (Weighted Fair Queuing) วิธีนี้จะกำหนดให้มีความเสมอภาคกันของแต่ละ service เพื่อไม่ให้มี service ตัวใดตัวหนึ่งใช้ช่องสัญญาณมากเกินไป
3) CQ (Custom Queuing) วิธีนี้ให้ผู้ใช้งานเป็นผู้กำหนดความสำคัญของ Packet แต่ละชนิดด้วยตัวเอง
4) PQ(Priority Queuing) วิธีนี้จะสร้างแถวคอยขึ้นมามากกว่า 1 แถว ซึ่งแต่ละแถวจะมีความสำคัญที่แตกต่างกัน โดยการส่งต่อ จะเริ่มส่งที่ละแถว เมื่อแถวที่มีความสำคัญสูงสุดหมดแล้ว จึงจะเริ่มส่งแถวที่มีความสำคัญน้อยลงมา ตามลำดับ
5) CB-WFQ (Class Based Weighted Fair Queuing) วิธีการนี้จะมีความคล้ายคลึงกับ WQF แต่ต่างกันที่ ได้มีการเพิ่มคุณสมบัติของ class เข้าไป โดยให้ค่าของ bandwidth เป็นคุณสมบัติของแต่ละ class
2.4.2 ทำการกำหนดขนาด และจำกัด bandwidth ของแต่ละ terminal เพื่อรักษา bandwidth ให้ คงที่อยู่ตลอดเวลา ซึ่งทำได้โดยการ จำกัด Bandwidth ของการ download และการ upload
2.4.3 มีการตรวจสอบเพื่อบ้องกันการคับคั่งของข้อมูล ซึ่งอาจจะใช้วิธี RED (Random Early Detection) เพื่อตรวจสอบ ปริมาณข้อมูล
เอกสารอ้างอิง
[1] L.R. Rabiner, The impact of voice processing on modern telecommunications, Proceeding of the Speech Communication 17,p 217-226,1995
[2] A.Barberis,C.Casetti,J.C.De Martin,M.Meo, A simulation study of adaptive voice communications on IP networks, Proceeding of the Computer Communication 24,p 757-767,2001
[3] Alcatel Inc. , IP Telephony Design Guide ,Alcatel white paper, April 2003
[4] Voice Over IP Reference Page, Available on
http://www.protocols.com/pbook/VoIP.htm( 19 August 2004)
[5] Roberto Arcomano berto, VoIP Howto, August 7, 2002, Available on
http://www.tldp.org/HOWTO/VoIP-HOWTO.html (19 August 2004)
[6] Alan Percy, Senior Sales Engineer, Understanding Latency in IP Telephony, Available on
http://www.telephonyworld.com/training/brooktrout/iptel_latency_wp.html (19 August 2004)
[7] Asim Karim, Ohio State University , H.323 and Associated Protocols , Available on
http://www.cis.ohio-state.edu/~jain/cis788-99/h323/index.html (19 August 2004)
[8] ปวีณ เขื่อนแก้ว.2004.”โทรศัพท์บนเครือข่ายอินเตอร์เน็ต (Voice over Internet Protocol ( VoIP )”.ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่
[9] กรุงเทพธุรกิจ (กรุงเทพไอที) ฉบับวันที่ 16 สิงหาคม 2544
[10] บริษัท Allied Telesyn
[11] การสื่อสารด้วยระบบ Voice-over-IP (VoIP), Available on
http://www.voipthailand.com/voip/articles/voip_articles_00002.html