µ¦« ¹ ¬µ¦³ à ¦« ´¡ r nµ Á ¦ ° º nµ¥Å°¡ ¸Îµ®¦...
TRANSCRIPT
การศกษาระบบโทรศพทผานเครอขายไอพสาหรบ กรมสงเสรมการเกษตร
A Study Of Voice over IP for Department of Agricultural Extension
สมฤทธ เทวะภม Sumrit Thewaphoom
สารนพนธฉบบนเปนสวนหนงของการศกษา ตามหลกสตรวทยาศาสตรมหาบณฑต
สาขาวชาวศวกรรมเครอขาย บณฑตวทยาลย มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2553
I
หวขอสารนพนธ การศกษาระบบโทรศพทผานเครอขายไอพ สาหรบกรมสงเสรมการเกษตร
นกศกษา นายสมฤทธ เทวะภม รหสนกศกษา 5117660024 ปรญญา วทยาศาสตรมหาบณฑต สาขาวชา วศวกรรมเครอขาย พ.ศ. 2553 อาจารยทปรกษาสารนพนธ ดร.อภฌาน กาญจนวาปสถตย
บทคดยอ
การตดตอสอสารเปนสงจาเปนในชวตประจาวน ใชเพอการตดตอสอสาร ประสานงาน เจรจาการคา หรอการทาธรกรรมตางๆ สามารถทาไดอยางรวดเรว สะดวกสบาย ระบบโทรศพทพนฐานและระบบโทรศพทมอถอจงเปนทางเลอกลาดบตนๆ ทถกเลอกใชในการตดตอสอสาร เพราะสะดวก รวดเรว และใชงาย แตตองแลกกบคาใชจายทเกดขนจากการเชาหมายเลขโทรศพทและคาใชจายตามจานวนเวลาทใชโทร ปจจบนอนเทอรเนตไดเขามามบทบาทในการทางานมากขน สวนมากจะใชเพอเผยแพรประชาสมพนธขาวสารหนวยงาน คนหาขอมล หรอใชตดตอสอสาร เชน อเมล เวบแชท โปรแกรมสงขอความ
เพอใชประโยชนจากอนเทอรเนตใหเกดประโยชนสงสด ผศกษาจงมแนวคดในการนาเอาระบบโทรศพทผานเครอขายไอพมาประยกตใชกบระบบเครอขายอนเทอรเนต จงไดทาการศกษาและออกแบบระบบโทรศพทผานเครอขายไอพ โดยผลทคาดวาจะไดรบ คอ มระบบโทรศพททางเลอกในการตดตอสอสารแบบไมมคาใชจาย สามารถเพมขยายหมายเลขโทรศพทไดดวยตวเอง มระบบบรหารจดการระบบโทรศพทผานเวบไซต เพมความสะดวกสบาย รวดเรวในการประสานงาน และสามารถลดคาใชจายหนวยงานได
II
Thematic Paper’s Title A Study of Voice over IP for Department of Agricultural Extension
Student Sumrit Thewaphoom Student ID 5117660024 Degree Master of Science Program Network Engineering Year 2010 Project Advisor Apichan Kanjanavapastit
ABSTRACT
Communication is essential in everyday life. To work well with others, coordinate, trading, do negotiations or any transactions, communication is simply what we need. It can be done fast and convenient. The use of mobile or telephone is the first choice we opt to use for communication because of its conveniency, fast and easy to use. But somehow it costs us an amount to communicate through telephone like paying the "rental fee" but it depends on terms and conditions of the operator. Now, internet have an essential function in work , often use for public information, searching or any communication like an e-mail, or web chat.
To take advantage of the Internet to maximize.We have an idea to use like Voice over IP (VOIP) application. We study and design VOIP expecting to have more options for the communication. It's free of charge and it's manageable by ourselves, very comfortable, rapid coordination and reduce the cost of the expenses of the organization.
III
กตตกรรมประกาศ
สารนพนธนจกสาเรจมไดเลยถาปราศจากแนวความคดและการแนะนาแนวทางการดาเนนโครงงาน และองคความรตางๆ จากอาจารย ดร.อภฌาน กาญจนวาปสถตย ทเปนอาจารยทปรกษา อกทงเพอนๆ รนพ ทคอยใหกาลงใจ และคณาจารยทกทาน ของมหาวทยาลยเทคโนโลยมหานครทประสทธประสาทวชาให รวมทงผบรหาร ผอานวยการศนยสารสนเทศ นกวชาการคอมพวเตอร กรมสงเสรมการเกษตร และเจาหนาทสานกงานเกษตรทใหการสนบสนน และความรวมมอ พรอมทงใหขอมลทสาคญและจาเปนตอการทดลอง ทดสอบในการจดทาสารนพนธฉบบน ขาพเจาจงขอกราบขอบพระคณคณาจารย ผบรหาร ผอานวยการศนยสารสนเทศ นกวชาการคอมพวเตอร กรมสงเสรมการเกษตร และเจาหนาทสานกงานเกษตร เปนอยางสงเอาไว ณ ทนดวย
สมฤทธ เทวะภม
IV
สารบญ หนา
บทคดยอภาษาไทย I บทคดยอภาษาองกฤษ IIกตตกรรมประกาศ III สารบญ IV สารบญรป VII สารบญตาราง X บทท 1 บทนา
1.1 ความสาคญของปญหา 1 1.2 ความเปนมาและปญหาสาคญ 1 1.3 ความมงหมายและจดประสงคของการศกษา 2 1.4 สมมตฐานของการศกษา 2 1.5 ขอบเขตงานวจย 3 1.6 ผลทคาดหวง 3 1.7 ขนตอนในการศกษาและทดลอง 4
บทท 2 ทฤษฏพนฐาน 2.1 เทคโนโลย VoIP 5 2.2 โปรโตคอล RTP 6 2.3 โปรโตคอล H.323 8 2.4 โปรโตคอล SIP 9 2.5 โปรโตคอล MGCP 11 2.6 มาตรฐาน Codec ของ VoIP 12
2.7 Voice Processing module 14 2.8 ระบบปฏบตการ FreeBSD 16
บทท 3 การออกแบบและพฒนาระบบ 3.1 กลาวนา 20 3.2 เกบรวบรวมขอมล 21 3.3 ศกษาเทคโนโลย 22 3.4 การออกแบบระบบ VoIP 25 3.5 ขอเสนอแนะ 25
V
สารบญ (ตอ) หนา
บทท 4 การทดลองและผลการทดลอง
4.1 กลาวนา 26 4.2 การเตรยมการทดลอง 26 4.3 การตงคาระบบ 27 4.4 การทดลองและผลการทดลอง 32 4.5 การบรหารจดการหมายเลขโทรศพทผานหนาเวบไซต 4.5.1 การสรางหมายเลขโทรศพท (SIP Account) 36 4.5.2 การเขยนแผนการโทร (Dial Plan) 37 4.5.3 ระบบฝากขอความเสยง (Voice mail) 38 4.5.4 การสรางระบบโทรศพทตอบรบอตโนมต (IVR) 43 4.5.5 รายงานการใชงานโทรศพท 46 4.6 การพฒนาระบบบรหารจดการโทรศพทผานไอพของกรมสงเสรมการเกษตร
4.6.1 การออกแบบตารางขอมล 47 4.6.2 การใชงานระดบผใชงานทวไป 48 4.6.3 การใชงานระดบผดแลระบบ 49 4.6.4 การใชงานระดบหนวยงาน 59
4.7 การประยกตใช Codec G723 และ G729 61 4.8 การนาเอาบรการ TOT netcall มาใชรวมกบ Asterisk 62 4.9 การประมาณคาใชจายในการประยกตใช VoIP กบหนวยงาน 64
บทท 5 สรปผลการทาโครงการ 5.1 สรปผลการทดลอง 66 5.2 ประโยชนทคาดวาจะไดรบ 66 5.3 แนวทางการพฒนา VoIP ของกรมสงเสรมการเกษตร 66 5.3 ปญหาและขอเสนอแนะ 67
ภาคผนวก ก 1. การตดตงระบบปฏบตการ FreeBSD 68 2. การตดตง Asterisk server / Configuration 96 3. การตดตงโปรแกรม Soft Phone 104 4. การใชงานโปรแกรม X-Lite และการกาหนดคา 108 5. SIP Response Message 111 6. การตดตงโปรแกรม Asterisk-addon 114
VI
สารบญ (ตอ) หนา
7. การตดตงโปรแกรม FAMP บน FreeBSD
7.1 การตดตงเวบเซรฟเวอร Apache 115 7.2 การตดตง PHP5 118 7.3 การตดตง PHP5-Extensions 119 7.4 การตดตงฐานขอมล MySql 123 7.5 การตดตงโปรแกรมการจดการฐานขอมล phpMyAdmin 125
8. การกาหนดคา Asterisk Realtime 128 9. การเกบขอมลการโทรของโปรแกรม Asterisk (Call Detail Record) 140 10.การนาเอา Codec G723 หรอ G729 มาใชกบระบบโปรแกรม Asterisk 143
เอกสารอางอง 147
VII
สารบญรป หนา
รปท 2.1 สถาปตยกรรมโปรโตคอล RTP 6
รปท 2.2 แสดงการตดตอของ RTP 7 รปท 2.3 สถาปตยกรรมโปรโตคอล H.323 8 รปท 2.4 องคประกอบสาคญในระบบ SIP 9 รปท 2.5 สถาปตยกรรมโปรโตคอล MGCP 12
รปท 2.6 โครงสรางของกอนขอมลแพกเกตทบรรจทราฟฟกสญญาณเสยง VoIP 14 รปท 2.7 FreeBSD Demon 16
รปท 2.8 โครงสรางของระบบปฏบตการ FreeBSD 17 รปท 3.1 กระบวนการทางาน 20 รปท 3.2 โครงขายอนเทอรเนตกรมสงเสรมการเกษตรปงบประมาณ 2553 21
รปท 3.3 Linksys PAP2T [5] 23 รปท 3.4 NEXTSAY X-100P [5] 23 รปท 3.5 NEXTSAY IP-65 [5] 24 รปท 3.6 NEXTSAY X-100P [5] 24 รปท 3.7 Diagram Network 25 รปท 4.1 กาหนดคาหมายเลขไอพ 27 รปท 4.2 สราง SIP Account 28 รปท 4.3 การเขยน Dial Plan ของระบบ Asterisk 28 รปท 4.4 รโหลดคา SIP และ Extension 29 รปท 4.5 รนระบบโทรศพท Asterisk 29 รปท 4.6 กาหนดหมายเลข SIP Account 30 รปท 4.7 เพมหมายเลข SIP Account ลงในโปรแกรม X-Lite 30 รปท 4.8 กาหนดคา SIP Account 31 รปท 4.9 โปรแกรม X-Lite พรอมใชงาน 32 รปท 4.10 Diagram network แบบท 1 32 รปท 4.11 ผลการจบ Packet ดวยโปรแกรม Wireshark 33 รปท 4.12 การสอสารระหวาง Client กบ SIP Server 33 รปท 4.13 Diagram network แบบท 2 34 รปท 4.14 ผลการจบ Packet ดวยโปรแกรม Wireshark จากนอกเครอขาย 34 รปท 4.15 การสอสารระหวาง Client กบ SIP Server จากนอกเครอขาย 35 รปท 4.16 ทดสอบโทรจากหมายเลข 1000 ไปหา 1001 35
VIII
สารบญรป (ตอ) หนา
รปท 4.17 การเพมหมายเลข SIP Account ลงฐานขอมล 36 รปท 4.18 แสดงหมายเลข SIP Account ในฐานขอมล 37 รปท 4.19 การเพมแผนการโทรเขาฐานขอมล 37 รปท 4.20 แสดงแผนการโทรในฐานขอมล 38 รปท 4.21 การเพม Voice mail box ลงฐานขอมล 39 รปท 4.22 การเขยน Dial plan ลาดบการทางานท 1 40 รปท 4.23 การเขยน Dial plan ลาดบการทางานท 2 40 รปท 4.24 การกาหนดหมายเลขหลกสาหรบฟงขอความเสยง 40 รปท 4.25 การแจงเตอนทางอเมลวามการฝากขอความเสยง 41 รปท 4.26 แสดงแพกเกตระหวางการกดเขาฟงขอความเสยง 42 รปท 4.27 แสดงการตดตอเพอขอฟงขอความเสยง 42 รปท 4.28 แสดงการดกจบแพกเกตระหวางการฟงเสยง IVR 45 รปท 4.29 แสดงกระบวนการเชอมตอการกดเขาฟง IVR 45 รปท 4.30 แสดงขอมลการโทรของแตละหมายเลข 46 รปท 4.31 ไดอะแกรมการออกแบบฐานขอมล 47 รปท 4.32 หนาจอคนหาหมายเลขโทรศพท 48 รปท 4.33 แสดงสถานะหมายเลขโทรศพท (SIP Account) 48 รปท 4.34 แสดงหนาแรกของระบบโปรแกรม 49 รปท 4.35 หนาจอลอกอนเขาระบบโปรแกรม 49 รปท 4.36 แสดงหมายเลขโทรศพทและรายชอหนวยงาน 50 รปท 4.37 แสดงรายละเอยดการโทรของหมายเลข SIP Account 50 รปท 4.38 แสดงหนาจดการขอมลสานกงาน 51 รปท 4.39 เพมขอมลสานกงานเขาในระบบ 51 รปท 4.40 แกไขขอมลหนวยงานทลงทะเบยนไวในระบบ 52 รปท 4.41 แสดงการลบขอมลหนวยงานเรยบรอยแลว 52 รปท 4.42 การเพมหมายเลขโทรศพทใหหนวยงาน 53 รปท 4.43 กาหนดคาของหมายเลขโทรศพท(SIP Account) 53 รปท 4.44 แสดงหมายเลขโทรศพทหนวยงาน 54 รปท 4.45 กาหนดคาการฝากขอความเสยงใหกบหมายเลข SIP Account 54รปท 4.46 การเขยนแผนการโทรลาดบความสาคญท 1 55 รปท 4.47 การเขยนแผนการโทรลาดบความสาคญท 2 55
IX
สารบญรป (ตอ) หนา
รปท 4.48 แกไขรายละเอยดหมายเลขโทรศพท(SIP Account) 56 รปท 4.49 ลบหมายเลขโทรศพท (SIP Account) 56 รปท 4.50 แสดงรายชอผใชงานในระบบ 57 รปท 4.51 กาหนดชอและรหสผานใหกบหนวยงาน 57 รปท 4.52 การแกไขสทธผเขาใชงานในระบบ 58 รปท 4.53 ลบชอผใชงานออกจากระบบ 58 รปท 4.54 การเขาสระบบโดยใชสทธระดบหนวยงาน 59 รปท 4.55 หนาแรกของผใชงานระดบหนวยงาน 59 รปท 4.56 รายงานการโทรของหนวยงาน 60 รปท 4.57 แกไขขอมลสานกงานในระบบ 60 รปท 4.58 แสดงกอนและหลงกาหนด Codec G729 61 รปท 4.59 กาหนด Codec G729 ใหกบ SIP Account 61 รปท 4.60 การตรวจสอบการโทรศพทของผใชงานดวย Codec G729 62 รปท 4.61 ลงทะเบยนใชงานกบ TOT netcall สาเรจ 64
X
สารบญตาราง หนา
ตารางท 1.1 ขนตอนในการศกษาและทดลอง 4 ตารางท 2.1 SIP requests messages 11 ตารางท 2.2 SIP response messages 11 ตารางท 2.3 คณลกษณะของขอมล Datagram ตามประเภทของ Codec แตละชนด 13 ตารางท 2.4 ความหมายของไดเรกทรอรตางๆ 18 ตารางท 3.1 โครงสรางไฟลของระบบโทรศพท Asterisk 23 ตารางท 4.1 อตราคาบรการของ TOT netcall 62 ตารางท 4.2 คาใชจายทใชทาระบบในสวนกลาง 64 ตารางท 4.3 คาใชจายทใชทาระบบในสวนภมภาค 65
1
บทท 1 บทนา
1.1 ความสาคญของปญหา ปจจบนโทรศพท ถอไดวามความจาเปนในชวตประจาวนมากขน โดยเฉพาะ บรษท
องคกร หางราน หนวยงานของภาครฐ หรอบคคลทวไป เพอใชในการตดตอสอสาร ซงมความสะดวก รวดเรวแตสงทตามมาคอคาใชจายทตองเสยคาโทรศพทตามจานวนเวลาทใชจรง ในหลายหนวยงานไดใหความสาคญกบคาใชจายทเกดขนจากการใชโทรศพท จงหาวธการประหยดคาโทรศพทเพอลดคาใชจายของหนวยงานลง เทคโนโลยระบบโทรศพทผานเครอขายไอพ (VoIP) จงเปนตวเลอกทนาสนใจ เพราะหลายหนวยงานไดเชาใชอนเตอรเพอการเผยแพรและสบคนขอมลอยแลว การใหบรการระบบโทรศพทผานเครอขายไอพนไดมผใหบรการอยแลว แตตองซอจานวนเวลาโทร หรอจดตงระบบเองโดยจางบรษททรบจางตดตงระบบโทรศพทผานเครอขายไอพ ซงมราคาทสงมากไมเหมาะกบหนวยงานทมทนนอย และหนวยงานขนาดใหญทมระบบโทรศพทพนฐานเดม
ดงนนเพอเปนการศกษาความเปนไปไดในการนาเอาเทคโนโลยระบบโทรศพทผานเครอขายไอพมาใช เพอประหยดคาโทรศพท และคาจดตงระบบ จงไดจดตงระบบโทรศพทผานเครอขายไอพขนมาเอง โดยใชทรพยากรของหนวยงานทมอย เพอทดสอบประสทธภาพการทางานของระบบโทรศพทผานเครอขายไอพ คณภาพเสยง พรอมทงคาใชจายในการตดตงระบบ และสามารถขยายผลโครงการใหสามารถใชกบหนวยงานภายใตสงกดกรมสงเสรมการเกษตรได
1.2 ความเปนมาและปญหาสาคญ เนองจากกรมสงเสรมเกษตร ทาหนาทสงเสรมและพฒนาคณภาพชวตของเกษตรกรใหมความสามารถในการพงพาตนเองได โดยมเจาหนาทผปฏบตงานทาหนาทเปนผประสานและอานวยความสะดวกในการพฒนาเกษตรกร พรอมทงแนะนาใหความรเกยวกบการทาการเกษตร ดงนนจงมเจาหนาทปฏบตงานอยท วประเทศ ประมาณ 10,000 คน และมสานกงานรวมทงหมด 1,017 หนวยงาน ประกอบดวยดงตอไปน 1.1.1 หนวยงานสวนกลาง กรมสงเสรมการเกษตร ตงอยท 2143/1 ถนนพหลโยธน เขตจตจกร กรงเทพมหานคร
1.1.2 หนวยงานสวนภมภาค 1) สานกสงเสรมและพฒนาการเกษตรเขต จานวน 6 เขต
(จ.ชยนาท, จ.ราชบร, จ.ระยอง, จ.ขอนแกน, จ.สงขลา, จ.เชยงใหม) 2) ศนยสงเสรมและพฒนาอาชพการเกษตรศนย จานวน 54 ศนย
3) สานกงานเกษตรจงหวด จานวน 76 จงหวด 4) สานกงานเกษตรอาเภอ จานวน 880 อาเภอ
2
จากจานวนหนวยงานทมากและครอบคลมทกพนท สงทตามมาคอจานวนหมายเลขโทรศพททมทกหนวยงาน เฉพาะหนวยงานสวนกลาง มหมายเลขโทรศพทจานวน 377 หมายเลข และมรายจายคาโทรศพท เดอนละ 150,000 บาท ถานบรวมหนวยงานทงหมดภายใตสงกดกรมสงเสรมการเกษตรแลวมรายจายคาใชโทรศพทเดอนละหลายแสนบาท แตงบประมาณทจดสรรใหกบหนวยงานภายใตสงกดกรมสงเสรมการเกษตรนนมจานวนจากด จงทาใหการตดตอประสานงานโครงการตางๆ ระหวางหนวยงานภายในสวนกลางและสวนภมภาค ชาไมทนกบเหตการณ เพราะตองควบคมรายจายคาโทรศพทใหพอดกบเงนงบประมาณทไดรบจดสรร กรมสงเสรมการเกษตรไดแกไขปญหาน โดยไดลงทนกบการเชาอนเทอรเนตใหกบหนวยงานภายใตสงกดกรมสงเสรมการเกษตรครบทกหนวยงาน เพอใชรายงานขอมลการผลตการเกษตรและขอมลเกษตรกรผานทางเวบไซต และตดตอประสานงานผานอเมลกรมฯ โดยเฉพาะหนวยงานสวนกลางไดเชาสญญาณอนเทอรเนต ความเรวท 100 Mbps และไดทาระบบการประชมทางไกล (Video Conference) แตใชไดเฉพาะหนวยงานสวนกลางกบสานกสงเสรมและพฒนาการเกษตรเขต 6 เขตเทานน ซงแตละปตองเสยคาเชาใชอนเตอรหลายลานบาท ดงนนเมอคดรายจายคาโทรศพทและคาเชาใชอนเทอรเนต กรมสงเสรมการเกษตรตองเสยคาใชจายเปนเงนงบประมาณจานวนมาก เพอเปนการใชทรพยากรทมอยอยางมประสทธภาพและลดคาใชจายคาโทรศพทของหนวยงาน จงไดจดตงระบบโทรศพทผานเครอขายไอพเพอทดสอบและศกษาบรการตางๆ ของระบบโทรศพทผานเครอขายไอพ
1.3 ความมงหมายและจดประสงคของการศกษา 1.2.1 เพอศกษาระบบโทรศพทผานเครอขายไอพ 1.2.2 เพอศกษาการตดตงระบบโทรศพทผานเครอขายไอพ 1.2.3 เพอศกษาการใหบรการตางๆ ของระบบโทรศพทผานเครอขายไอพ 1.2.4 เพอใหหนวยงานมทางเลอกในการตดตอสอสารแบบราคาถก 1.2.5 เพอใหมระบบบรหารจดการระบบโทรศพทผานเครอขายไอพ 1.2.6 เพอลดคาใชจายในการใชโทรศพทและดแลโครงขายโทรศพทพนฐานแบบเดม
1.4 สมมตฐานของการศกษา 1.3.1 หนวยงานมชองทางการสอสารทางเลอกแบบไมเสยคาใชจาย 1.3.2 หนวยงานสามารถใชทรพยากรอนเทอรเนตอยางมประสทธภาพ 1.3.3 สามารถลดคาใชจายในการใชโทรศพทของหนวยงาน
1.3.4 ลงทนดานอปกรณฮารดแวรในการทาระบบโทรศพทผานไอพนอย 1.3.5 มคณภาพเสยงดกวาหรอเทยบเทากบโทรศพทแบบเดม 1.3.6 สามารถใชงานรวมกบระบบโทรศพทแบบเดมได
1.3.7 การเพมขยายหมายเลขโทรศพททาไดงายและไมมคาใชจาย
3
1.5 ขอบเขตงานวจย 1.4.1 ศกษารายละเอยดทฤษฎการทางาน มาตรฐาน และ โปรโตคอลตางๆ 1.4.2 ศกษาเครองมอโปรแกรมและอปกรณ ทใชทาระบบ VoIP 1.4.3 ตดตงระบบปฏบตการบนเครองเซรฟเวอรและโปรแกรมทเกยวของ 1.4.4 ทดสอบการโทรศพท ภายในและนอกหนวยงาน โดยใชซอฟตแวรสอสาร และอปกรณสอสารอนๆ 1.4.5 พฒนาระบบใหสามารถคอนฟกระบบโทรศพทผานหนาเวบไซต 1.4.6 พฒนาระบบการคนหาหมายเลขโทรศพทของหนวยงานผานหนาเวบไซต 1.4.7 พฒนาระบบรายงานการใชโทรศพทของแตละหนวยงานผานหนาเวบไซต 1.4.8 สรปผลการทดลองและรายงานผลการทดลอง
1.6 ผลทคาดหวง 1.5.1 ทาใหทราบเกยวกบเทคโนโลยของ VoIP 1.5.2 ทาใหทราบกระบวนการทางานของ VoIP และโปรโตคอลทเกยวของ 1.5.3 สามารถตดตงระบบโทรศพทผานเครอขายไอพ 1.5.4 หนวยงานมระบบโทรศพททางเลอกในการตดตอสอสารแบบราคาถก 1.5.5 สามารถขยายหมายเลขโทรศพทไดงายและไมมคาใชจาย 1.5.6 มระบบบรหารจดการระบบโทรศพทผานเครอขายไอพ 1.5.7 ทาใหกรมสงเสรมการเกษตรลดคาใชจายในการใชโทรศพทและคาดแลโครงขายโทรศพท
4
1.7 ขนตอนในการศกษาและทดลอง
กจกรรม
พ.ค.-ม.ย. ก.ค. ส.ค ก.ย ต.ค. พ.ย. ธ.ค ม.ค. ก.พ. ศกษาเทคโนโลยของ VoIP
ศกษาระบบปฏบตการ FreeBSD
ศกษาการตดตงระบบ Asterisk
ศกษาซอฟตแวรทนามาใชในการทดสอบ VoIP
ออกแบบและตดตงระบบ VoIP
ทดสอบระบบ VoIP และเกบขอมลเพอปรบปรง
สรปผลการทดลองและรายงานผล
ตารางท 1.1 ขนตอนในการศกษาและทดลอง
5
บทท 2 ทฤษฏพนฐาน
2.1 เทคโนโลย VoIP
2.1.1 ความเปนมา ระบบโทรศพทพนฐานทเราใชอยในปจจบนน ใชงานผานตสาขา (PBX) เปนการสง
สญญาณเสยงผานโครงขายวงจรของชมสายโทรศพท (Circuit Switching) โดยแตละวงจรหรอเสนทางการสงขอมลไดถกกาหนดใหใชงานไดเพยงคนเดยวเทานน ถงแมวาวงจรหรอเสนทางนนจะวางอยกตาม ทาใหการใชงานโครงขายไดไมเตมประสทธภาพ จงไดมการพฒนาระบบเครอขายสญญาณขอมล (Data Network) เพอใหรองรบการรบ-สง ขอมลใหไดปรมาณมากๆ สามารถกระจายทราฟฟก (Traffic) ทงหมดในโครงขายใหใชงานไดเตมประสทธภาพ โดยไมมวงจรหรอเสนทางไหนวาง ซงกคอการสงขอมลแบบแพกเกตสวตชง (Packet Switching) ตอมาไดนาเอาหลกการของแพกเกตสวตชงนมาพฒนาใชเปน Voice Over Packet Switching เปนการนาเอาสญญาณเสยงมารวมอยบนระบบเครอขายสญญาณขอมลและมการรบ-สงสญญาณ ทงสองอยางไดในเวลาเดยวกน เพอความสะดวก ประหยดคาใชจาย และใชระบบโครงขายใหเกดประโยชนสงสด ดงนนเทคโนโลยดงกลาวจงไดนามาใหบรการสอสารผานอนเทอรเนต ซงมชอเรยกตางกนออกไป เชน VoIP, Voice over IP, IP Telephony หรอ Net Phone
VoIP (Voice over Internet Protocol) เปนเทคโนโลยการสอสารใหมททาใหเรา สามารถรบ-สงสญญาณเสยงผานทางเครอขายอนเทอรเนตหรออนทราเนตได โดยจะตองอาศยอปกรณ (Hardware) หรอโปรแกรมคอมพวเตอร (Software) ทางานรวมกน เทคโนโลย VoIP นถกคดคนขนโดยองคกร Advance Research Project Agency Network (ARPANET) เพอเปนการใชงานเครอขายใหเกดประโยชนและมประสทธภาพมากขน VoIP เปนเทคโนโลยสอสารดวยเสยงผานระบบเครอขายอนเทอรเนต โดยจะแปลงเสยงจากผสงทเปนสญญาณอนาลอกใหเปนสญญาณดจตอลผานอปกรณเครอขายและสงตอผานทางเครอขายอนเทอรเนตไปยงผรบ จากนนจะทาการแปลงสญญาณกลบจากดจตอลใหเปนสญญาณอนาลอกผานทางอปกรณเครอขาย เพอใหผรบไดยนเสยงทสงไป
2.1.2 การทางานของ VoIP VoIP ใชโปรโตคอลของ Internet Protocol ในการสงผานสญญาณเสยง ซง
สญญาณเสยงนนจะถกแบงออกเปนสวนยอยๆ หรอเราเรยกวา Packet โดยสญญาณเสยง ทสงไปมกนยมสงแบบ UDP มากกวาแบบ TCP เนองจากการสงขอมลแบบ UDP นนจะมการสงขอมลไดเรวกวา จงเหมาะสมทจะนามาใชในการสงขอมลเสยงบนโครงขายอนเทอรเนต การสงขอมลเสยงนนจะตองอาศยโปรโตคอลหลกทใชในการสงสญญาณระหวางตนทางกบปลายทางอกดวย เชน โปรโตคอล SIP (Session Initiation Protocol) จงทาใหตนทางและ
6
ปลายทางสามารถสอสารกนได โดยปกตแลวหากมการใชงานโปรโตคอล SIP จะมการใชพอรตสอสาร UDP ท 5060 และ RTP (Real Time Protocol) 10000-20000
2.1.3 มาตรฐานโปรโตคอลของระบบ VoIP
ในการสรางระบบการสอสาร VoIP นนสงทมความสาคญมากในการสรางระบบ คอการ เลอกใชงานโปรโตคอลในการสอสารใหเหมาะสมกบอปกรณทไดจดเตรยมไวเพราะโปรโตคอลเหลานเปรยบเสมอนรปแบบ หรอเปนภาษากลางทจะทาใหอปกรณตางๆ รบสงขอมลกนไดอยางถกตองและประสทธภาพ เพอใหสามารถเลอกใชงานไดอยางเหมาะสม 2.2 โปรโตคอล RTP
2.2.1 ความเปนมา RTP (Real Time Protocol) เปนโปรโตคอลทใชในการกาหนดรปแบบ packet สงภาพ
และเสยงผานอนเทอรเนต พฒนาโดย Audio-Video Transport Working Group ของ IETF และไดตพมพครงแรกในป 1996 (พ.ศ.2539) โดย RTP โดยไมไดมขอกาหนดทแนนอนสามารถใชไดทง TCP และ UDP แตโดยทวไปจะใชพอรต UDP ทเปนเลขคในการสอสารและพอรต UDP เลขคถดไปเปน RTP Control Protocol (RTCP) เลขพอรตมกจะอยระหวาง 16384-32767
2.2.2 สถาปตยกรรมโปรโตคอล RTP
รปท 2.1 สถาปตยกรรมโปรโตคอล RTP
7
2.2.3 หลกการทางาน โปรโตคอล RTP จะทางานในระบบ end-to-end network ซงเปนการสงขอมลแบบ
real-time และเปนการสงขอมลในทศทางเดยว แบบเซรฟเวอรไปยงไคลเอนต โดยจะไมมการตรวจสอบความถกตองของขอมล ไมคานงถงการทา QoS (Quality of Service) ดงนนจงสามารถสงขอมลไดอยางรวดเรว และไดถกนามาใชในการสงขอมลมลตมเดย โดยขอมลทสงจะถกจดการโดย RTCP (Real-time Transport Control Protocol) เพอสงในระบบเนตเวรค ทงน RTP สามารถสงขอมลไดทงแบบ Unicast และ Multicast
โดยโปรโตคอล RTP จะถกโปรโตคอล SIP และ H.323 ใชเพอทางานดานของการสอสารแบบเรยลไทม เชน วทยออนไลน และวดโอบนเครอขายแพกเกตสวตชง มหนาทจดการเรองขอมลประเภทเวลาไปยงผรบ โดยสามารถแกไขคาดเลยของสญญาณไดยอมใหผรบสามารถคนหาแพกเกตทสญหาย และประเมนเสนทางในการสงขอมลอกดวย และยงมหนาทจดการในเรองของการสงขอมลไปยงผรบ ซงสามารถกคนไดในกรณทแพกเกตสญหายหรอ jitter โดย RTP ไดรบการประกาศใชจาก IETF ใน RFC 1889 ซงหนาทหลกกเพอใหบรการฟงกชนตาง ๆ เชน การจดลาดบ การกาหนด payload และ intra-media synchrinization กบReal-time Transport Control Protocol (RTCP)
รปท 2.2 แสดงการตดตอของ RTP
8
2.3 โปรโตคอล H.323 มาตรฐาน H.323 นบเปนมาตรฐานการสอสารในระบบ VoIP ยคแรกเรมเดมท
โปรโตคอล H.323 ถกนามาใชงานกบอปกรณระบบ Video Conference เปนหลก แตไดมการนามาประยกตใชงานรวมกบการสอสารในระบบ VoIP ดวย และยงสามารถทางานบนระบบ IP Address ไดด มาตรฐาน H.323 นถกพฒนาโดย ITU เมอประมาณป ค.ศ. 1996 สามารถตอบรบการรบสงขอมลแบบภาพ และเสยงรวมถงการสงขอมลในลกษณะของแฟกซ ทสงผานบนระบบเครอขาย IP-Based ไดเปนอยางด จงเปนเหตผลททาใหโปรโตคอล H.323 ไดรบความนยมมากในยคแรกๆ อกทงยงสามารถทางานรวมกบเครอขาย ISDN (Integrated Services Digital Network), PSTN (Public switched telephone network) หรอ SS7 (Signaling System 7) ไดอกดวย การทางานของโปรโตคอล H.323 นนเมอทางานในสภาวะเครอขาย NAT จะตองอาศย Gate Keeper เพอทาหนาทเปน Proxy Server ในการรบสงขอมลจงจะสามารถทางานไดอยางมประสทธภาพ
รปท 2.3 สถาปตยกรรมโปรโตคอล H.323
9
2.4 โปรโตคอล SIP SIP เปนมาตรฐานทใชในการรบสงขอมลกบเครอขาย VoIP และไดรบความนยมมาก
ทสดในปจจบน เพราะผผลตโปรแกรม และอปกรณ ตางผลตอปกรณของตนออกมารองรบกบโปรโตคอล SIP กนมากขน โปรโตคอล SIP นไดเรมพฒนาเมอป ค.ศ. 1996 ถกออกแบบโดย Henning Schulzrinne แหงมหาวทยาลย Columbia University และ Mark Handley แหง University College London (ULC) เมอป ค.ศ. 2000 ไดมการประกาศเปนมาตรฐาน RFC 2361 โดยกลม IETF (Internet Engineer Task Force) SIP Working Group มวตถประสงคเพอใชในการตดตอสอสารระหวางอปกรณมลตมเดย (Multimedia Devices) ปกตแลว SIP Protocol จะมการใชงานพอรต TCP หรอ UDP ท 5060 ในการสงสญญาณการลงทะเบยน และมการสงสญญาณเสยงโดยพอรต UDP ระหวาง 10000 ถง 20000 ทางานแบบ Client / Server ดงนนจงแบงออกไดเปน 2 สวนประกอบคอ User Agents (SIP Client) และ Network Server (SIP Server) ดงรป
รปท 2.4 องคประกอบสาคญในระบบ SIP
นอกจากนแลว จากรปท 2.4 ภายในระบบ SIP ยงมสวนการทางานอยางอนไดแก Location Server และ SIP Gateway
2.4.1 User Agents เปนนยามของ SIP Client สามารถแบงออกเปน 2 สวนยอยคอ 1) User Agent Client (UAC) ทาหนาทสรางเสนทางการโทรโดยจะทาการสง
SIP Requests messages ไปยงปลายทาง (UAS) 2) User Agent Server (UAS) ทาหนาทในการตอบรบโทรศพทและสง
10
สญญาณตอบกลบในรปแบบของ SIP response messages โดยปกตแลว User Agents ทาหนาทเปนไดทง UAC และ UAS เพอทาใหสามารถทางานไดทงเปนผโทร (Caller) และ ผถกเรยก (Callee)
2.4.2 Network Server เปนนยามของ SIP Server สามารถแบงออกเปน 3 ประเภท 1) Proxy Server จะมหนาทเปนตวกลางตดตอระหวาง SIP Client ทตองการ
ตดตอสอสารกน โดยสรางกระบวนการตดตอระหวาง SIP Client ทงสองโดยจะมการสงผาน SIP Messages ผาน Proxy Server ระหวาง SIP Client ทงสองเพอรายงานสถานะการทางาน เมอตดตอกนไดแลวกจะเปนการสงขอมลเสยง หรอขอมลการสนทนากนเองโดยตรงระหวาง SIP Client ทงสองผานโปรโตคอล RTP (Real Time Transport Protocol)
2) Registrar Server จะมหนาทในการรบขนทะเบยน SIP Client ทมการสง ขอมลการลงทะเบยนเขามาเพอเปนการบอกใหทราบวาปจจบน SIP Client หมายเลขดงกลาวมาจากทใด เมอม SIP Client อนๆ ตดตอเขามาจะสามารถสงขอมลไปยง SIP Client ดงกลาวได 3) Redirect Server เปน Server ทจะทาการเปลยนหรอกาหนดเสนทางโดยอาศยขอความ (Request Message) เพอสงตอไปยง Server ปลายทางทตองการ
2.4.3 Location Server ทาหนาทในการเกบขอมลหรอเปนฐานขอมลผใชบรการใหกบNetwork Server เพอปองกนปญหาเรองของขนาดฐานขอมลไมเพยงพอ และความปลอดภยของขอมลตามมาตรฐาน SIP เราสามารถพฒนาตว Location Server ไวเปนตวเดยวกนกบ SIP Server ได
2.4.4 SIP Gateway ทาหนาทแปลงสญญาณและขอมลสอประสมระหวางระบบ
เครอขายทแตกตางกน เชน การเชอมตอไปยงระบบ PSTN (Public Switching Telephone Network) ระบบ SS7(Signaling System)
2.4.5 SIP Messages SIP Messages เปนขอความรองขอ (Request) และตอบรบ (Response) จากทง
SIP Client และ SIP Server ทาใหเรารถงข นตอนการทางานของการตดตอสอสารระหวาง SIP Client และ SIP Server โดย SIP Messages จะเหนไดจากการใชโปรแกรมเขาไปดกจบตรวจดขอมล ซง SIP Messages สามารถแบงออกไดเปน 2 ประเภทคอ 1) requests messages เปนขอความทจะเกดขนจาก SIP Client เปนผสรางขอความรองขอซงโดยทวๆ ไปจะม 6 ขอความ ตามการอางองของ RFC 3261 ดงน
11
SIP requests messages ความหมาย INVITE เปนขอความเชญชวนใหรวมสนทนาหรอตดตอสอสาร ACK เปนขอความการตอบรบจากผสนทนา OPTION เปนขอความทใชสอบถามถงความสามารถของ SIP Server
และ Client BYE เปนขอความสนสดการตดตอสอสาร CANCEL เปนขอความยกเลกการตดตอสอสาร REGISTER เปนขอความในการลงทะเบยนกบ SIP Server
ตารางท 2.1 SIP requests messages
2) SIP response messages เปนขอความตอบรบจาก SIP Server ทใชตอบสนองเมอม SIP requests messages สงเขามา ซงโดยปกตแลว สามารถแบงออกไดเปน 6 กลมดงน (รายละเอยดเพมดทภาคผนวก)
SIP response messages ความหมาย 1XX Information Messages 2XX Successful Answer 3XX Redirection Answer 4XX Method Failures 5XX Server Failures 6XX Global Failures
ตารางท 2.2 SIP response messages
2.5 โปรโตคอล MGCP MGCP (Media Gateway Control Protocol) ถกพฒนาโดย IETF และไดกาหนดไว
ใน RFC 3435 ซงไดเอาโปรโตคอลนมาใชงานในระบบ Voice over IP ทาหนาทในการควบคม Gateway ของระบบโทรศพทโดยตวควบคม (Controller) จาก Media gateway ภายนอกระบบ หรอบางครงอาจจะเปน Call agents กได โดยโปรโตคอล MGCP นจะแบงสวนประกอบออกเปน 2 สวนคอ Call Agents หรอ Media Gateway Controller และ Gateway
12
รปท 2.5 สถาปตยกรรมโปรโตคอล MGCP
2.6. มาตรฐาน Codec ของ VoIP [4] ในอตสาหกรรม VoIP ปจจบนทงผใหบรการและผใชบรการ VoIP มมาตรฐานการแปลง
สญญาณเสยงแอนาลอกเปนขอมล VoIP อยหลายทางเลอก ซงลวนไดรบการกาหนดตาม มาตรฐานของ ITU มาตรฐานดงกลาวกคอ Codec (Coder and Decoder) นนเอง โดย Codec แตละประเภทตางกมคณสมบตทแตกตางกน ดงตารางท 2.3 เชน หากเลอกใชมาตรฐาน G.729 ซงแตละวงจรสนทนาตองการแบนดวดธเพยง 8 กโลบตตอวนาท ทาใหสามารถใชชองสอสาร บนเครอขายอนเทอรเนตรองรบจานวนวงจรสนทนา VoIP ไดมาก แตกตองแลกกบเวลาหนวง ของขอมล 25 มลลวนาท ซงผใชบรการอาจรสกวาสญญาณพดคยมการหนวงเลกนอย เมอ เทยบกบการใช Codec แบบ G.726 – 32 ซงผใชบรการแทบไมรสกวาการพดคยมการหนวง เวลาหนวงตามากเพยง 1 มลลวนาท แตขนาดของชองสญญาณทตองใชสาหรบวงจร VoIP แตละวงจรกตองเพมขนเปน 32 กโลบตตอวนาท ซงแมแบนดวดธขนาดนจะไมมากเมอเทยบ กบแบนดวดธของการเชอมตออนเทอรเนตบรอดแบนดเขาบานพกอาศย (เชน ADSL อตราเรว 1,024 เมกะบตตอวนาทในปจจบน) แตเมอมองในภาพรวมของเครอขาย IP ทตองรบรอง ปรมาณทราฟฟก VoIP จานวนมาก กถอวาเปนการเพมภาระของเครอขายมากขน การตดสนใจ เลอกเขารหสแบบใดจงถอวาเปนหนงในขอพจารณาของผใหการบรการ VoIP
สาหรบ Codec แบบ G.711u และ G.711a นน มขดความสามารถพเศษนอกเหนอจาก Codec แบบอนๆ คอมการเพมความสามารถชอ Packet Loss Concealment (PLC) ซงจะชวยลดความผดพลาดของบตขอมลทประกอบเปนแพกเกตขอมล VoIP แตกทาใหตองใชแบนดวดธสงมากขนถง 64 กโลบตตอวนาท ในขณะทประโยชนทไดจากการแกไขความผดพลาดนนกมไดทาให
13
ชวยเพมความชดเจนของสญญาณเสยงจนสงเกตได Codec ทง 2 มาตรฐานจงไมคอยไดรบการ ยอมรบใชงานเทาใดนก และมแนวโนมวาจะไมมการนาไปใชงานกนในอนาคต
มาตรฐาน Codec
อตราเรว ทวไป
คาหนวงกอนขอมล แพกเกต
ขนาดของ Diagram โดยทวไป
แบนดวดธรวม สาหรบการสอสาร 2 ทศทาง
G.711u 64 กโลบตตอ วนาท
1 มลลวนาท 20 ไบต 174.40 กโลบตตอวนาท
G.711a 64 กโลบตตอ วนาท
1 มลลวนาท 20 ไบต 174.40 กโลบตตอวนาท
G.726-32 32 กโลบตตอ วนาท
1 มลลวนาท 20 ไบต 110.40 กโลบตตอวนาท
G.729 8 กโลบตตอ วนาท
25 มลลวนาท 20 ไบต 62.40 กโลบตตอ วนาท
G.723.1 MPMLQ
6.3 กโลบต ตอวนาท
67.5 มลลวนาท 30 ไบต 43.73 กโลบตตอวนาท
G.723.1 ACELP
5.3 กโลบต ตอวนาท
67.5 มลลวนาท 30 ไบต 41.60 กโลบตตอ วนาท
ตารางท 2.3 คณลกษณะของขอมล Datagram ตามประเภทของ Codec แตละชนด
การสงกอนขอมลแพกเกต RTP ผานเครอขายอนเทอรเนต หรอเครอขาย LAN ภายในองคกร ลวนตองใชเวลาในการเดนทางจากโทรศพท VoIP ตนทางไปยงเครองปลายทาง ยงเมอพจารณาถงโครงสรางของกอนแพกเกต RTP กจะเหนวาแพกเกตแตละกอนไมสามารถบรรจขอมลทราฟฟกเสยงพดไดทงหมด หากแตตองแบงเนอทสวนหนงไปใชสาหรบสงขอมลอนๆไมจาเปน IP Header, UDP Header และ RTP Header การเลอกประเภทของ Codec กเปนอกปจจยหนงซงสงผลตอการเพมเวลาหนวงใหกบการรบสงทราฟฟก VoIP ซงทงหมดนกเปนปจจยสาคญอกประการหนงในการออกแบบการใหบรการ VoIP ทมคณภาพ ตารางท 2.3 แสดงถงคณลกษณะทวไปของขอมล Datagram ทบรรจทราฟฟก VoIP โดย จะมคาเปลยนแปลงไป ตามประเภทของ Codec ทเลอกใช จากขอมล ในตารางท 2.3 ลองคานวณแบนดวดธสทธของเครอขายทตองใชในการรบสงทราฟฟก VoIP สมมตวาเลอกใช Codec แบบ G.729 ซงมขนาดของ Datagram หรอ Payload เทากบ 20 ไบต อนหมายความวา วงจร Codec ในเครองลกขาย VoIP จะแปลงสญญาณเสยงพดอนาลอกมาเปนขอมล VoIP ขนาด 20 ไบต ทกๆชวงเวลาการแปลงสญญาณ (ชวงเวลาความถในการแปลงขนเทากบ 8 กโลบตตอวนาท) ซงเมอนามาคานวณขนาดของกอนแพกเกตแลวจะพบวาขนาดสทธในกรณนจะเทากบ
14
หรอหมายความวา สองในสามของกอนขอมลเปนขอมลประกอบการสง เมอนาขอมล
ขนาด 60 ไบตนไปรวมกบ header ของขอมลในระดบชน OSI ชนท 2 (Data Link Layer) ซง สมมตวาเปนการสงผานเครอขายอเธอรเนต LAN อนมขนาดของขอมล header เทากบ 18 ไบต กจะเทากบวากอนขอมลแพกเกต VoIP หนงกอนในเชงกายภาพ ทเกดปรากฎขนจรงบน เครอขาย จะมขนาดเทากบ 60+18 = 78 ไบต คดตอไปวาชองสอสารทใชนตองรองรบการสง กอนขอมลทศทางไปและทศทางกลบ เพอรองรบการสนทนาพดคยไดอยางตอเนอง กเทากบวา ตองเตรยมขนาดแบนดวดธไวรองรบขอมลขนาด 78x2= 156 ไบตเปนอยางนอย เพอเปนความ สะดวกตอการจดเตรยมแบนดวดธ หรอใชคานวณวาแบนดวดธทจดเตรยมไวเพยงพอตอการ รบรองการใชงานโทรศพท VoIP พรอมๆ กนไดเปนจานวนกวงจรนน จงไดทาการสรป แบนดวดธข นตาทตองใชสาหรบการรบสงทราฟฟกแบบ VoIP ตามมาตรฐาน Codec ประเภทตางๆ ดงแสดงในตารางท 2.3
รปท 2.6 โครงสรางของกอนขอมลแพกเกตทบรรจทราฟฟกสญญาณเสยง VoIP
2.7 Voice Processing module จะตองประกอบดวยโปรแกรมซงทาหนาทดงตอไปน [2] 2.7.1 PCM Interface รบตวอยาง (สญญาณสม) จาก telephony (PCM) interface
และสงตอใหกบ VoIP Software module ปฏบตการตอ PCM Interface จะทาการสมตวอยางเฟสอกครงจากตวอยางทเปนผลลพธของ analog interface
IP header (20 ไบต) + UDP header (8ไบต) + RTP header (12 ไบต) + Payload (20 ไบต) = 60 ไบต
15
2.7.2 Echo Cancellation Unit เปนหนวยกาจดการสะทอนของสญญาณขอมลเสยงทถกสมตวอยาง และรปแบบของการสอสารเปนแบบ full duplex ตามมาตรฐานของ ITU G.165 หรอ G.168 echo cancellation จาเปนกรณทความลาชา 1 รอบของ VoIP มคามากกวา 50 ms
2.7.3 Voice Activity/Idle Noise Detector มหนาทระงบการสงแพกเกตเมอไมมสญญาณเสยง ทาใหประหยดแถบความถ ถาตรวจจบไดวาไมมกจกรรมเกดขนในชวงเวลาหนง ผลลพธของ voice encoder จะถกระงบไมใหสงผานเครอขาย ระดบของเสยงวางเปลา (idle noise) จะถกวดและแจงใหปลายทางทราบเพอทจะแทรก "comfortable noise" เขาไปในสายเพอไมใหคนฟงไดรบสายเงยบในโทรศพท
2.7.4 Tone Detector ทาหนาทตรวจจบการไดรบ DTMF tones (Dial Tone Multi-Frequency) กลมของ tones ทตรงตามมาตรฐานและถกเขยนทบ ใชในสญญาณโทรศพทซงกาเนดโดย touch tone pad และแยกแยะสญญาณวาเปนเสยง หรอ แฟกซ
2.7.5 Tone Generator มหนาทกาเนด DTMF tones และ call progress tones ภายใตคาสงของระบบปฏบตการ (OS)
2.7.6 Facsimile Processing module มหนาทถายถอดแฟกซโดยดมอดเลตสญญาณ PCM และแยกขาวสารออกมา และบรรจขอมลทสแกนแลวลงในแพกเกต
2.7.7 Packet Voice Protocol module มหนาทรวบรวมสญญาณเสยงทถกบบอด และขอมลแฟกซ เพอสงผานเครอขายขอมล แตละแพกเกตมลาดบเลขททาใหแพกเกตทไดรบถกสงเรยงตามลาดบถกตอง และสามารถตรวจจบแพกเกตทหายได
2.7.8 Voice Playout module ทปลายทางทาหนาทบฟเฟอรแพกเกตทไดรบ และสงตอใหกบเครองเขารหสเสยง เพอเลนเสยงออกมา เครอขาย VoIP ในอนาคตจะใช PBX บนพนฐานของ IP (iPBX) ซงเลยนแบบการทางานของ PBX เดม คอยอมใหเครองโทรศพท และ multimedia PCs ตอกบ PSTN หรอ อนเทอรเนตได iPBX รวมคณลกษณะของ switch และ router เขาดวยกน และกลายเปนชองทางสบรการอนๆ เพมเตม เชน directories, บรการเกบขอความ, firewall และ เปนทางเขาเนตเวรคเซรฟเวอรอน นอกจากนระบบ VoIP ยงรวมการสอสารแบบ real-time และ non-real time เขาดวยกน การสงขอความเสยงและแฟกซใชวธการเดยวกบการเรยกโทรศพทธรรมดา แตไมจาเปนตองม QoS ระดบเดยวกน
16
2.8. ระบบปฏบตการ FreeBSD[2] 2.8.1 ความเปนมา FreeBSD (Free Berkeley Software Distribution) จดวาเปนระบบปฏบตการขนสง
(Advance Operating System) ทสามารถทางานไดบนสถาปตยกรรมหลายๆ แบบ ทมตน กาเนดมาจาก BSD Unix ของมหาวทยาลย California, Berkeley FreeBSD มคณสมบตทโดด เดนหลายๆ ดาน ไมวาจะเปนความสามารถในการจดการกบเครอขายขนสง มประสทธภาพ ความปลอดภยของระบบ และสามารถเขากนไดกบเครองคอมพวเตอรหลายๆ สถาปตยกรรม ซงคณสมบตดงกลาวในหลายๆ ระบบปฏบตการยงไมม FreeBSD นนเราสามารถนามาสรางเปนเซรฟเวอรแบบ Internet และ Intranet ไดเลย พรอมทงยงสามารถรองรบการทางานกบ เครอขายทมการโหลดขอมลมากๆ และสามารถใชหนวยความจาไดอยางมประสทธภาพถงแม จะมโปรเซสของผใชเขามาในระบบในปรมาณมากๆ กตามคณสมบตของ FreeBSD นน สวนมากแลวจะมในระบบปฏบตการขนสงทผใชจะตองเสยเงนซอมาใชงาน แตสาหรบ FreeBSD นนเปนของฟรสามารถดาวนโหลดระบบปฏบตการนมาใชงานไดฟร โดยไมตองเสยคาใชจายใดๆ สาหรบประเทศไทยนนมผใหความสนใจกบระบบปฏบตการ FreeBSD มากขน เนองจากเปนระบบปฏบตการทสามารถใชงานไดฟรเหมอนระบบปฏบตการ Linux พรอมทงยง มประสทธภาพการทางานสง ไมวาจะนามาใชเปนเซรฟเวอรแบบตางๆ เชน Web Server, FTP Server, Proxy Server ทาใหผบรหารระบบเครอขายคอมพวเตอรหลายแหงเลอกใช ไมวาจะ เปนสถาบนการศกษา มหาวทยาลย รวมไปถงผใหบรการอนเทอรเนต (ISP)
การตดตามขอมล ขาวสาร ความเคลอนไหวของระบบปฏบตการ FreeBSD สามารถ เขาถงไดจากเวบไซต http://www.freebsd.org หรอจะเปน http://www.freebsd.net ซงใน เวบไซตดงกลาวจะนาเสนอขอมลเกยวกบ FreeBSD หลายๆ ดาน ไดแก ความหมาย ประวต ความเปนมา วธการตดตง การนาเอาแพกเกตตางๆ มาใชงาน รวมไปถง BSD Daemon ซงเปนสญญลกษณของระบบปฏบตการ FreeBSD ดงรปท 2.7
รปท 2.7 FreeBSD Demon
17
2.8.2 โครงสรางของระบบปฏบตการ FreeBSD
รปท 2.8 โครงสรางของระบบปฏบตการ FreeBSD
ไดเรกทรอรสาหรบเกบไฟลตางๆ ของระบบปฏบตการ FreeBSD
bin/ เปนไดเรกทรอรทเกบโปรแกรม (Binary files) ตางๆ ท user สามารถเรยกใชงานไดในระบบ
Boot/ เปนไดเรกทรอรทเกบ Kernel ของระบบ ซงตว Kernel นนจะมหนาทในการบรหารระบบ และคอยจดการกบทรพยากรตางๆ รวมถงงานตางๆ ทเกดขนในระบบดวย
dev/ เปนไดเรกทรอรทคอยจดการเกยวกบอปกรณ (device) ตางๆ ทระบบ จาเปนตองใชงาน อาทเชน Disk, Modem, CD-Rom เปนตน
etc/ เปนไดเรกทรอรทเกบรวบรวมไฟล config ตางๆ ของระบบและโปรแกรมอนๆ ไวในไดเรกทรอรน และรวมถงไฟลเกบรหสผานของ user account
Home/ เปนไดเรกทรอรเสมอน หรอเรยกวา symbolic link ทลงคและเชอมโยงไปยง /usr/home ซงไดเรกทรอรนกเปน Home Directory ของ User ตางๆ ในระบบ
mnt/ โดยปกตแลวจะเปนไดเรกทรอรทวางเปลา ซงระบบจะเอาไวเมอตองการจะตดตอ (mount) กบดสกตางๆ เชน Hard Disk หรอ CO-Rom เปนตน
modules/ เปนไดเรกทรอรทเกบโมดลตางๆ ทระบบไดทาการโหลดมาใชงาน proc/ เปนไดเรกทรอรทเกบ Process File System และรวมถงคาของอนเทอรเฟส
(Interface) ตางๆ ทระบบรจก เชน คาของอปกรณตางๆ ทระบบรจกคาของการด PCI แบบตางๆ คาของ Network Card เปนตน
root/ เปน Home Directory ของผดแลระบบ (root) โดยปกตแลว user ทวไปจะไมสามารถเขามายงไดเรกทรอรนได
18
sbin/ เปนไดเรกทรอรทเกบ (System Binary files) ซงจะเปนไฟลทใชเพอกระทาหรอจดการกบระบบโดยตรง ซงไฟลในไดเรกทรอรนจะมความแตกตางจาก /bin
stand/ เปนไดเรกทรอรทเกบกลมโปรแกรมเลกๆ จานวนมากมายทใชในการตดตงFreeBSD และใชเพอปรบแตง FreeBSD หรอตดตงโปรแกรมเพมเตม ซงเราสามารถใชคาสง /stand/sysinstall เพอเขาไปยงโปรแกรม mini-FreeBSD ได
sys/ จะเปนไดเรกทรอรทลงคไปยง kernel ของระบบ tmp/ เปนไดเรกทรอรทเกบ Temporary file ท user ทกคนมสทธทจะเขยนไฟลลงใน
ไดเรกทรอรนได usr/ เปนไดเรกทรอรทเกบสวนทเหลอตางๆ ของระบบ รวมถงไฟลของระบบ และ
ไฟลของผใช (users) อกดวย var/ เปนไดเรกทรอรทเกบ variable files, log files และเปน spool directory
ใหกบโปรแกรมตางๆ ทมอยบนระบบ
ตารางท 2.4 ความหมายของไดเรกทรอรตางๆ 2.8.3 การใชงานโปรแกรมอดเตอร (pico) โปรแกรม pico เปนอดเตอรทใชในการสราง หรอแกไขไฟลขอความ (Text file) ทเปน
Package หนงทมมากบระบบปฏบตการ FreeBSD โดยทวไปนนโปรแกรม pico ไมไดถกตดตงมาใหเราจะตองทาการตดตงเพมเตมเอง กลาวคอ ในชวงของการตดตงระบบจะใหเราเลอกPackage เกยวกบเมล เราจะตองเลอก Package ทชอ Pine (โปรแกรม Pine เปนโปรแกรมEmail Client ตวหนงททาใหเราสามรถทจะเปดอานเมลไดสะดวกมาก เมอเราอยบนระบบปฏบตการ FreeBSD) แตถาเราไมไดเลอก Package ทชอ Pine แลวใหเราเลอกภายหลงได การใชงานโปรแกรม pico ได โดยการพมพคาสง pico ตามดวยชอไฟลทตองการสรางหรอแกไข ดงตวอยาง
Asterisk # pico /usr/local/etc/sip.conf จากนนจะปรากฏหนาจอภาพโปรแกรม pico ใหเราไดใชงานโปรแกรม ดงตวอยาง สวนคาสงพนฐานในการใชงานโปรแกรม pico ทวไป มดงน
กด CTRL + O (Save ขอมล) กด CTRL + X (Exit โปรแกรม) กด CTRL + Y (Page Up) กด CTRL + V (Page Down) กด CTRL + C (แสดงหมายเลขบรรทดท Cursor อย) กด CTRL + W (คนหาคาทตองการในไฟล)
19
2.8.4 การปดเครองเซรฟเวอร (Shutdown) เราสามารถสงใหระบบปฏบตการ FreeBSD ปดเครองเซรฟเวอรหรอ reboot เครองได
หลายวธ ไมวาเราจะอยทใดกตาม เราสามารถสงงานไดโดยใชคาสง Asterisk # shutdown - h now (ใชเพอหยดการทางาน halt ของเครองในทนท) Asterisk # shutdown - p now (ใชเพอหยดการทางาน halt และสงปดเครองในทนท) Asterisk # shutdown - r now (ใชเพอ รสตารทเครองใหมในทนท) Asterisk # init 0 (ใชเพอ ปดเครองใหมในทนท) Asterisk # init 6 (ใชเพอ รสตารทเครองใหมในทนท)
20
บทท 3 การออกแบบและพฒนาระบบ
3.1 กลาวนา เพอใหบรรลวตถประสงคในโครงงาน การศกษาระบบโทรศพทผานเครอขายไอพนน จงไดวางแผนการศกษาและกาหนดวธการดงตอไปน
รปท 3.1 กระบวนการทางาน
การออกแบบ
ศกษาเทคโนโลย
เกบรวบรวมขอมล
เรม
ขอเสนอแนะ
21
3.2 เกบรวบรวมขอมล 3.2.1 ศกษาโครงขายอนเทอรเนตหนวยงานในปงบประมาณป 2553 กรมสงเสรม
การเกษตรนนไดเชาใชอนเทอรเนตกบบรการ บรษท กสท โทรคมนาคม จากด (มหาชน) โดยความเรวอนเทอรเนตท 100 Mbps ภายในประเทศ / 5 Mbps ออกนอกประเทศ และ สานกสงเสรมและพฒนาการเกษตรเขตทง 6 เขตๆ ละ 4 Mbps นอกจากนหนวยงานภายใตสงกดกรมสงเสรมการเกษตรไดรบจดสรรงบประมาณใหเชาใชอนเทอรเนตตามศกยภาพของผใหบรการอนเทอรเนตในทองท จานวน 1,010 หนวยงาน
รปท 3.2 โครงขายอนเทอรเนตกรมสงเสรมการเกษตรปงบประมาณ 2553 3.2.2 ศกษาโครงขาย VoIP เดม
ในหนวยงานของกรมสงเสรมการเกษตรไดมระบบ VoIP ใชอยแลว คอใช เชอมตอ ระหวางสวนกลาง กบสานกสงเสรมและพฒนาการเกษตรเขต ทง 6 เขต จากการศกษาพบวามอปกรณดงตอไปน 1) หนวยงานสวนกลาง (กรมสงเสรมการเกษตร) อปกรณแปลงสญญาณ แบบ Trixbox 2 ตว โดยตอเชอมเขากบต PABX โดยตรง 2) หนวยงานสวนภมภาค (สานกสงเสรมและพฒนาการเกษตรเขต ทง 6 เขต)อปกรณแปลงสญญาณ แบบ Linksys PAP2T 1 ตว
22
3.3 ศกษาเทคโนโลย 3.3.1 โปรแกรม Asterisk
1) ความเปนมา Asterisk คอ โปรแกรมระบบโทรศพทแบบ IP-PBX ถกพฒนา และสรางโดย Mr.Mark Spencer แหงบรษท Digium Inc. เมอป ค.ศ. 1999 ไดมการเผยแพรแบบ Open source ภายใต GNU General Public License (GPL) ซงสามารถดาวนโหลดมาใชงานไดฟรตามขอกาหนดโดยเปนระบบโทรศพท IP-PBX ทมความสามารถเทยบเทากบระบบโทรศพทราคาแพงทมประสทธภาพสง และสามารถทางานไดหลายระบบปฏบตการ เชน Linux, Mac OS X, OpenBSD, FreeBSD และ Sun Solaris โดยในตวโปรแกรม Asterisk ไดมฟงกชนการใชงานของตสาขาโทรศพท PBX(Private Branch eXchange) และรองรบกบระบบ VoIP(Voice over IP) หลายโปรโตคอล เชน SIP, H.323, IAX, MGCP, SCCP (Cisco Skinny) และรองรบกบอปกรณโทรศพททเปนมาตรฐาน
2) โครงสรางไฟลของระบบโทรศพท Asterisk ไดเรกทรอร หรอ ไฟล ความหมาย
/usr/local/etc/zaptel.conf เปนไฟลทใชเพอปรบแตงและกาหนดคาตางๆ ใหกบการด X100P หรอการดรนอนๆ ททางานผานทาง Zaptel Channels
/usr/local/etc/asterisk เปนไดเรกทรอรทเกบไฟลสาคญมากของระบบโทรศพท Asterisk ทงระบบโดยสวนใหญจะมนามสกลเปน .conf
/usr/local/share/asterisk เปนไดเรกทรอรทเกบไฟลเกยวกบ Asterisk เพมเตมเชน Keys, AGI, Firmware และอนๆ
/usr/local/share/asterisk/sounds เปนไดเรกทรอรทใชในการเกบไฟลเสยงทมนามสกลเปน .gsm สาหรบใชงานในระบบทงหมด รวมถงไฟลตวเลขดวย ซงไฟลเหลานจะถกบนทกเปนภาษาองกฤษ
/usr/local/share/asterisk/mohmp3 เปนไดเรกทรอรทใชในการเกบไฟลเสยงเพลงรอสายทมนามสกลเปน .mp3 สามารถนาไฟลเพลงทตองการมาเกบไวในไดเรกทรอรนได
/var/log/asterisk เปนไดเรกทรอรทใชในการเกบ Log ทจาเปนของระบบโทรศพท Asterisk หลายๆ สวนไมวาจะเปน Event, Queue , Messages และอนๆ
/var/log/asterisk/cdr-csv เปนไดเรกทรอรทใชในการเกบขอมลในการใชงานโทรศพทของ Asterisk ทงระบบเพอบนทกวามการเรยกสายจากหมายเลขใดไปหมายเลขใดบาง ซงจะถกเกบไวในไฟล Master.csv สามารถนาไฟลนมาวเคราะหการใชงานหรอจดทาเปนระบบคานวณคาโทรศพทกไดเชนกน
23
/etc/rc.conf เปนไฟลทจะกาหนดใหระบบโทรศพท Asterisk ทางานทกครงทมการบทเครองเซรฟเวอร โดยการกาหนดคาสง asterisk_enable=”YES” และหากมการตดตงการด X100P หรอการดรนอนๆ กจะกาหนดใหไดรเวอร zaptel ทางานโดยการกาหนดคาสงzaptel_enable=”YES” ในไฟลนดวยเชนกน
ตารางท 3.1 โครงสรางไฟลของระบบโทรศพท Asterisk
3.3.2 อปกรณแปลงสญญาณโทรศพท (Analog Telephone Adapter : ATA) ในการทดลองใชผลตภณฑ ยหอ Linksys PAP2T ซงจะรองรบการทางานกบโปรโตคอล SIP สามารถเชอมตอกบโทรศพทแบบอนาลอกได 2 เครอง
รปท 3.3 Linksys PAP2T [5]
3.3.3 การดเชอมตอกบระบบโทรศพท X100P ทาหนาทในการตดตอระหวาง Asterisk กบ โครงขายโทรศพทอนาลอกการด X100P เปนชอเรยกของการดรบโทรศพททมคณสมบตทาหนาทเปน 1 FXO Interface ทาใหเรานาหมายเลขโทรศพททวไปมาเชอมตอกบการด X100P ได 1 หมายเลข หากมผเรยกสายเขามายงการด X100P กจะรบสายโทรศพทนนๆได ซงจะ ขนอยกบการตงคา
รปท 3.4 NEXTSAY X-100P [5]
24
3.3.4 โทรศพทอนาลอก หรอเปนโทรศพท VoIP สามารถใชแทนกนได ในกรณทบรษท หรอหนวยงานมระบบโทรศพทแบบเดมอยแลว ถาตองการใชระบบโทรศพทผานไอพจาเปน ตองซออปกรณแปลงสญญาณอนาลอกเปนดจตอล คอ Linksys PAP2T แตถาหนวยงานไหนตองการเปลยนมาใชระบบโทรศพทแบบไอพใหมหมดกสามารถซอโทรศพททรองรบระบบ VoIP หรอทเรยกวา IP Phone
รปท 3.5 NEXTSAY IP-65 [5] 3.3.5 โปรแกรม VoIP Phone หรอ Soft-Phone ทรองรบโปรโตคอล SIP เปนโปรแกรม
ทใชแทนโทรศพท เพอเปนการประหยดคาใชจาย แนะนาโปรแกรม X-Lite ซงเปนทนยมกนมาก และทสาคญสามารถดาวนโหลดไดฟรท http://www.counterpath.com
รปท 3.6 NEXTSAY X-100P [5]
25
3.4 การออกแบบระบบ VoIP เพอใชเปนโมเดลในการทดสอบระบบโทรศพทผานไอพ จงไดออกแบบ Network diagram ขนมากอน ซงยงไมใชรปแบบทเหมาะสมกบกรมสงเสรมการเกษตร ดงนนจงจาเปนตองมการทดสอบระบบหลายๆ รปแบบ เพอหารปแบบทเหมาะสมและประหยดคาใชจายทสด
รปท 3.7 Diagram Network 3.5 ขอเสนอแนะ 3.5.1 ในการทดสอบในแตละขนตอนควรวางแผนใหด ลาดบกอนหลงใหถก เพราะในการทดสอบระบบจะเกดคาใชจาย 3.5.2 ในการทดสอบควรสงผลกระทบกบผใชงานในระบบเดมใหนอยทสด 3.5.3 ควรมการจาลองระบบกอน เชนทาบน Vmware เพอทดสอบการตดตง และ Config คาตางๆ เพอไมใหสงผลกระทบกบระบบเดม 3.5.4 เกบขอมลคาใชจายของหนวยงานกอนตดตงระบบ และหลงใชระบบเพอเปรยบเทยบคาใชโทรศพท 3.5.5 ใหความรกบเจาหนาทในหนวยงานทไปวางระบบเพอกระตนใหเกดการใชระบบโทรศพทผานไอพใหมากขน
26
บทท 4 การทดลองและผลการทดลอง
4.1 กลาวนา ในการทดสอบระบบโทรศพทเครอขายไอพในครงน เปนการแยกการทดสอบออกจากระบบเครอขายโทรศพทแบบเดม เพอไมใหเกดผลกระทบตอการใชงานของระบบเดม หรอ เกดคาใชจาย เพราะอยในชวงทกาลงศกษาการตดตงระบบโทรศพทเครอขายไอพ 4.2 การเตรยมการทดลอง 4.2.1 การเตรยมอปกรณ 1) เครองคอมพวเตอร Server เพอใชในการตดตง Asterisk Server บน ระบบปฏบตการ FreeBSD มคณสมบตเครองคอมพวเตอร ดงตอไปน
� CPU : Pentium 3 ความเรว 800 MHz � RAM : 128 MB � HDD : 20 GB � LAN Card 10/100 Mbps
2) อปกรณอนๆ Switch Firewall และ Router 4.2.2 การเตรยมซอฟตแวร 1) ระบบปฏบตการ FreeBSD Version 7.2 2) โปรแกรมระบบโทรศพทไอพ Asterisk Version 1.4 3) โปรแกรม VoIP Phone หรอ Soft-Phone ทรองรบโปรโตคอล SIP ซงใน
การทดลองครงนใช โปรแกรม X-Lite Version 3.0 build 53621(http://www.counterpath.com) 4.2.3 กาหนดคาใหกบอปกรณในการทดสอบ ในการทดสอบในครงนมคาหลายทตองกาหนด เชน การทา NAT หมายเลข ไอพของเครอง Asterisk server ระหวางหมายเลข 11.0.0.94 (Private IP) กบ 122.154.22.94 (Public IP) รวมทงการแจกหมายเลขไอพเครองลกทตดตงโปรแกรม X-Lite เองเปนแบบ DHCP 1) เครอง Asterisk Server
� IP address : 11.0.0.94 � Subnetmask : 255.255.255.0 � Gateway : 11.0.0.254 � LAN Card 10/100 Mbps
27
2) เครองลกขายทตดตงโปรแกรม X-Lite เครองท 1 � IP address : 200.1.101.80 � Subnetmask : 255.255.255.0 � Gateway : 200.1.101.1
3) เครองลกขายทตดตงโปรแกรม X-Lite เครองท 2 � IP address : 200.1.101.81 � Subnetmask : 255.255.255.0 � Gateway : 200.1.101.1
4.3 การตงคาระบบ 4.3.1 การเซตคาตางๆ ใหกบระบบปฏบตการ FreeBSD เชนหมายเลขไอพ และการตงคาใหโปรแกรม Asterisk ทางานเมอเปดเครอง โดยเขาไปแกทไฟล /etc/rc.conf (รายละเอยดการตดตงโปรแกรม Asterisk ดทภาคผนวก)
รปท 4.1 กาหนดคาหมายเลขไอพ
4.3.2 การเซตคาโปรแกรม Asterisk 1) การสราง SIP Account ไวบน Asterisk Server โดยใหเขาไปแกไขไฟล
sip.conf เพอสราง SIP Account โดยใชคาสงตามดานลางน เพอเขาไปแกไขไฟล Asterisk# pico /usr/local/etc/asterisk/sip.conf
28
รปท 4.2 สราง SIP Account 2) การเขยน Dial Plan คอการเขยนแผนการโทรศพท เพอกาหนดวาเมอมสาย
เขามาท IP-PBX (Asterisk) แลวนนจะทาอะไรบาง เชน หมนโทรศพทไปยงปลายทางหมายเลขใด หรอจะทาการบนทกเสยง หรอฟงสญญาณรอสาย ทงหมดนจะถกกาหนดโดยการเขยน Dial Plan ถาไมมการเขยน Dial Plan ในระบบโทรศพท Asterisk เพอกาหนดการทางาน ระบบโทรศพทนนกไมสามารถทางานได การเขาไปเขยน Dial Plan เพอกาหนดการทางานของระบบโทรศพท Asterisk ทาไดดงน โดยใชคาสง
Asterisk# pico /usr/local/etc/asterisk/extensions.conf เขาไปเพมคาสงเขาไปในไฟล extensions.conf ดงรปท 4.3 แลวทาการบนทก
exten=> 1000,1,Dial(SIP/1000) exten=> 1001,1,Dial(SIP/1001)
รปท 4.3 การเขยน Dial Plan ของระบบ Asterisk
3) เมอสราง SIP Account และ กาหนด Dial Plan เรยบรอยแลวใหทาการรน คาสงของระบบโทรศพท Asterisk ดวยคาสงดงน
Asterisk# asterisk -rx “restart now” สงใหระบบโทรศพท Asterisk รสตารทตวเอง โดยไมตองรสตารทเครอง
29
Asterisk# asterisk -rx “sip reload” สงใหระบบโทรศพท Asterisk ทาการรโหลดคาตางๆ ของโปรโตคอล SIP อกครง
Asterisk# asterisk -rx “dialplan reload” สงใหระบบโทรศพท Asterisk ทาการรโหลดคาตางๆ ของ Dial Plan ใน Extension
อกครง
รปท 4.4 รโหลดคา SIP และ Extension
4) ทาการทดสอบระบบโทรศพทรวมกบโปรแกรม Soft Phone โดยเปดระบบ โปรแกรม Asterisk เพอรอการรองขอการใชงานจากโปรแกรม Soft Phone ดวยคาสง
Asterisk# asterisk -r
รปท 4.5 รนระบบโทรศพท Asterisk
30
4.3.3 การเซตคาโปรแกรม Soft phone ใหกาหนดคาดงตอไปน 1) คลกทรปสามเหลยม แลวคลกท SIP Account Settings เพอเขาไป
กาหนดคาหมายเลข SIP Account ใหกบตวโปรแกรม X-Lite ซงหมายเลขทกาหนดตองไดถกประกาศไวในเครอง Asterisk Server เรยบรอยแลวถงจะใชงานได ดงรป
รปท 4.6 กาหนดหมายเลข SIP Account
2) คลกปม Add เพมคาหมายเลข SIP Account ใหกบโปรแกรม X-Lite
รปท 4.7 เพมหมายเลข SIP Account ลงในโปรแกรม X-Lite
31
3) กาหนดคาตางๆ เพอใหโปรแกรม X-Lite สามารถตดตอกบ Asterisk Server ไดซง SIP Account ตองถกประกาศไวบน Asterisk Server แลวกดปม OK
รปท 4.8 กาหนดคา SIP Account
4) รายละเอยดทตองกาหนดมดงตอไปน Display Name : เปนชอทเราตงขนมาเปนอะไรกได สวนมากจะตงเปนชอ
หนวยงาน หรอตงเปนชอของเราเองถาใช Soft Phone เหมอนกนเมอเรยกออกไป เครองปลายทางกจะแสดงชอทเรากาหนดใน Display Name เพองายตอการจดจา
User Name : เปนการกาหนด User Name ทเราไดสราง SIP Account ไวใน Asterisk Server ทไฟล sip.conf เชน 1000, 1001, 1002
Password : ใส Password ตามทไดสรางไวใน Asterisk Server ทไฟล sip.conf ซงตองระวงนดหนงคอหามใสผด ถาใสผด SIP Account นนจะใชงานไมได และการตง Password ควรตงใหมความปลอดภยถามการคาดเดาหมายเลข User Name และ Password ได จะทาใหผทเขาไปรองขอลาสดเปนผไดสทธในการใช SIP Account นน
Authorization Username : ใหกาหนดเหมอนกบ User Name เพอเอาไวเปน ขอมลในการตรวจสอบสทธของผใช
Domain : ถาหนวยงานไดมการสราง Domain ทรองรบ Asterisk Server ใหใสชอ Domain ไดเลย หรอใหกาหนดเปนหมายเลข IP ของเครอง Asterisk Server ในการทดลองนไดกาหนดเปนหมายเลข Public IP ของเครอง Asterisk Server
5) หลงกาหนดคาเสรจแลว เมอเชอมตออนเทอรเนต โปรแกรม X-Lite
32
ทาการรองขอตรวจสอบหมายเลข SIP Account กบเครอง Server Asterisk วาหมายเลข ทกาหนดน ไดมการสรางไวหรอไม ถามจะขนขอความ
Ready Your username is : 1001 ซงพรอมสาหรบใชงานโทรศพทผาน Soft Phone
รปท 4.9 โปรแกรม X-Lite พรอมใชงาน
4.4 การทดลองและผลการทดลอง 4.4.1 Diagram network ทดสอบแบบท 1 ทดสอบภายในเครอขายเดยวกน 2 เครอง
รปท 4.10 Diagram network แบบท 1
33
ผลการจบ Packets ดวยโปรแกรม Wireshark จะเหนกระบวนการทางานระหวาง เครอง 200.1.101.99 (Client) กบ 122.154.24.94 (SIP Server)
รปท 4.11 ผลการจบ Packet ดวยโปรแกรม Wireshark
รปท 4.12 การสอสารระหวาง Client กบ SIP Server
34
4.4.2 Diagram network ทดสอบแบบท 2
รปท 4.13 Diagram network แบบท 2
ผลการจบ Packets ดวยโปรแกรม Wireshark จะเหนกระบวนการทางานระหวางเครอง 122.154.24.237 (Client) กบ 122.154.24.94 (SIP Server) หรอโทรจากหมายเลข 9000 ไปหมายเลข 8000
รปท 4.14 ผลการจบ Packet ดวยโปรแกรม Wireshark จากนอกเครอขาย
หมายเลข 8000 หมายเลข 9000
35
รปท 4.15 การสอสารระหวาง Client กบ SIP Server จากนอกเครอขาย 4.4.3 ตวอยางหนาจอโปรแกรม X-Lite ททดสอบโทรจากหมายเลข 1000 ไปท 1001
รปท 4.16 ทดสอบโทรจากหมายเลข 1000 ไป 1001
จากการทดสอบการโทรโดยใชโปรแกรม X-Lite ทง 2 รปแบบ สามารถตดตอสอสารกนได ซงบางครงอาจมเสยงสะทอนกลบ เปนเพราะไมคทใชทดสอบไมไดมาตรฐาน
36
4.5 การบรหารจดการหมายเลขโทรศพทผานหนาเวบไซต จากการทดลองทผานมาพบวาการกาหนดคาตางๆ ของระบบโทรศพท Asterisk นน ตองใชความรเรองระบบโทรศพทและการกาหนดคาผาน Command line ของระบบปฏบตการซงตองอาศยผเชยวชาญเพอทาการคอนฟก เพอใหงาย และ สะดวกตอการบรหารจดการหมายเลขโทรศพท(SIP Account) จงไดพฒนาระบบการบรหารจดการผานหนาเวบไซตขน โดยใชโปรแกรม Asterisk realtime เปนโปรแกรมเชอมตอระหวาง Asterisk ใหสามารถทางานรวมกบฐานขอมลได เชน การกาหนดหมายเลขโทรศพท(SIP Account) การเขยนแผนการโทร การกาหนดการใหบรการอนๆ ของ Asterisk รวมทงการดรายงานการโทรไดดวย ซงขอมลตางๆ จะเกบไวในฐานขอมล สามารถนามาเขยนเปนโปรแกรมใหงายตอการจดการ ซงมขอดคอ เมอมการเปลยนแปลงคาของระบบ Asterisk เชน การเปลยนคาแผนการโทรเสรจแลวไมตองรโหลดแผนการโทรใหม ซงกอนหนานการจะเพมหมายเลขโทรศพทกตองเขาไปเพมในไฟล sip.conf เปลยนแผนการโทรกตองเขาไปแกไฟล extensions.conf เมอแกเสรจแลวตองทาการ รโหลดคาตางๆ ซงทงหมดนตองทาทเครองเซรฟเวอร Asterisk เทานน ในหวขอนจะสาธตวธการเพมขอมลการคอนฟกลงฐานขอมล MySQL ผานโปรแกรม phpMyAdmin และรายละเอยดการกาหนดคาตางๆ ของ Asterisk realtime เพอใหใชงานกบฐานขอมล MySQL ไดนนศกษาเพมเตมทภาคผนวก
4.5.1 การสรางหมายเลขโทรศพท (SIP Account) ในการทดลองในเบองตน การกาหนดหมายเลข SIP Account นนตองประกาศไว
ทไฟล sip.conf เมอเพมเสรจจาเปนตองทาการรโหลดคา SIP Account กอน หมายเลขนนถงสามารถทางานได แตในการเพมขอมลลงบนฐานขอมล MySQL นเมอเพม SIP Account เขาไปแลวสามารถใชงานไดเลย ตวอยางการเพมขอมลหมายเลข SIP Account ผานหนาจอโปรแกรม phpMyAdmin ในตาราง sip_buddies
รปท 4.17 การเพมหมายเลข SIP Account ลงฐานขอมล
37
เมอเพมหมายเลข SIP Account เขาไปในฐานขอมลมากๆ เราสามารถเขยนโปรแกรมใหแสดงและแกไขหมายเลขทตองการได
รปท 4.18 แสดงหมายเลข SIP Account ในฐานขอมล
4.5.2 การเขยนแผนการโทร (Dial Plan) จากตวอยางทไดกลาวมาการกาหนดใหหมายเลขโทรศพทแตละหมายเลขมลาดบ
การทางานอยางไร ตองเขาไปแกไขทไฟล extentions.conf แตในฐานขอมล MySQL นนสามารถเพมขอมลทตาราง extentions ไดเลย หรอสามารถเขยนเปนโปรแกรมเขาไปแกไขแผนการโทร
รปท 4.19 การเพมแผนการโทรเขาฐานขอมล
เมอเพมแผนการโทรเขาไปในฐานขอมลแลว เราสามารถเขยนโปรแกรมบรหารจดการได ซงใหสะดวกสบายตอการกาหนดแผนการโทร
38
รปท 4.20 แสดงแผนการโทรในฐานขอมล
4.5.3 ระบบฝากขอความเสยง (Voice mail) ในระบบโทรศพท Asterisk นนไดมระบบฝากขอความเสยงถงหมายเลข
SIP Account ปลายทางได เมอสายปลายทางไมไดรบสายหรอไมวาง โดยมระบบตอบรบอตโนมตใหผเรยกสายสามารถพดขอความเสยงทตองการฝากไว และผทเปนเจาของหมายเลขปลายทางสามารถเขาไปฟงขอความเสยงผานระบบ Voice mail ของระบบโทรศพท Asterisk ได ในการกาหนดคานนมอย 2 สวนคอ การประกาศคา Voice Mail box และการเขยน Dial Plan
1) การคอนฟกคา Voice mail ใหสามารถทางานรวมกบ MySQL กอนอนตองเขา ไปกาหนดคาไฟลคอนฟก voicemail.conf เขาไปแกไขไฟลท Asterisk# pico /usr/local/etc/asterisk/voicemail.conf
[general] dbuser=asterisk dbpass=asteriskok dbhost=localhost dbname=asterisk mailcmd=/usr/sbin/sendmail -t sendvoicemail=yes mysqlstorage=asterisk mysqltable=vm_users
กาหนดให Asterisk ไปอานคา Voice mail box ในฐานขอมล MySQL หรอสามารถกาหนดเขาไปในไฟล extensions.conf ซงมรปแบบดงน
รปแบบ : mailbox => password, Full name , email
39
ตวอยาง: 10 => 1234, Computer Center,[email protected]
จากตวอยางอธบายไดดงนคอ 10 คอ Voice mail box
1234 คอ รหสผานของ Voice mail box เมอตองการเขามาฟงขอความเสยง ตองกดรหสผานดงกลาว
Computer Center คอ ชอเจาของ Voice mail box [email protected] คอ อเมลของผใชงานเมอมการฝากขอความเสยง ระบบโทรศพท Asterisk จะสงอเมลแจงไปยงอเมลทระบไว
พรอมทงแนบไฟลเสยงไปดวย ถาเปนการคอนฟกผานหนาเวบไซตสามารถเขาไปเพมรายละเอยดของ Voice mailbox
ในตาราง vm_user โดยใหกาหนดชอ Mailbox และรหสผานกอนเขาฟงขอความเสยง (รายละเอยดการสรางตาราง vm_user ดทภาคผนวก) จากตวอยางไดเพมรายละเอยด Voice mailbox ในตาราง vm_user ผานโปรแกรม phpMyAdmin
รปท 4.21 การเพม Voice mail box ลงฐานขอมล
2) การเขยนแผนการโทร(Dial plan) การฝากขอความเสยง เมอทาการประกาศใหม Voice mail box แลวสงทตองทาตอ คอการเขยน
แผนการโทรเพอสงให Voice mail ทางานเมอมการเรยกสายไปยงหมายเลขปลายทางแลวไมมผรบสาย กใหระบบฝากขอความเสยง voice mail ฝากขอความเสยงได นอกจากจะเขยนสงให Voice mail box ทางานแลวสงทตองกาหนดเพม คอหมายเลขหลกทเอาไวฟงขอความเสยง ถาตองการฟงขอความเสยงใหกดหมายเลขหลกน เพอฟงรายการ Voice mail ซงสามารถเขยนไดดงน โดยเขาไปแกไขไฟล Asterisk# pico /usr/local/etc/asterisk/extensions.conf
[default] exten => 10,1,Dial(SIP/10|20|m) exten => 10,2,VoiceMail(u10@default) exten => 10000,1,VoiceMailMain()
40
จาก Dial plan อธบายไดดงนเมอมสายเรยกเขามาทหมายเลข 10 Dial plan จะทาตามลาดบความสาคญท 1 กอน คอรอการรบสายจาก SIP Account หมายเลข 10 นาน 20 วนาท ถาไมมการรบสาย Dial plan จะทาความสาคญท 2 เขาสระบบฝากขอความเสยง เสรจแลวกาหนดใหเมอตองการฟงขอความเสยงใหกดไปทหมายเลข 10000 เพอทาการฟงขอความเสยง (หมายเลขนกาหนดเพยงครงเดยว)
ถากาหนดในฐานขอมลสามารถเขาไปเพมการเขยน Dial plan ไดทตาราง extensions เพมรายละเอยดของแตละ exten เขาไป ขอด คอเมอเพมเขาไปแลวระบบทางานไดเลยไมตอง reload คาของระบบทกครงทมการแกไข
รปท 4.22 การเขยน Dial plan ลาดบการทางานท 1
เสรจแลวใหเพม Dial plan ลาดบการทางานท 2 ลงไปในฐานขอมล เมอเรยกสายเขามาไมมผรบสายใหทาลาดบท 2 คอฝากขอความเสยง
รปท 4.23 การเขยน Dial plan ลาดบการทางานท 2
เพม Dial plan กาหนดหมายเลข Voice mail หลก เพอใชกดฟงขอความเสยงทฝากไว
41
รปท 4.24 การกาหนดหมายเลขหลกสาหรบฟงขอความเสยง
3) การทดสอบโดยใช Soft phone ใชหมายเลขโทรศพท SIP Account หมายเลข 10 โทรหาหมายเลข 20 แลว
หมายเลข 20 ไมไดรบสาย หมายเลข 10 ไดฝากขอความเสยงไว เสรจแลวระบบโทรศพท Asterisk จะทาการสงอเมลไปแจงยงเจาของ Voice mail box หมายเลข 20 พรอมทงไฟลเสยงแนบมาดวยใหหมายเลข 20 สามารถดาวนโหลดฟงได หรอเขาไปฟงใน Asterisk Mail คอ กดหมายเลข 10000 ระบบจะใหใสรหสผานของ Voice mail box ฟงขอความเสยงโดยไฟลเสยงทฝากไวจะอยในโฟลเดอรรปแบบดงตอไปน Asterisk# /var/spool/asterisk/voice/default/(ชอ mail box)/INBOX หรอ Old เชน โทรศพทหมายเลข 10 ฝากขอความเสยงทหมายเลขโทรศพทหมายเลข 20 จะหาไฟลไดท Asterisk# /var/spool/asterisk/voice/default/20/INBOX/msg000.wav โดยขอความใหมทยงไมไดเปดฟงกจะอยในโฟลเดอร INBOX ถาเปดฟงแลวจะถกยายไปเกบไวท Old พรอมทงสงไฟลเสยงมาทางอเมลของหมายเลขโทรศพท 20 ดวย จากการทดลองไดทดสอบกบอเมลของ Hotmail และ Gmail ปรากฎวาไมสามารถสงผานได แตถาเปนอเมลกรมฯ สามารถรบอเมลจากระบบ Asterisk ได
รปท 4.25 การแจงเตอนทางอเมลวามการฝากขอความเสยง
42
4) ผลการดกจบแพกเกตดวยโปรแกรม Wireshark เพอดการวงของขอมลระหวาง การเขาฟงขอความเสยงโดยใชโทรศพทหมายเลข 80 โทรหาหมายเลข 10000 รายละเอยดดงตอไปน
รปท 4.26 แสดงแพกเกตระหวางการกดเขาฟงขอความเสยง
ซงจะเหนวาหมายเลข 80 จะทาการลงทะเบยนกบ Asterisk server กอน แลวจะทาการรองขอไปยง Asterisk server เพอตดตอกบหมายเลข 10000 เพอฟงขอความเสยง
รปท 4.27 แสดงการตดตอเพอขอฟงขอความเสยง
43
4.5.4 การสรางระบบโทรศพทตอบรบอตโนมต (IVR) ในหนวยงานหรอบรษทใหญๆ เมอเราโทรศพทไปตดตอเพอทาธรกรรมจะไดยน
เสยงกลาวตอนรบ และจะไดยนเสยงขอความตางๆ ตามทระบบกาหนดไวโดยอตโนมต โดยเรากดหมายเลขตางๆ เพอโตตอบกบระบบ ซงระบบ IVR จะทาหนาทตามโปรแกรมไดกาหนดไว
คาสงเกยวของกบระบบ IVR คาสง Background เปนคาสงทใชเลนไฟลเสยงทตองการ คาสง PlayBack เปนคาสงทใชเลนไฟลเสยงทตองการ โดยขณะเลนสามารถกด
ปมโตตอบกบระบบไดทนทไมตองรอฟงเสยงใหจบ คาสง Dial เปนคาสงในการหมนโทรศพทไปยงหมายเลข SIP หรอ IAX คาสง Record เปนคาสงทใชบนทกไฟลเสยงทตองการมหนวยเปนวนาท คาสง Wait เปนคาสงทใชในการรอหรอหนวงเวลา มหนวยเปนวนาท คาสง WaitExten เปนคาสงในการรอการกดหมายเลขโทรศพททตองการ คาสง Hangup เปนคาสงใชเพอวางสายเมอสนทนาเสรจ
ในโปรแกรม Asterisk นนสามารถเขยน Dial Plan ในการบนทกเสยงเพอนามาใชกบระบบ IVR ไดโดยไมจาเปนตองอดเสยงจากหองอดเสยง ขนตอนการเขยน Dial Plan อดเสยง IVR ดงตอไปน เขาไปแกไขไฟล extensions.conf แลวพมพคาสงดานลางเขาไปในไฟล เสรจแลวทาการบนทก และ Reload extensions หรอสามารถเพมเขาไปในฐานขอมล MySQL ทตาราง extensions
[default] exten => 777,1,Answer() exten => 777,2,Wait(2) exten => 777,3,Record(record-no-%d:ulaw) exten => 777,4,Wait(2) exten => 777,5,Playback(${RECORDED_FILE}) exten => 777,6,Wait(2) exten => 777,7,Hangup()
จาก Dial Plan อธบาย ดงนเมอกดหมายเลข 777 จากโปรแกรม X-lite แลวโทรออก ระบบจะใหสญญาน beep เรากเรมบนทกเสยงตามทตองการเมอบนทกเสรจใหกดเครองหมายสเหลยม (#) รอสกครระบบจะเลนเสยงทไดบนทกไวใหฟงอกครงแลวระบบจะวางสายไป โดยเสยงททาการบนทกจะถกบนทกเสยงลงในไฟลชอ record-no-1 (%d จะเปลยนเปน 2, 3, 4 เมอเรา record ครงตอไป) ในระบบปฏบตการ FreeBSD ไฟลเสยงจะอยใน directory /usr/local/share/asterisk/sounds/ ประเภทของไฟลเสยงทบนทกคอ ulaw ซงสามารถเปลยนเปนประเภทอนได เชน WAV หรอ GSM
44
จากการทดลองนไดสราง ระบบ IVR ของศนยสารสนเทศ เมอโทรเขามายงหมายเลขของศนยสารสนเทศกจะไดยนเสยงตามทไดกาหนดไวดงน
1) กดโทรมาทหมายเลข 99 จะไดยนเสยง สวสดคะ ศนยสารสนเทศ ยนดทไดใหบรการ กรณากดหมายเลขภายในททานทราบหรอ กด 1 เพอตดตอกลมระบบเครอขายและคอมพวเตอร กด 2 เพอตดตอกลมวเคราะหและวางระบบขอมล กด 3 เพอตดตอกลมงานทะเบยนเกษตรกร หรอ กด 0 เพอตดตอโอเปอเรเตอร
2) ถาไมกดหมายเลขในเวลาทกาหนด ขออภยคะ คณไมไดกดหมายเลขภายในเวลาทกาหนด
3) กดหมายเลขทไมไดกาหนดไวในระบบจะไดยนเสยง ขออภยคะ คณกดหมายเลขไมถกตอง กรณากดใหม หรอ กด 0 เพอตดตอโอเปอรเรเตอร
เมอกาหนดขอความโตตอบอตโนมตเรยบรอยแลว ใหทาการบนทกเสยง IVR โดยกดหมายเลข777 แลวโทรออก เมอบนทกเสรจแลวใหตรวจสอบวาไฟลเสยงทบนทกนนมหรอไม โดยใหเขาไปคนหาท Asterisk# ls /usr/local/share/asterisk/sounds/ จะพบไฟลเสยงทไดบนทกเขาไป
record-no-0.ulaw record-no-1.ulaw record-no-2.ulaw record-no-3.ulaw record-no-4.ulaw record-no-5.ulaw
เมอมไฟลเสยงขอความโตตอบอตโนมตแลวใหเขาไปเขยน Dial Plan ทไฟล extensions.conf หรอสามารถเขยน Dial Plan ในฐานขอมล MySQL ในการทดสอบนไดกาหนดใหเมอกดหมายเลขโทรศพทมาท 99 จะพบขอมล
[default] exten => 99,1,Answer() exten => 99,2,Background(/usr/local/share/asterisk/sounds/record-no-2) exten => 99,3,WaitExten() exten => 99,4,Hangup()
exten => 1,1,Dial(SIP/10,30,m) exten => 2,1,Dial(SIP/20,30,m) exten => 3,1,Dial(SIP/30,30,m) exten => 0,1,Dial(SIP/80,30,m)
45
exten => i,1,Background(/usr/local/share/asterisk/sounds/record-no-3) exten => i,2,Goto(99,2) exten => t,1,Background(/usr/local/share/asterisk/sounds/record-no-4) exten => t,2,Goto(99,2)
ผลการดกจบแพกเกตจากโปรแกรม Wireshark โดยในการทดสอบไดใชหมายเลข SIP Account หมายเลข 50 โทรเขาหมายเลข 99 เพอโตตอบกบระบบโทรศพทอตโนมต
รปท 4.28 แสดงการดกจบแพกเกตระหวางการฟงเสยง IVR
รปท 4.29 แสดงกระบวนการเชอมตอการกดเขาฟง IVR
46
4.5.5 รายงานการใชงานโทรศพท เมอใชหมายเลข SIP Account โทรหากน หรอวาฝากขอความเสยง นนระบบจะเกบรายละเอยดไวให และ เราไดกาหนดใหเกบไวในฐานขอมล MySQL ดงนนสามารถนามาเขยนเปนโปรแกรมเพอดรายงานการโทรของแตละหมายเลขโทรศพทได วธการเซตใหระบบเกบรายละเอยดการโทร (CDR) ลงในฐานขอมลนนใหดทภาคผนวก
รปท 4.30 แสดงขอมลการโทรของแตละหมายเลข
47
4.6 การพฒนาระบบบรหารจดการโทรศพทผานไอพของกรมสงเสรมการเกษตร จากเบองตนทไดกลาวมานนไดทาการเพมขอมลการคอนฟกเขาไปในตางรางของ
Asterisk realtime ผานทางโปรแกรม phpMyAdmin ตอไปจะเปนการพฒนาระบบบรหารจดการโทรศพทผานไอพดวยภาษา PHP และใชฐานขอมล MySQL โดยไดออกแบบฐานขอมลจดเกบขอมลหนวยงาน และกาหนดคาคอนฟก Asterisk โดยไดมตารางทเกยวของตาม ER-Diagram สวนรายละเอยดของตารางนนใหดทภาคผนวก
4.6.1 การออกแบบตารางขอมล ซงประกอบดวยตารางผดแลระบบ(admin) ตารางหนวยงาน(office) ตารางประเภทของหนวยงาน(type) ตารางเกบหมายเลขโทรศพท(Sip_buddies) ตารางขอความเสยง(Vm_user) ตารางการเขยนแผนการโทร(extensions) ตารางตาบล(tam_tb) ตารางอาเภอ(amp_tb) ตารางจงหวด(pro_tb) ในการเขยนโปรแกรมไดออกแบบผใชงานออกเปน 3 ระดบ คอบคคลทวไป หนวยงาน และผดแลระบบ
รปท 4.31 ไดอะแกรมการออกแบบฐานขอมล
48
4.6.2 การใชงานระดบผใชงานทวไป การใชงานของบคคลทวไปนนสามารถคนหาหมายเลขโทรศพท (Sip Account)
โดยพมพชอสานกงานเกษตรอาเภอ หรอสานกงานเกษตรจงหวดเขาไป ระบบจะคนหาชอหนวยงานทอยในฐานขอมล MySQL พรอมทงคลกเขาไปดหมายเลขโทรศพทของหนวยงานได
รปท 4.32 หนาจอคนหาหมายเลขโทรศพท
พรอมทงสามารถรไดวาขณะนหมายเลขโทรศพท(Sip Account) ออนไลนหรอไม
รปท 4.33 แสดงสถานะหมายเลขโทรศพท (SIP Account)
49
4.6.3 การใชงานระดบผดแลระบบ(Administrator) สามารถเขาไปจดการระบบไดทงหมด เชน การเพมหนวยงาน การเพมหมายเลขโทรศพท การเขยนแผนการโทรศพท หรอ การเขยนระบบฝากขอความเสยงสามารถกาหนดผานระบบได โดยใหเขาไปคลกท “เขาสระบบ”
รปท 4.34 แสดงหนาแรกของระบบโปรแกรม
เมอคลกเขาสระบบ ใหกรอก user และ password เพอเขาจดการขอมลของระบบโทรศพท (SIP Account) ทงหมด หรอถาเปนหนวยงานกสามารถกรอก user และ password ของหนวยงานเพอเขาจดการขอมลหนวยงานดรายละเอยดการโทรออกทงหมด
รปท 4.35 หนาจอลอกอนเขาระบบโปรแกรม
50
เมอลอกอนเขาไปแลวจะพบเมนตางๆ ใหเขาไปจดการกบระบบโทรศพทผานเครอขายไอพ เมนหลกประกอบดวยดงน
1) หนาแรก เปนเมนยอนกลบมาหนาแรกสาหรบคนหาหมายเลขโทรศพท (SIP Account) ของหนวยงาน
รปท 4.36 แสดงหมายเลขโทรศพทและรายชอหนวยงาน
2) ขอมลการโทร เปนเมนแสดงขอมลการโทรของหมายเลขตางๆ เปนการนาเอารายละเอยดการโทรศพท(SIP Account) ของแตละหมายเลขเกบลงฐานขอมล MySQL แลวนามาเขยนเปนโปรแกรมเรยกขนมาแสดง ซงสามารถประยกตใชกบการคดคาใชจาย(Billing) โดยแสดงเปนจานวนเวลาทใช และคาใชจายทเกดขน
รปท 4.37 แสดงรายละเอยดการโทรของหมายเลข SIP Account
51
3) จดการขอมลสานกงาน เปนเมนเพม ลบ และแกไขหนวยงาน พรอมทง ยงเปนเมนในการจดการหมายเลขโทรศพท(SIP Account) เชน การเพม ลบ แกไข หมายเลขโทรศพทหนวยงาน การเขยนแผนการโทร การเขยนระบบฝากขอความเสยง
รปท 4.38 แสดงหนาจดการขอมลสานกงาน
เมอคลกขางบน “เพมขอมลสานกงาน” จะพบหนาจอใหเพมขอมลหนวยงาน
รปท 4.39 เพมขอมลสานกงานเขาในระบบ
52
จากรปท 4.38 ชองการจดการ ประกอบดวยเมนยอย คอ การแกไขขอมลสานกงาน การลบขอมลสานกงาน การเพมหมายเลขโทรศพท เมอคลกเลอกรปสญญลกษณกระดาษกบดนสอ เพอแกไขขอมลหนวยงานจะพบหนาจอสาหรบแกไขรายละเอยดขอมลหนวยงาน
รปท 4.40 แกไขขอมลหนวยงานทลงทะเบยนไวในระบบ จากรปท 4.38 คลกเลอกรปเครองหมายกากบาท เพอลบขอมลหนวยงานออกจากระบบ เมอคลกแลวโปรแกรมจะทาการลบขอมลหนวยงานนนออกจากระบบ
รปท 4.41 แสดงการลบขอมลหนวยงานเรยบรอยแลว
53
จากรปท 4.38 คลกเลอกรปโทรศพท เพอเพมหมายเลขโทรศพท(SIP Account) ใหกบหนวยงาน จะพบเมน “เพมหมายเลขโทรศพท”
รปท 4.42 การเพมหมายเลขโทรศพทใหหนวยงาน
เมอคลกเมน “เพมหมายเลขโทรศพท” จะพบหนาจอใหกรอกรายละเอยดหมายเลขโทรศพท(SIP Account) การกาหนดคาตางๆ ของระบบ เชน การกาหนดชอ กาหนด mail box กาหนดชอผใช กาหนดรหสผาน และมาตรฐาน Codec ทใชตดตอสอสารของหมายเลขนนๆ
รปท 4.43 กาหนดคาของหมายเลขโทรศพท(SIP Account) หลงจากกรอกขอมลเสรจใหกดปมตกลง จะปรากฏหมายเลขโทรศพท(SIP Account) อยภายใตหนวยงานนนๆ ตวอยางเชน รปท 4.44 จะพบวาสานกงานเกษตรเขตมนบรม 2 หมายเลข ซงภายในหนาจอนสามารถเขาไปจดการรายละเอยดของหมายเลขนนๆ ได
54
รปท 4.44 แสดงหมายเลขโทรศพทหนวยงาน
จากหนาจอรปท 4.44 จะประกอบดวย เมนดงตอไปน แทบเพมสถานะ ประกอบดวย
เมน Voice การกาหนดคาของการฝากขอความเสยงของหมายเลขโทรศพท เมน Dial การกาหนดคาแผนการโทรของหมายเลขโทรศพท
แทบการจดการ ประกอบดวย เมน การแกไข เปนเมนสาหรบแกไขขอมลหมายเลขโทรศพทของหนวยงาน
ทไดเพมในเมน “เพมหมายเลขโทรศพท” เมน ลบหมายเลขโทรศพทของหนวยงาน
เมน Voice เปนการกาหนดวาหมายเลขโทรศพทนนสามารถใหบรการฝากขอความเสยงไดหรอไม ถาไมมการกาหนดในสวนนจะไมสามารถฝากขอความเสยงได
รปท 4.45 กาหนดคาการฝากขอความเสยงใหกบหมายเลข SIP Account
55
เมน Dail เปนการกาหนดแผนการโทร จากรปท 4.46 อธบายไดดงน Context :default คอ จดเรมตนของการเรมเรยกสายสามารถตงชอไดหลายชอ Exten : 20 คอ กาหนดปมการกด เชน กดปมหมายเลข 20 แลวใหทารายการ Priority : 1 คอ ลาดบแผนการโทรซงจะทาตามลาดบทมตวเลขนอยสดไปหามาก App : Dial คอ กาหนดใหเรยกสญญาณไปทหมายเลข SIP Account Appdata: SIP/20|20|m คอ เมอกดปม 20 ใหเรยกสญญาณมาท SIP Account
หมายเลข 20 มชวงเวลารอสาย 20 วนาท ชวงรอสายใหฟงเสยงเพลงรอสายดวย เมอรอสายเกน 20 วนาทใหทาลาดบความสาคญท 2 ตอไป
รปท 4.46 การเขยนแผนการโทรลาดบความสาคญท 1
แผนการโทรลาดบความสาคญท 2 เมอรอรบสายนานเกน 20 วนาท โปรแกรม VoiceMail จะใหฝากขอความเสยงหาหมายเลข 20 โดยใหรอฟงเสยงดงปบหนงครง คอยฝากขอความเสยงเมอพดเสรจใหกดปม # เพอสนสดการฝากขอความเสยง
รปท 4.47 การเขยนแผนการโทรลาดบความสาคญท 2
56
เมนการแกไข เปนเมนแกไขคาของหมายเลขโทรศพท (SIP Account) ของหนวยงานนนๆ
รปท 4.48 แกไขรายละเอยดหมายเลขโทรศพท(SIP Account)
เมนลบหมายเลขโทรศพท เปนเมนลบหมายเลขโทรศพทหนวยงานออกจากระบบโปรแกรม
รปท 4.49 ลบหมายเลขโทรศพท (SIP Account)
4) จดการสทธผใชงาน คอเมนการกาหนด user และ password ใหกบ หนวยงาน เพอใหหนวยงานนนสามารถเขามาแกไขขอมลหนวยงานไดและเขาดรายงานการโทรของหนวยงานได เมอคลกเขาไปจะพบเมนอย 3 สวนคอ การเพมสทธผใชงาน การแกไข และลบสทธผใชงาน ดงรปท 4.50
57
รปท 4.50 แสดงรายชอผใชงานในระบบ
เมน “ เพมสทธผใชงาน” เปนการเพมสทธใหกบหนวยงานเพอเขาไปแกไขขอมลหนวยงานและดรายละเอยดการโทร โดยการกาหนดชอลอกอนและรหสผาน ผดแลระบบ(Administrator) จะตองเปนผกาหนดให
รปท 4.51 กาหนดชอและรหสผานใหกบหนวยงาน
58
เมน “การแกไขขอมลสทธ “ เปนการแกไขขอมลผใชงาน ตงรหสผานใหม โดยทงหมดนจะถกจดการดวยผดแลระบบ
รปท 4.52 การแกไขสทธผเขาใชงานในระบบ
เมน “การลบสทธ” จากรปท 4.50 ตรงรปทมเครองหมายกากบาท เมอใชเมาสคลกจะเปนการลบชอผใชงานออกจากระบบ เมอลบแลวชอผใชงานนนจะไมสามารถเขามาดขอมลการโทรของหนวยงานได
รปท 4.53 ลบชอผใชงานออกจากระบบ
5) ออกจากระบบ คอ เมนทใช Log off ออกจากระบบ เมอคลก Log off ออกจากระบบแลว ระบบจะกลบเขาสหนาจอผใชงานทวไป
59
4.6.4 การใชงานระดบหนวยงาน สามารถเขาไปจดการขอมลหนวยงานของตวเองได และดรายละเอยดการโทร โดยใหเขาไปคลกท “เขาสระบบ”
รปท 4.54 การเขาสระบบโดยใชสทธระดบหนวยงาน
เมอเขาสระบบ จะพบกบหนาจอคนหาหมายเลขโทรทพทของหนวยงานตางๆ
รปท 4.55 หนาแรกของผใชงานระดบหนวยงาน
60
เมน “ ขอมลการโทร ” เมอคลกเขาไปจะพบกบรายงานการโทรของแตละหมายเลข ทอยภายใตหนวยงาน
รปท 4.56 รายงานการโทรของหนวยงาน
เมน “ แกไขขอมลสานกงาน” หนวยงานสามารถแกไขขอมลหนวยงานของตวเองได
รปท 4.57 แกไขขอมลสานกงานในระบบ
เมน “ออกจากระบบ” เปนเมนสาหรบ Log off เพอกลบออกจากหนาจอการทางานของหนวยงาน เมอคลก ออกจากระบบแลว ระบบจะกลบไปหนาจอผใชงานทวไปซงจะสามารถคนหาขอมล หมายเลขโทรของหนวยงานตางๆ ไดเทานน
61
4.7 การประยกตใช Codec G723 และ G729 ภายหลงการตดตง Codec G723 และ G729 จะแสดงรายละเอยดเกยวกบการนา Codec ไปใชงาน สวนการนาเอา Codec G723 และ G729 นน Softphone และ Hard phone ตอง support codec ดวย
1) ทาการตดตง Soft Phone ท support Codec G729 ทชอวา X-Pro ซงรองรง Codec G729
2) เซตคาหมายเลขโทรศพทบน Soft Phone
รปท 4.58 แสดงกอนและหลงกาหนด Codec G729
3) กาหนดใหหมายเลขโทรศพทรองรบ G729 โดยคาเรมตนระบบจะใช Codec G711 โดยตองเขาไปเพม Codec ลงในไฟล sip.conf ตอนกาหนดแตละหมายเลข หรอ กาหนดลงในฐานขอมลทตาราง sip_buddies ดงรป
รปท 4.59 กาหนด Codec G729 ใหกบ SIP Account
62
4) จบแพกเกตโดยใชโปรแกรม Wireshark เพอดการตดตอสอสารของ โปรแกรมในการโทรนน ไดใช Codec G729 หรอไม ทาการทดสอบโดยโทรจากหมายเลข 50 โทรไปหาหมายเลข 80 โดยพยายามเรยกสาย หลงจากนนหมายเลข 80 รบสาย จากการจบแพกเกตพบวาสามารถใชงานไดจรงโดยทงสองใช Codec G729 ในการตดตอสอสาร
รปท 4.60 การตรวจสอบการโทรศพทของผใชงานดวย Codec G729
จากการทดสอบเราสามารถนาเอา Codec ทเปน Software opensource มาใชงานได 4.8 การนาเอาบรการ TOT netcall มาใชรวมกบ Asterisk
บรการ TOT netcall เปนบรการโทรศพทผานเครอขายอนเทอรเนต โดยใชเทคโนโลย VoIP (Voice over Internet Protocol) สามารถใชโทรจากเครองคอมพวเตอร หรอซอฟโฟนทสามารถเชอมตออนเทอรเนตไปยงหมายเลขโทรศพทบาน โทรศพทมอถอ และ หมายเลข TOT netcall ไดทวไทย ทวโลก สามารถเขาไปหาขอมลเพมเตมไดท http://www.totnetcall.net การทดลองในครงนไดนาเอาบรการ TOT netcall มาใชเปนชองทางให SIP Account ของ Asterisk สามารถโทรออกไปยงหมายเลขโทรศพทบาน หรอมอถอได ปจจบนมอตราคาบรการดงตอไปน
ตารางท 4.1 อตราคาบรการของ TOT netcall
63
กอนอนตองไปซอการดโทรศพทแบบเตมเงนของทโอท (TOT Prepaid) ทราน 7-11 แลวสมครใชบรการทโอท เนตคอล ทเวบไซต http://www.totnetcall.com เมอสมครแลว กรอกรหส (ไดจากการดโทรศพท) ในระบบบนเวบไซต ระบบจะสง user และ password มายงหมายเลขโทรศพทมอถอ และทางอเมล การเซตใหระบบ Asterisk สามารถใชงานกบ TOT netcall ได มวธการกาหนดคาดงตอไปน
กาหนดคาทไฟล sip.conf เพอทาการขนทะเบยนและประกาศ SIP Account กบทาง TOT netcall โดย userid และ password คอ user และ password ทเราไดมาหลงจากสมครใชบรการ tot netcall สงมาใหตอนสมคร ซงตองกาหนดคาใหถกตอง
[general] Register =>userid:[email protected]/userid
[totnetcall] username=userid ทไดจาก tot netcall type=friend fromuser=userid ทไดจาก tot netcall realm=หมายเลขเครองเซรฟเวอร Asterisk ของเรา secret=password ทไดจาก tot netcall host=203.113.125.82 outboundproxy=203.113.125.82 fromdomain=203.113.125.82 insecure=very canreinvite=no dtmfmode=rfc2833 call-limit=1 allow=g729 allow=alaw allow=ulaw nat=yes กาหนดคาทไฟลไฟล extensions.conf เพอกาหนดใหกดหมายเลขโทรออก SIP Trunk [default] exten => _9.,1,Dial(SIP/${EXTEN:1}@totnetcall,45,r)
จากตวอยางในไฟล extensions.conf หมายถง หากตองการโทรออกไปหมายเลขโทรศพท ภายนอกใหกดหมายเลข 9 แลวตามดวยหมายเลขปลายทางทตองการ เชน 9085831xxxx
64
เมอกาหนดคาใหกบไฟลทง 2 แลวสง reload sip และ reload extensions ดวยคาสง Asterisk# asterisk -rx “sip reload” Asterisk# asterisk -rx “dialplan reload”
เมอทาการ Reload เรยบรอยแลวทดสอบวาเครองเซรฟเวอร Asterisk สามารถ
ลงทะเบยนใชงานกบ TOT netcall ไดหรอไม ดวยคาสง Asterisk# asterisk -rx “sip show registry” ถาสามารถลงทะเบยนสาเรจจะพบขอความ “Registered” ดงรป
รปท 4.61 ลงทะเบยนใชงานกบ TOT netcall สาเรจ เมอลงทะเบยนเสรจแลวทดสอบโดยใช sip account โทรออกไปยงหมายเลขมอถอทตองการ 4.9 การประมาณคาใชจายในการประยกตใช VoIP กบหนวยงาน
คาใชจายในการจดทาโครงงานนมการลงทนทนอยมากเพราะสวนมากจะใชทรพยากรของหนวยงานทมอยแลวมาใชใหเกดประโยชนสงสด ซงไดแบงคาใชจายออกเปน 2 สวนคอสวนทเปนสวนกลาง คอ กรมสงเสรมการเกษตร ทตองตดตงเครองเซรฟเวอร(Asterisk Server) โดยไดใชเครองคอมพวเตอรทไมไดใชงานแลวมาทา และคาใชจายในการตดตงอปกรณสาหรบสวนภมภาค คอ สานกงานเกษตรอาเภอ และสานกงานเกษตรจงหวด
ประมาณการคาใชจายในการจดทาระบบในสวนกลาง ดงน
รายการ คาใชจายเดม(บาท) คาใชจายเพม(บาท) 1.คาเชาอนเทอรเนตสวนกลาง (100 Mbps) 3 ลานบาท ไมม 2.เครองคอมพวเตอร - 8,000 3.คาเชาหมายเลขโทรศพท(กรณเปดใชใหม) - 4,000 4.คาการด X-100 - 1,300 รวมคาใชจายทงหมด 3 ลานบาท 13,300
ตารางท 4.2 คาใชจายทใชทาระบบในสวนกลาง
จากตารางท 4.2 คาใชจายจะพบวาผจดทาโครงงานไดใชทรพยากรของหนวยงานมาใชใหเกดประโยชนสงสดโดย หนวยงานไดเชาใชอนเทอรเนต มหมายเลขโทรศพทของหนวยงาน และเครองคอมพวเตอรทไมไดใชอยแลว สงทตองหาเพมคอการด X-100 สาหรบทาเปนชองทาง
65
ตดตอสอสารระหวางหมายเลขโทรศพทพนฐาน กบหมายเลข SIP Account ถาเบองตนยงไมเปดใหบรการนไมจาเปนตองซอการด X-100
ประมาณการคาใชจายในการจดทาระบบในสวนภมภาค
รายการ คาใชจายเดม(บาท) คาใชจายเพม(บาท) 1.คาเชาอนเทอรเนตหนวยงาน (TOT 6 Mbps) 590 บาท / เดอน ไมม 2.ตวแปลงสญญาณโทรศพท PAP2T - 2,200 3.ตวโทรศพททวไป - 890 รวมคาใชจายทงหมด 590 3,090
ตารางท 4.3 คาใชจายทใชทาระบบในสวนภมภาค
จากตางรางท 4.3 จะพบวาการเชาใชอนเทอรเนตของหนวยงานไดเชาใชเปนรายเดอนอยแลว และในรายการท 2 เปนตวเครองแปลงสญญาณโทรศพทดจตอลใหเปนอนาลอก ถาสามารถหาซอเครองโทรศพททเปนไอพมาใชแทนได แตปจจบนมราคาคอนขางแพงประมาณเครองละ 4,000 บาท เพอใหการสนทนาคลองตว และประหยดจงไดซอตวแปลงสญญาณโทรศพททวไป คอตวแปลงสญญาณ PAP2T มาตอกบเครองโทรศพทพนฐานทวไปใหใชงานได ซงจะประหยดคาใชจายลงไป แตเบองตนในการทดสอบระบบยงไมจาเปนตองลงทนซออปกรณน เพราะสามารถทดสอบโดยใชซอรฟโฟนได
66
บทท 5 สรปผลการทาโครงการ
5.1 สรปผลการทดลอง
ผลจากการศกษาและทดสอบพบวาสามารถนาเอาระบบโทรศพทผานเครอขายไอพ มาใชกบหนวยงานของกรมสงเสรมการเกษตรได เพราะจากการทดสอบคณภาพเสยงชดเจนด มคาใชจายในการลงทนตอจดนอยมาก งายตอการบรหารจดการหมายเลขโทรศพท สามารถใชเปนระบบโทรศพททางเลอกได เพอลดคาใชจายคาโทรศพทของหนวยงาน 5.2 ประโยชนทคาดวาจะไดรบ
1. สามารถใชตดตอสอสารระหวางหนวยงานของกรมฯ ไดจรง 2. สามารถฝากขอความเสยงได 3. สามารถใชเปนระบบโทรศพททางเลอกใหกบกรมฯ ได 4. สามารถเพมขยายหมายเลขโทรศพทในอนาคตไดโดยไมมคาใชจาย 5. สามารถใชหมายเลขโทรศพทผานเครอขายอนเทอรเนตในทตางๆ ไมจาเปนตองอย
ในสานกงาน 6. สามารถคนหาหมายเลขโทรศพทผานหนาเวบไซตได 7. สามารถดรายงานการใชงานโทรศพทได 8. สามารถบรหารจดการหมายเลขโทรศพทไดงายโดยสามารถจดการผานหนาเวบ 9. สามารถนา Codec G729 มาใชกบระบบโทรศพทผานเครอขายอนเทอรเนตได
และใชทราฟฟกของเครอขายนอย
5.3 แนวทางการพฒนา VoIP ของกรมสงเสรมการเกษตร เนองจากกรมสงเสรมการเกษตรเปนหนวยงานทมสานกงานและเจาหนาทปฏบตงานอยในระดบอาเภอและจงหวด โดยสวนใหญหมายเลขโทรศพทสานกงานจะเปนหมายเลขทใชตดตอราชการกบหนวยงานภายนอก เกษตรกร และเจาหนาทภายในกรมฯ การคงไวซงหมายเลขโทรศพทพนฐานคงตองมอย แตสามารถนาเอาระบบโทรศพทผานอนเทอรเนตมาใชเปนทางเลอกในการตดตอสอสารระหวางเจาหนาทของกรมฯ เพราะลงทนแตละจดคดเปนเงนลงทนทตามาก ถาหนวยงานไหนมโทรศพทแบบธรรมดาทเปนสายเชอมตอแบบหว RJ11 สามารถซอตวแปลงสญญาณ ATA เพยงตวเดยวกสามารถใชงานระบบโทรศพทไดแลว ซงราคาประมาณ 2,200 บาท และอนเทอรเนตทกหนวยงานเชาใชอยแลว ปจจบนตนทนคาโทรศพทของหนวยงานจะคอนขางคงท จะใชตดตอเฉพาะหนวยงานภายนอกและทจาเปนเทานน แตสวนมากเจาหนาทจะใชโทรศพทมอถอสวนตวในการตดตอสอสาร เพราะคาบรการถกลงและมความสะดวกสบายมากขน แตคาใชจายเจาหนาตองเปนผรบผดชอบเอง
67
ดงนนเพอใหเจาหนาไดมระบบโทรศพททางเลอกไวใชในสานกงาน สมควรจดทาระบบโทรศพทผานระบบอนเทอรเนตนารอง โดยเนนการตดตอสอสารระหวางเจาหนาทของกรมสงเสรมการเกษตร เพอลดคาใชจายในการตดตอสอสารของสานกงานและเจาหนาท ซงถาใชงานไดด คอยพจารณาลดหมายเลขโทรศพทพนฐานลง คงเหลอไวเฉพาะหมายเลขทจาเปน 5.3 ปญหาและเสนอขอเสนอแนะ จากการศกษาระบบโทรศพทผานเครอขายไอพของกรมสงเสรมการเกษตรนนปญหา ทพบจะเปนปญหาจากปจจยภายนอกทผทดลองไมสามารถเขาถงหรอจดการเองได เชน การเขาไปจดการไฟลวอล การเขาไปจดการเราเตอร เปนไปไดยากมาก เพอปองกนปญหาไมใหเกดผลกระทบกบระบบอนๆ แตสาหรบระบบโทรศพทผานเครอขายไอพนน เรองไฟลวอลสาคญมาก เพราะทาใหหนวยงานภายนอกไมสามารถลงทะเบยนกบ Asterisk Server ได หรอถาไดทาใหไมไดยนเสยงคสนทนาอกฝ ง ดงนนในการทดลองควรทดลองกบระบบปกตทไมมสวนเกยวของกบระบบอน เพราะจะไดรปญหาและแกไขไดตรงจด
68
ภาคผนวก ก
1. การตดตงระบบปฏบตการ FreeBSD 1.1 เรมดวยการบทเครองเซรฟเวอรจากแผนดวด FreeBSD 7.2 จะพบหนาจอ
Welcome to FreeBSD ซงในขนตอนนไมตองทาอะไรปลอยใหเครองทาการบทไป เรอย ๆ โดยเครองจะทาการบทเขาหวขอท 1. Boot FreeBSD [default]
รปท 1.1 หนายนดตอนรบของระบบปฏบตการ FreeBSD
1.2 จะพบหนาจอใหเลอกประเทศ ใหเลอนลกศรหาประเทศไทยแลวกดปม Enter เพอทางานตอไปดงรป
รปท 1.2 เลอกประเทศ ลาดบท 218 Thailand
69
1.3 เลอกคยบอรดทใชงาน แนะนาใหใช USA ISO แลวกดปม Enter เพอทางานตอไป
รปท 1.3 เลอกคยบอรดแบบ USA ISO
1.4 เรมการตดตงระบบปฏบตการ FreeBSD และกาหนดคาเครองมอ ในทนเลอกการ ตดตงแบบ Standard แลวกดปม Enter
รปท 1.4 เลอกตดตงแบบ Standard
1.5 โปรแกรมตดตงจะแจงใหเราทราบวาจะจดการกบโครงสรางของ Partition บนฮารดดสกของเรา (ถาเปนระบบปฏบตการ DOS กคอโปรแกรม FDISK) จากนน กดปม Enter เรมจดการกบ Partition
รปท 1.5 รายละเอยดเกยวกบการจดการ Partition
70
1.6 จะพบหนาจอแสดงขนาดของฮารดดสกทงหมดทยงไมไดทาการแบง Partition และ เมอตองการเรมสราง Partition ใหกดคยบอรดตว C สราง Partition สาหรบระบบปฎบตการ FreeBSD
รปท 1.6 แสดงขนาดของฮารดดสกทงหมด
1.7 เมอกดคยบอรดปม C เพอสราง Partition ระบบจะแสดงขนาด Block size คอ ขนาดความจของฮารดดสกนนเอง ใหเลอกขนาดฮารดดสกทงหมด เพอใชในการเตรยมโครงสรางใหมใหกบระบบปฏบตการ FreeBSD กดปม Enter เพอดาเนนการตอไป
รปท 1.7 แสดงขนาด Block size เพอสราง Partition
71
1.8 กาหนดประเภทของ Partition ในทนใหกาหนดเปน 165 เปน Native FreeBSD ซงเปนมาตรฐานทใชกบระบบปฏบตการ FreeBSD ถาเปนระบบปฏบตการอนจะมตวเลข Type ทแตกตางกน กดปม Enter เพอดาเนนการตอไป
รปท 1.8 เลอกประเภท Partition Type
1.9 โปรแกรมจะแสดงโครงสรางของฮารดดสก ทไดกาหนด และแบง Partition เสรจแลวใหกดปม Q (Finish) เพอเสรจสนการทางานในสวนน
รปท 1.9 แสดงโครงสรางของ Partition ของ FreeBSD
72
1.10 ในหวขอ Boot Manager เปนการกาหนดใหระบบปฏบตการ FreeBSD ทาการบทตวเองขนมาเมอเปดเครอง Server โดยเลอกขอ Standard แลวกดปม Enter เพอทางานตอไป
รปท 1.10 เลอก Boot Manager
1.11 คาอธบายในการแบง Partition ของระบบปฏบตการ FreeBSD ใหกดปม Enter เพอทางานตอไป
รปท 1.11. แสดงคาแนะนาในการแบง Partition
1.12 จะพบหนาจอทเตรยมพรอมสาหรบการแบง Partition ซงจะมการแบงออกเปน ชนๆ ทเรยกวา Slice จะมทงหมด 5 สวนดวยกน ตามลาดบการแบงตอไปน
รปท 1.12 หนาจอ Partition ของระบบปฏบตการ FreeBSD
73
เพอใหงายตอการเขาใจ ตวอยางเชน ตารางท 1.1 การแบงโครงสราง Partition
ขนาดของ Hard Disk 80 G ประเภทของ Partition
Mount Point
512 M FS (File System) / 2 เทาของหนวยความจาทมอยจรง เชน 512 M
Swap Partition swap
3 G FS (File System) /var 256 M FS (File System) /tmp Block Size ทเหลอทงหมด FS (File System) /usr
ตารางท 1.1 การแบงโครงสราง Partition
หากมเนอทของฮารดดสกมาก ใหแบงเนอทในสวนทเปน /var และ /usr ไวมากๆ เพอจะไดเปนพนทในการใชงานในอนาคต
1.13 เรมการแบง Partition ดวยการกดปม C (Create) เพอสราง Slice Partition ใหมกาหนดขนาดความจไวท 512 M แลวกดปม Enter เพอทางานตอไป
รปท 1.13 กาหนดขนาดความจ 512 M
74
1.14 กาหนดประเภทของฮารดดสก ขนาดของ 512 M ใหเปนแบบ FS หรอ File System โดยสวนมากแลวประเภทของ Slice Partition จะเปนแบบ File System เพอใชเกบไฟลหรอขอมล สวนแบบ Swap จะใชกาหนดใหเปนหนวยความจาเสมอนทเรยกวา Virtual Memory หรอ Swap Partition
รปท 1.14 กาหนดประเภทของ Partition ใหเปนแบบ FS
1.15 ทาการ Mount Point วาฮารดดสกทเราแบงมาน ตองการทจะชไปยงโครงสราง ใดในระบบ ในทนทาการ Mount Point ไปท / ซงเปนโครงสรางบนสดของระบบปฏบตการ FreeBSD แลวกดปม Enter เพอทางานตอไป
รปท 1.15 กาหนด Mount Point ไปทโครงสรางบนสด คอ ( / )
75
1.16 เมอทาการแบงจนครบทกขนตอน แลวจะแสดง Partition ใหเหนดงรป
รปท 1.16 แสดง Partition ทแบงเสรจ
1.17 กาหนดขนาดและสราง Mount Point ทเหลออก 4 Mount Point ใหครบตาม ตารางท 1.1 และตอไปสราง Swap Partition โดยการกดปม C (Create)
รปท 1.17 กาหนดขนาดความจ 512 M สาหรบ Swap partition
76
1.18 กาหนดประเภทของ Partition ใหเปนแบบ Swap Partition แลวกด TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.18 กาหนดเปนแบบ Swap Partition
1.19 ทาการสราง Partition ลาดบท 3 โดยกดปม C (Create) กาหนดขนาดของ Partition เทากบ 3 Gigabytes สาหรบ /var เสรจแลวกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.19 กาหนดขนาดความจ 3 Gigabyte สาหรบ /var
77
1.20 กาหนดประเภทของ Partition ใหเปนแบบ FS (File system) เสรจแลวกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.20 กาหนดประเภทของ Partition ใหเปนแบบ FS
1.21 ทาการ Mount Point วาฮารดดสกทเราแบงมาน ตองการจะชไปยงโครงสรางใด ในระบบ ทาการ Mount Point ไปท /var เพอใชเกบขอมลแลวกดปม Enter เพอทางานตอไป
รปท 1.21 กาหนด Mount Point ไปท /var
78
1.22 สราง Partition ลาดบท 4 โดยกดปม C (Create) กาหนดขนาดของ Partition เทากบ 256 M แลวกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.22 กาหนดขนาดความจ 256 M สาหรบ /tmp
1.23 กาหนดประเภทของ Partition ใหเปนแบบ FS (File system) กดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.23 กาหนดประเภทของ Partition ใหเปนแบบ FS
79
1.24 ทาการ Mount Point ฮารดดสกทแบงมาน ไปท /tmp แลวกดปม Enter เพอทางานตอไป
รปท 1.24 กาหนด Mount Point ไปท /tmp
1.25 สราง Partition ลาดบท 5 โดยทาการกดปม C (Create) กาหนดขนาดของ Partition ทเหลอทงหมด แลวกดปม TAB ไปท OK กดปม Enter เพอทางานตอไป
รปท 1.25 กาหนดขนาดความจทเหลอทงหมดใหกบ /usr
80
1.26 กาหนดประเภทของ Partition ใหเปนแบบ FS (File system) กดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.26 กาหนดประเภทของ Partition เปนแบบ FS สาหรบ /usr
1.27 ทาการ Mount Point ฮารดดสกทแบงมาน ทาการ Mount Point ไปท /usr แลวกดปม Enter เพอทางานตอไป
รปท 1.27 กาหนด Mount Point ไปท /usr
81
1.28 แสดงรายละเอยดทงหมดของ Mount Point ทงหมด ใหตรวจสอบวาครบ หรอไม ถาครบเรยบรอยใหกด Q (Finish) เพอทางานในขนตอนอนตอไป
รปท 1.28 แสดงรายละเอยดทงหมดของ Mount Point
1.29 เลอกตดตงโปรแกรมหรอ Packages ตางๆ ทมใหเลอกมากกวา 13,300 โปรแกรม แตในทนใหเลอก Distributions ทจาเปนเทานน คอเลอกหวขอท 4, 6, 8, และ Custom
รปท 1.29 Distributions ทเลอกคอ ขอท 4, 6, 8 และ Custom
82
1.30 เมอเลอก Distributions แตละตวจะแสดงคาแนะนาเกยวกบ Package ใหกด ปม Enter เพอเลอก Distributions ใหมตอไป โดยเลอกใหครบทกขอคอ ขอท 4, 6, 8
รปท 1.30 รายละเอยดคาแนะนาเกยวกบ Package
1.31 เมอเราเลอก B Custom จะปรากฏหนาจอใหเราเลอกยอยเขาไปอก
รปท 1.31 เลอก Distributions แบบ B Custom
1.32 ในหนาเมนยอยใหเลอกท [X] Src (Sources for everything) โดยกดทแปน Space Bar เพอเลอก เสรจแลวใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.32 เลอก Src ทอยใน B Custom
83
1.33 แลวทาการเลอก [X] sys โดยกดปม Space Bar ตวนเปน FreeBSD Kernel ซงอาจตองใช FreeBSD Kernel ปรบแตงระบบใหมความสามารถตามความตองการ
รปท 1.33 เลอก sys ทอยใน B Custom
1.34 กดปม TAB มาท OK แลวกดปม Enter เพอยอนกลบไปเมนกอนหนาน
รปท 1.34 ยอนกลบไปหนาเดมกอนหนาน
84
1.35 กดปม TAB มาท OK แลวกดปม Enter เพอยอนกลบไปเมนกอนหนาน ท B Custom ดงรป
รปท 1.35 กดปม TAB มาท OK เพอยอนกลบไปท B Custom
1.36 หนาจอถดมาโปรแกรมตดตงจะใหเราเลอกวาตองการตดตงระบบปฏบตการ FreeBSD จากสอประเภทใด ในทนเลอกเปน 1 คอ CD/DVD แลวกดปม Enter เพอทาการตดตงตอไป
รปท 1.36 เลอกสอทใชตดตง FreeBSD
1.37 ระบบแจงเตอนใหทราบวาเปนโอกาสสดทายทสามารถเปลยนหรอยกเลกการ ตงคาได ถาไมมอะไรเปลยนให กดปม TAB มาท YES แลวกดปม Enter เพอทาการ Format เครองพรอมทง Copy ไฟลโปรแกรมตาง ๆ ไปยงโครงสราง Partition ทไดสรางไว
รปท 1.37 แจงเตอนใหยนยนกอนตดตงโปรแกรม
85
1.38 หลงจากยนยนการตดตงระบบปฏบตการ FreeBSD โปรแกรมจะทาการ Format เครอง พรอมกบตดตงโปรแกรมตาง ๆ ตามทกาหนด
รปท 1.38 เรม Format และตดตง FreeBSD
1.39 เมอโปรแกรมทาการตดตงเสรจเรยบรอยแลวจะแสดงหนาจอแสดงความยนด ใหกดปม Enter เพอทาขนตอนตอไป
รปท 1.39 ตดตงระบบปฏบตการเสรจเรยบรอยแลว
1.40 จะพบหนาจอใหเรากาหนดคาของเครอขายหรอทเราเรยกวา Network Device ใหเลอกท YES แลวกดปม Enter เพอทางานตอไป
รปท 1.40 เลอกกาหนดคา Network Device
86
1.41 ทาการเลอกอปกรณเครอขาย Network Device ในทนเลอก em0 เปนการดแลน ทมากบเครองใหกดปม TAB มาท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.41 เลอกอปกรณ Network Device
1.42 ระบบจะสอบถามวาตองการใชงาน IPV6 หรอไม ในทนตอบ No เพราะไมไดใช ใหกดปม TAB ไปท No แลวกดปม Enter เพอทางานตอไป
รปท 1.42 ไมไดใชงาน IPV6 เลอก No
87
1.43 ระบบจะสอบถามวาตองการปรบแตงคา DHCP หรอไม ในทนตอบ No เพราะ ทาการเซตแบบฟกหมายเลขไอพ ใหกดปม TAB ไปท No แลวกดปม Enter เพอทางานตอไป
รปท 1.43 ไมปรบแตงคา DHCP
1.44 กาหนดคาใหกบอปกรณเครอขายของเราทใชงานอยจรง
รปท 1.44 กาหนดคาอปกรณเครอขาย Network Device
1.45 ระบบจะถามวาตองการใหอปกรณ Network Device (em0) ทางานขณะนหรอไม ใหตอบ YES แลวกดปม Enter เพอทางานตอไป
รปท 1.45 กาหนดใหอปกรณเครอขาย Network Device ทางาน
88
1.46 ระบบจะถามวาตองการใหเครองนเปน Gateway ของเครอขายนหรอไม ใหตอบ No เพราะไมตองการใหเครองนเปน Gateway แลวกดปม Enter เพอทางานตอไป
รปท 1.46 กาหนดใหเครองเปน Network Gateway
1.47 ระบบจะถามวาตองการแกไขและปรบแตงคา inetd และ Network services ขณะนหรอไม ใหตอบ No เพราะสามารถกาหนดภายหลงได
รปท 1.47 ไมปรบแตคา inetd และ Network services
1.48 ระบบจะถามวาตองการเปดใชบรการ SSH login หรอไม ในทนใหตอบ Yes เพราะระบบของเราตองมการรโมทเขามาเปลยนแปลงคาตางๆ จากเครองอนได
รปท 1.48 เลอก YES เพอเปด Service SSH login
1.49 ระบบจะถามวาตองการเปดบรการ anonymous FTP หรอไม ในทนตอบ No เพราะระบบของเราไมไดเปดใหบรการ anonymous FTP
รปท 1.49 ไมเปดบรการ anonymous FTP
89
1.50 ระบบจะถามวาตองการเปดบรการ NFS server หรอไม ตอบ No เพราะระบบ ของเราไมไดเปดใหบรการ NFS server
รปท 1.50 ไมเปดใหบรการ NFS server
1.51 ระบบจะถามวาตองการเปดบรการ NFS client หรอไม ตอบ No เพราะระบบ ของเราไมไดเปดใหบรการ NFS client
รปท 1.51 ไมเปดใหบรการ NFS client
1.52 ระบบจะถามวาตองการปรบแตงคาของ Console Setting หรอไม เชน คาของ Keyboard , Mouse และ VGA ใหตอบ No เพราะไมไดใชงาน X-Windows
รปท 1.52 ไมปรบแตงคา Console Setting
1.53 ระบบจะถามวาตองการปรบคา Time zone หรอไม ใหตอบ YES เพอทาการ ปรบแตงคา โดยกดปม Enter เพอทางานตอไป
รปท 1.53 ปรบแตคา Time zone
90
1.54 ระบบจะใหปรบเวลาของเครองเซรฟเวอรทตดตงใหตรงกบเวลามาตรฐานสากล ในทนใหตอบ No (เพราะไมทราบรายละเอยด) เพอจะมตวชวยใหเราเลอกงายขน
รปท 1.54 กาหนดการปรบเวลาของเครองเซรฟเวอร
1.55 ปรบเวลามาตรฐาน UTC ตามพนท ในทนใหเลอก ลาดบท 5 Asia แลวกดปม Enter เพอกาหนดคาตอไป
รปท 1.55 กาหนด Time zone เปน Asia
1.56 หลงจากกด Ok จะใหเราเลอกประเทศของเรา ในทนเลอกลาดบท 44 Thailand แลวกดปม TAB มาทปม Ok แลวกดปม Enter เพอทางานตอไป
รปท 1.56 เลอกประเทศลาดบท 44 Thailand
91
1.57 ระบบจะแจงใหปรบคาการตงเวลาทเหมาะสม ในทนใหตอบ YES แลวกดปม Enter ผานไป
รปท 1.57 การยอมรบการตงเวลาตามความเหมาะสม
1.58 ระบบจะสอบถามวาอนญาตใหโปรแกรมของ Linux สามารถใชงานกบ ระบบปฏบตการ FreeBSD ไดหรอไม ใหตอบ YES เพออนญาต แลวกดปม Enter ผานไป
รปท 1.58 อนญาตใหโปรแกรม Linux ทางานบน FreeBSD
1.59 ระบบถามวาในระบบของเราม Mouse แบบ PS/2, serial, bus mouse หรอไม ใหตอบ No เนองจากการใชงานเซรฟเวอรนไมไดใชเมาส กดปม Enter เพอทางานตอไป
รปท 1.59 ไมเปดการใชเมาสในระบบ
92
1.60 ระบบจะถามวาตองการตดตงโปรแกรมอนๆ ในแผนอนๆ หรอไม ใหตอบ YES เพอตดตงโปรแกรมอนๆ เพมตม แลวกดปม Enter เพอทางานตอไป
รปท 1.60 ตดตงโปรแกรมอนๆ
1.61 เลอกตดตงโปรแกรม editors เพอเอาไวแกไขคาคอนฟก
รปท 1.61 เลอกตดตงโปรแกรม editors
1.62 ในหวขอยอย editors ใหเลอกใชหลายตว ในทนจะทาการตดตงโปรแกรม อดเตอร Pico ซงใชงานงายและเปนทนยมใชงานกน
รปท 1.62 เลอกตดตงโปรแกรมอดเตอร Pico
93
1.63 หลงจากกด OK ระบบจะแจงเตอนใหเรายนยนการตดตงโปรแกรม ใหกดปม TAB ไปท [ OK ] แลวกดปม Enter เพอทาการตดตงโปรแกรม
รปท 1.63 ยนยนการตดตงโปรแกรม pico
1.64 ระบบจะใหเราจดการเรอง User Name และ Group รวมถงการจดการกบ Root account ใหตอบ YES แลวกดปม Enter ดาเนนการตอไป
รปท 1.64 กาหนด User Name และ Group
1.65 จะพบหนาตางใหจดการ User และ Group ใหเลอก User เพอเพมเขาไป ในระบบเพอสามารถ Remote จากขางนอกได ใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.65 เพม User เขาไปในระบบปฏบตการ FreeBSD
94
1.66 กรอกรายละเอยดทงหมดเกยวกบ User ใหหมด แลวกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.66 รายละเอยดขอมลของ User
1.67 เมอเพม User เสรจกจะกลบมาหนานอก ใหทาการเลอก X Exit เพอออกจาก การสราง User และ Group ใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 1.67 ออกจากการสราง User และ Group
1.68 ระบบจะแจงใหเรากาหนดรหสผานใหกบผดแลระบบทเปน Root ใหตอบ OK แลวกดปม Enter เพอทางานตอไป
รปท 1.68 คาแนะนาเพอตงรหสผานของ root
95
1.69 ใหตงรหสของ Root โดยใหพมพรหสผานใหเหมอนกนทง 2 ครง
รปท 1.69 ตงรหสผานสาหรบ Root
1.70 ระบบจะสอบถามวาตองการกลบไปปรบเปลยนคาตาง ๆ ของการกาหนดคา กอนหนานไหม ใหตอบ NO เพราะไมมการปรบเปลยนแลว กดปม Enter ผานไป
รปท 1.70 ไมปรบแตงคาตางๆ ของระบบ
1.71 จากนนระบบโปรแกรมตดตงจะกลบมาทหนาแรกของการตดตงระบบปฏบตการ ใหเราเลอกไปท Exit install แลวกดปม Enter เพอออกจากการตดตง
รปท 1.71 ออกจากโปรแกรมตดตง
1.72 ระบบใหยนยนการออกจากการตดตงพรอมกบแนะนาใหเอาแผน Floppy Disk, CD, DVD ออกจาก Drive กอนใหตอบ Yes แลวกดปม Enter เพอทาการ Reboot
รปท 1.72 ยนยนการออกจากระบบและนาเอาแผนซดออก
96
1.73 เมอระบบทาการ Reboot เสรจแลวจะเขามาหนา Loging ใหทาการใส User และ Password ของ root ทไดกาหนดมากอนเพอเขาไปใชงานระบบปฏบตการ FreeBSD
รปท 1.73 Login เขาใชงานระบบปฏบตการ FreeBSD
2. การตดตง Asterisk Server / Configuration การตดตงโปรแกรมลงบนระบบปฏบตการ FreeBSD นนจะใชวธคอมไพลแพกเกตเอง
หรอจะตดตงผาน Port Tree กได การตดตงจาก Port Tree [1] เปนวธการตดตงโปรแกรมลกษณะหนงบนระบบปฏบตการ FreeBSD ซงเครองเซรฟเวอรจะมการตรวจสอบวาใน ไดเรกทรอร /usr/ports/distfiles มไฟลโปรแกรมทตองการตดตงอยหรอไม หากมกจะสามารถตดตงได โดยการเขาไปยงโครงสรางไดเรกทรอร ในทนระบบปฏบตการ FreeBSD เรยกวา Port Tree (ซงจะเปน ซบไดเรกทรอรภายใต /usr/ports) แลวใชคาสง make install เพอตดตงไดทนท ถาไมมโปรแกรมทตองการตดตง ระบบจะทาการเชอมตออนเทอรเนตแลวไปดาวนโหลดโปรแกรมนนๆ จากแหลงขอมลทมใหดาวนโหลดกอน แลวจงเรมตดตงโปรแกรม หรอถาเครองเซรฟเวอรไมสามารถเชอมตออนเทอรเนตไดใหทาการดาวนโหลดไฟลโปรแกรม แลวทาการอบโหลดไฟลโปรแกรมไปไวทไดเรกทรอร /usr/ports/distfiles แลวทาการตดโปรแกรม เรมการตดตงโปรแกรม Asterisk ผาน Ports Tree
2.1 เขาไปทไดเรกทรอร /usr/ports/net/asterisk แลว ตรวจสอบดวามไฟลอะไรบาง ดวยคาสง
Asterisk# cd /usr/ports/net/asterisk ; เขาไปในหองทเกบไฟลนนกอน Asterisk# ls -l ; ตรวจสอบวามไฟลอะไรบาง
รปท 2.1 แสดงไฟลอยในไดเรคทรอร /usr/ports/net/asterisk
97
2.2 ทาการกาหนดคาโปรแกรม Asterisk กอนตดตงดวยคาสง make config
รปท 2.2 การตดตง Asterisk
2.3 เลอกโปรแกรมทตองการตดตง อยาลมคลกเลอก ZAPTEL เพอใหโปรแกรมรองรบ ไดรเวอร Zaptel เพราะการด X100 ใชไดรเวอร Zaptel เสรจแลวใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 2.3 เลอก zaptel
2.4 โปรแกรมทาการตดตงโปรแกรม Asterisk ดวยคาสง make install clean
รปท 2.4 ตดตงโปรแกรม Asterisk
98
2.5 โปรแกรมใหเราลง Options เพม ใชคา default ทเลอกอยแลว ใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 2.5 เลอก Option เพมเตม
2.6 ปลอยใหเครองทาการตดตงโปรแกรมไปเรอยๆ ซงใชเวลานานเหมอนกน ถาอนเทอรเนตชาแนะนาใหทาการดาวนโหลดไฟลทจาเปนตอการตดตงมาไวท /usr/ports/distfiles
รปท 2.6 ดาเนนการตดตงโปรแกรม Asterisk
99
2.7 โปรแกรมใหเราลง Options เพม ใชคา default ทเลอกอยแลว ใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 2.7 แสดงใหเลอกตดตง Option เพม
2.8 โปรแกรมใหเราลง Options เพม ใชคา default ทเลอกอยแลว ใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 2.8 แสดงใหเลอกตดตง Option เพม
100
2.9 โปรแกรมใหเราลง Options เพม ใชคา default ทเลอกอยแลว ใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป
รปท 2.9 แสดงใหเลอกตดตง Option เพม
2.10 โปรแกรมใหเราลง Options เพม ใชคา default ทเลอกอยแลว ใหกดปม TAB ไปท OK แลวกดปม Enter เพอทางานตอไป รอจนโปรแกรมตดตงสาเรจ
รปท 2.10 แสดงใหเลอกตดตง Option เพม
101
2.11 ทดสอบการตดตงโปรแกรม Asterisk วาสามารถใชงานไดหรอไม กอนทาการ เซตคาอนๆ หรอตดตงโปรแกรมอนเพม ดวยคาสง
Asterisk# asterisk -r
รปท 2.11 ทดสอบการทางานโปรแกรม Asterisk
จะแสดงการทางานของโปรแกรม Asterisk ถาตดตงอยางสมบรณตองไมม Error ถาตองการออกจากการรนโปรแกรม Asterisk ใหพมพคาสง Exit แลวกดปม Enter
Asterisk*CLI> exit
2.12 เมอโปรแกรม Asterisk ใชงานไดตามปกต ใหเขาไปแกไขไฟล rc.conf เพอให โปรแกรม Asterisk ทางานทกครงเมอเปดเครอง ดวยคาสงดงน
Asterisk# pico /etc/rc.conf เปดไฟลเพอแกไขดวยโปรแกรม pico และใหเพมคาสง asterisk_enable=”YES” เขาไป แลวทาการบนทก โดยกด Ctrl + X แลว กด Y เพอบนทกการแกไขขอมล
รปท 2.12 สงให Asterisk ทางานทกครงเมอเปดเครอง
102
2.13 การสราง SIP Account ไวบน Asterisk Server โดยใหเขาไปแกไขไฟล sip.conf และสราง SIP Account ดงตอไปน Asterisk# pico /usr/local/etc/asterisk/sip.conf เพอสราง SIP Account ซงไดสรางหมายเลข 1000
รปท 2.13 สราง SIP Account
2.14 การเขยน Dial Plan คอการเขยนแผนการโทรศพท เพอกาหนดวาเมอมสาย เขามาท IP-PBX (Asterisk) แลวนนจะทาอะไรบาง เชน หมนโทรศพทไปยงปลายทางหมายเลขใด หรอจะทาการบนทกเสยง หรอฟงสญญาณรอสาย ทงหมดนจะถกกาหนดโดยการเขยน Dial Plan ถาไมมการเขยน Dial Plan ในระบบโทรศพท Asterisk เพอกาหนดการทางาน ระบบโทรศพทนนกไมสามารถทางานได การเขาไปเขยน Dial Plan เพอกาหนดการทางานของระบบโทรศพท Asterisk ทาไดโดยใชคาสงดงน
Asterisk# pico /usr/local/etc/asterisk/extensions.conf เขาไปเพมคาสงเขาไปในไฟล extensions.conf แลวทาการบนทก
exten=> 1000,1,Dial(SIP/1000) exten=> 1001,1,Dial(SIP/1001) exten=> 1002,1,Dial(SIP/1001)
รปท 2.14 การเขยน Dial Plan ของระบบ Asterisk
103
2.15 เมอสราง SIP Account และกาหนด Dial Plan เรยบรอยแลว ใหทาการรน คาสงของระบบโทรศพท Asterisk ดวยคาสงดงน
Asterisk# asterisk -rx “restart now” สงใหระบบโทรศพท Asterisk รสตารทตวเอง โดยไมตองรสตารทเครอง
Asterisk# asterisk -rx “sip reload” สงใหระบบโทรศพท Asterisk ทาการรโหลดคาตางๆ ของโปรโตคอล SIP
Asterisk# asterisk -rx “dialplan reload” สงใหระบบโทรศพท Asterisk ทาการรโหลดคาตางๆ ของ Dial Plan ใน Extension
รปท 2.15 รสตารท Service โปรแกรม Asterisk
2.16 ทาการตรวจสอบวาหมายเลขโทรศพททเราเขยนในไฟล sip.conf นนวามในระบบ แลวหรอยง โดยใหรนโปรแกรม Asterisk ดวยคาสง Asterisk# asterisk -r แลวพมพคาสง
Asterisk*CLI> sip show peers เพอใหแสดงหมายเลขโทรศพท
รปท 2.16 ตรวจสอบหมายเลขโทรศพท
104
3. การตดตงโปรแกรม Soft phone ในการทดสอบนใช Soft phone ทชอ X-Lite Version 3.0 build 53621 เปนโปรแกรม
ฟรสามารถดาวนโหลดไดทเวบไซต http://www.counterpath.com แลวทาการตดตงโปรแกรม 3.1 ดบเบลคลกทไอคอนโปรแกรม X-Lite เพอเรมการตดตง
รปท 3.1 โปรแกรม X-Lite Version 3.0
3.2 หลงจากดบเบลคลกแลวในบางเครองจะแจงเตอนใหผตดตงทราบวาตองการตดตงไฟลนหรอไม ถาตองการใหกดปม Run ตอไป
รปท 3.2 การแจงเตอนความปลอดภยกอนตดตงโปรแกรม
3.3 ปรากฎหนาจอในการเรมตดตงโปรแกรม X-Lite พรอมคาแนะนาใหกดปม Next เพอทางานตอไป
รปท 3.3 แสดงหนาตอนรบสการตดตงโปรแกรม X-Lite
105
3.4 เงอนไขขอตกลงเกยวกบโปรแกรม X-Lite กอนตดตง ใหเลอกขอแรก “I accept the agreement” คอยอมรบเงอนไข แลวกดปม Next เพอทางานตอไป
รปท 3.4 เงอนไขขอตกลงของโปรแกรม X-Lite
3.5 โปรแกรมตดตงจะใหเราเลอกวาตองการลงโปรแกรม X-Lite ไวทไดเรกทรอรไหน ในทนไมตองเปลยน ใหเลอกตามทโปรแกรมกาหนดมา แลวกดปม Next ตอไป
รปท 3.5 กาหนดไดเรกทรอรเกบไฟลตดตงโปรแกรม X-Lite
106
3.6 ในหนานเปนการกาหนดเกยวกบการสรางไอคอนและการเปดโปรแกรม X-Lite สามารถเลอกไดตามความตองการ เพอความสะดวกในการเขาใชงานโปรแกรม
รปท 3.6 เลอกสรางชองทางการใชงานโปรแกรม X-Lite
3.7 กาลงตดตงโปรแกรม X-Lite ลงไปในเครอง รอจนกวาโปรแกรมทาการตดตงเสรจ
รปท 3.7 กาลงตดตงโปรแกรม X-Lite
107
3.8 เมอตดตงโปรแกรมเสรจจะแสดงขอความวาตดตงโปรแกรมสาเรจแลว และใหเรา เลอกวาจะทาการเปดโปรแกรม X-Lite หรอไม แลวกดปม Finish เพอทางานตอไป
รปท 3.8 ทาการตดตงโปรแกรม X-Lite เสรจเรยบรอยแลว
3.9 จะพบแจงเตอนใหเรากาหนดรายละเอยดตางๆ ของบญช (Account) ทตองการ ตดตอกบ Asterisk Server เชน User Account และ Password เราสามารถกาหนดภายหลงได ในทนกดปม No เพอทางานตอไป
รปท 3.9 แจงใหกาหนด SIP Account ใหกบโปรแกรม X-Lite
108
3.10 หนาตาโปรแกรม X-Lite ทยงไมไดกาหนดคา SIP Account จะแสดงขอความ “ No SIP accounts are enabled “ ในหนาจอโปรแกรม แสดงวาโปรแกรมยงไมสามารถใชงานรวมกบ Asterisk Server ได
รปท 3.10 โปรแกรม X-Lite ทยงไมไดกาหนด SIP Account 4. การใชงานโปรแกรม X-Lite และการกาหนดคา หลงจากทาการตดตงโปรแกรมเรยบรอยแลว กอนจะใชงานไดตองมการเขาไปกาหนด SIP Account ใหกบตวโปรแกรมกอนเพอใหตวโปรแกรม X-Lite ตดตอกบ Asterisk Server ไดมวธการดงตอไปน
4.1 ดบเบลคลกทไอคอน X-Lite ทอยบนหนาเดสทอป
รปท 4.1 รปไอคอนโปรแกรม X-Lite
109
4.2 คลกทรปสามเหลยม แลวคลกท SIP Account Settings เพอเขาไปกาหนดคา หมายเลข SIP Account ใหกบตวโปรแกรม X-Lite ซงหมายเลขทกาหนดตองไดถกประกาศไวในเครอง Asterisk Server เรยบรอยแลวถงจะใชงานได
รปท 4.2 เมนเขาไปกาหนดหมายเลข SIP Account ใหกบโปรแกรม X-Lite
4.3 คลกปม Add เพมคาหมายเลข SIP ID ใหกบโปรแกรม X-Lite
รปท 4.3 เพมหมายเลข SIP ID ลงในโปรแกรม X-Lite
110
4.4 กาหนดคาตางๆ เพอใหโปรแกรม X-Lite สามารถตดตอกบ Asterisk Server ได ซง SIP Account ตองถกประกาศไวบน Asterisk Server แลวกดปม OK
รปท 4.4 กาหนดคา SIP Account ตามทประกาศไวท Asterisk Server
รายละเอยดทตองกาหนดมดงตอไปน Display Name : เปนชอทเราตงขนมาเปนอะไรกได สวนมากจะตงเปนชอหนวยงาน
หรอตงเปนชอของเราเอง ถาใช Soft Phone เหมอนกนเมอเรยกออกไป เครองปลายทางกจะแสดงชอทเรากาหนดใน Display Name เพองายตอการจดจา
User Name : เปนการกาหนด User Name ทเราไดสราง SIP Accounts ไวใน Asterisk Server ทไฟล sip.conf เชน 1000, 1001, 1002
Password : ใส Password ตามทไดสรางไวใน Asterisk Server ทไฟล sip.conf ซงตองระวงคอ หามใสผด ถาใสผด SIP Account นนจะใชงานไมได และการตง Password ควรตงใหมความปลอดภยถามการคาดเดาหมายเลข User Name และ Password ได จะทาใหผทเขาไปรองขอสดทาย เปนผไดสทธในการใช SIP Account นน
Authorization Username : ใหกาหนดเหมอนกบ User Name เพอเอาไวเปนขอมลใน การตรวจสอบสทธของผใช
Domain : ถาหนวยงานไดมการสราง Domain ทรองรบ Asterisk Server ใหใส ชอ Domain ไดเลย หรอใหกาหนดเปนหมายเลข IP ของเครอง Asterisk Server ในการทดลองนไดกาหนดเปนหมายเลข Public IP ของเครอง Asterisk Server
111
4.5 หลงกาหนดคาตางๆ เสรจแลว เมอเชอมตออนเทอรเนต โปรแกรม X-Lite ทาการรองขอตรวจสอบหมายเลขกบเครอง Server Asterisk วาหมายเลขทกาหนดน ไดมการสรางไว หรอไม ถามจะขนขอความ
Ready Your username is : 1001 ซงพรอมสาหรบใชงานโทรศพทผาน Soft Phone
รปท 4.5 โปรแกรม X-Lite พรอมใชงาน 5. SIP Response Message
เพอใหสามารถทราบถงรายละเอยดตางๆ ของ SIP Response Message จงขอนาเสนอความหมายของการเกดเหตการณตอบรบดงน
1XX เปนขอความตอบรบจาก SIP Server เพอเปนการบอกให SIP Client ทราบวากาลงทางานอะไรอย
รหส รายละเอยด ความหมาย 100 Trying บอกใหทราบวากาลงพยายามตดตอ
SIP Client ปลายทางอย 180 Ringing บอกใหทราบวากาลงรอการตดตอ
จาก SIP Client ปลายทาง 182 Queued บอกใหทราบวาไดทาการกาหนดควแลว 183 Session Progress ความกาวหนาของ Session
112
2XX เปนขอความตอบรบจาก SIP Server เมอมการตดตอไดสาเรจ รหส รายละเอยด ความหมาย 200 OK ตดตอไดสาเรจ 202 Accept ยอมรบ
3XX เปนขอความเกยวกบการสงตอ (Forwarding) รหส รายละเอยด ความหมาย 300 Multiple Choice หลายตวเลอก 301 Moved Permanently ยายเปนการถาวร 302 Moved Temporarily ยายเปนการชวคราว 305 Use Proxy ใช Proxy 380 Alternative Service บรการอนๆ
4XX เปนขอความทเกดจากความผดพลาดของลกขาย (Client) รหส รายละเอยด ความหมาย 400 Bad Request ความตองการผดพลาด 401 Unauthorized การไมไดรบสทธในการลงทะเบยน 402 Payment Required ตองการการชาระเงน(สงวนไวเพออนาคต) 403 Forbidden ไมอนญาต 404 Not Found ไมพบ (ผใชงาน) 405 Method Not Allowed ขนตอนไมไดรบการอนญาต 406 Not Acceptable ไมสามารถยอมรบได 407 Proxy Authentication
Required ตองการตรวจสอบสทธของ Proxy
408 Request Timeout หมดเวลาในการสงการขอรอง 410 Gone ไมสามารถตดตอผใชงานได ณ เวลาน 413 Request Entity Too Large สงทรองขอมามขนาดใหญมาก 414 Request –URI Too Long รปแบบของ URI นนมความยากมาก 415 Unsupported Media Type ไมสนบสนนประเภทของสอ 416 Unsupported URI Scheme ไมสนบสนนโครงรางของ URI 420 Bad Extension ไมพบหมายเลขโทรศพท (Extension)
ทตองการ 421 Extension Required ตองการหมายเลขโทรศพท (Extensions) 423 Interval Too Brief ชวงเวลาสนมากๆ 479 Regretfully ไมสามารถใชงาน URI ทกาหนดมาได
113
480 Temporarily Unavailable ไมมการจดเตรยมไวใหเปนการชวคราว 481 Call/Transaction does not
exist ไมสามารถตดตอได
482 Loop Detected ตรวจสอบพบการวนรอบ 483 Too Many Hops จานวนของจดเชอมตอมากเกนไป 484 Address Incomplete ทอยไมถกตอง 485 Address Ambiguous ทอยคลมเครอ 486 Busy Here ขณะนไมวาง 487 Request Terminated การรองขอไดถกยต 488 Not Acceptable Here ไมสามารถยอมรบได 489 Bad Event เหตการณผดพลาด 491 Request Pending อยในระหวางการรองขอ 493 Undecipherable ไมควรมการถอดรหสสวนใดสวนหนงของ
S/MIME 494 Security Agreement
Required ตองการขอตกลงเรองความปลอดภย
5XX เปนขอความผดพลาดทเกดจากการทางานของเซรฟเวอร รหส รายละเอยด ความหมาย 500 Server Internal Error เกดความผดพลาดภายในเซรฟเวอร 501 Not Implemented ไมสามารถทางานได ณ ขณะน 502 Bad Gateway Gateway ผดพลาด 503 Service Unavailable ไมมการเปดใหบรการ 504 Service Time-out หมดเวลาของเซรฟเวอร 505 Version Not Supported เซรฟเวอรไมรองรบเวอรชนทใชงาน 513 Message Too Large ขอความมขนาดใหญเกนไป
6XX เปนขอความทเกดความผดพลาดโดยรวม รหส รายละเอยด ความหมาย 600 Busy Everywhere ไมวาง 603 Decline ถกปฏเสธ 604 Does Not Exist Anywhere ไมมอยทกๆ ท 606 Not Acceptable ไมสามารถยอมรบได
114
6. การตดตงโปรแกรม Asterisk-addon เปนโปรแกรมเสรมของ Asterisk เพอใหเราสามารถเกบขอมลการโทรศพททเกดขนในระบบลงบนฐานขอมลได
6.1 ใหทาการตดตงผาน Port Tree ของ FreeBSD โดยเครองเซรฟเวอรตองสามารถออกอนเทอรเนตไดโดยใหเขาไปท
Asterisk # cd /usr/port/net/asterisk-addon แลวพมพคาสง Asterisk # make config เพอกาหนดคาตางๆ
รปท 6.1 เลอกใหตดตงตวอยางการกาหนดคา
6.2 เรมทาการตดตงโปรแกรม Asterisk-addons โดยใชคาสง Asterisk # make install clean แลวกด Enter
รปท 6.2 เรมการตดตงโปรแกรม Asterisk-addons
115
6.3 รอจนตดตงโปรแกรม Asterisk-addons ใหเสรจ
รปท 6.3 ตดตงโปรแกรม Asterisk-addons สาเรจ
7. การตดตงโปรแกรม FAMP บน FreeBSD เพอเตรยมโปรแกรมสาหรบการเขยนโปรแกรมบรหารจดการหมายเลขโทรศพท และ
การกาหนดคาตางๆ ของระบบโทรศพท ผานเวบไซต (Web management) ซงจาเปนตองตดตงโปรแกรมเพมเตม ไดแก เวบเซรฟเวอร ภาษาทใชพฒนาโปรแกรม โปรแกรมฐานขอมล และโปรแกรมจดการฐานขอมล โดยทาการตดตงโปรแกรมทงหมดผาน Port Tree
7.1 การตดตงโปรแกรมเวบเซรฟเวอร (Apache22) โดยใหดาเนนการดงน 7.1.1 ใหเขาไปท Asterisk# cd /usr/ports/www/apache22 แลวทาการเขาไป
ตงคาตาง ๆ ของโปรแกรมกอนทาการตดตงโดยใชคาสง Asterisk # make config ใหเลอกฐานขอมลทเราจะใชดวย เชน ตวอยางตองการใชฐานขอมล MYSQL แลว TAB ไปทปม OK กด Enter เพอเรมการตดตง
รปท 7.1 เลอก Option ฐานขอมล MYSQL เพม
7.1.2 ทาการตดตงโปรแกรมเวบเซรฟเวอร โดยอยทหอง Asterisk#cd /usr/ports/www/apache22 แลวพมพ Asterisk # make install clean
116
รปท 7.2 เรมตดตงโปรแกรม Apache22
7.1.3 เลอก Options เพมเตม ในทนสามารถใชคา Default ไดเลย โดยไมตอง เลอก Options อะไร เสรจแลวกด OK ทาการตดตงโปรแกรมตอไป
รปท 7.3 กาหนดคา Options เพม
7.1.4 เลอก Options เพมเตม ในทนสามารถใชคา Default ไดเลย โดยไมตอง เลอก Options อะไร เสรจแลวกด OK ทาการตดตงโปรแกรมตอไป
รปท 7.4 กาหนดคา Options เพม
117
7.1.5 เลอก Options เพมเตม ในทนสามารถใชคา Default ไดเลย โดยไมตอง เลอก Options อะไร เสรจแลวกด OK ทาการตดตงโปรแกรมตอไป
รปท 7.5 กาหนดคา Options เพม
7.1.6 รอจนกวาจะตดตงโปรแกรมเวบเซรฟเวอร apache22 เสรจ
รปท 7.6 ตดตงโปรแกรม Apache22 สาเรจ
118
7.1.7 เมอตดตงเสรจทาการ Start service เวบเซรฟเวอรเพอใหใชงานได โดยใชคาสง Asterisk# /usr/local/etc/rc.d/apache22 start เมอตองการให Start ทกครงทเปดเครองเซรฟเวอรใหไปเพมขอความ apache22_enable=”YES” ทไฟล rc.conf โดยใชคาสงAsterisk# pico /etc/rc.conf เสรจแลวใหพมพคาสง Asterisk# rehash เพอใหโปรแกรม apache22 ทางานไดตามปกต การทดสอบเวบเซรฟเวอรวาสามารถใชงานไดหรอไม โดยใหพมพ http:// หมายเลขไอพ เครองเวบเซรฟเวอร ทเวบบราวนเซอร ถาขน It works! แสดงวา เวบเซรฟเวอรสามารถใชงานได
รปท 7.7 ทดสอบการทางานเวบเซรฟเวอร 7.2 ตดตง PHP5 เพอใชในการพฒนาเวบไซตดวยภาษา PHP ดาเนนการดงน
7.2.1 ใหเขาไปท Asterisk# cd /usr/ports/lang/php5 ทาการตงคาตางๆ ของโปรแกรมกอนทาการตดตงโดยใชคาสง Asterisk # make config ใหเลอกทชอง APACHE ดวยเพราะสาคญมากถาไมเลอกเวบเซรฟเวอรจะไมสามารถรน PHP ได
รปท 7.8 เลอก Options ของ APACHE เพม
119
7.2.2 เรมตดตงโปรแกรมเวบเซรฟเวอร โดยใชคาสง Asterisk # make install clean
รปท 7.9 เรมตดตงโปรแกรม PHP
7.2.3 รอจนกวาจะตดตงโปรแกรม PHP5 เสรจ
รปท 7.10 ตดตง PHP5 สาเรจ
7.3 ตดตง PHP5-Extensions ผาน Port Tree มขนตอนดงตอไปน 7.3.1 ใหเขาไปท Asterisk# cd /usr/ports/lang/php5-extensions
ทาการตงคาตางๆของโปรแกรมกอนทาการตดตงโดยใชคาสง Asterisk # make config
รปท 7.11 การตงคา php5-extensions
120
7.3.2 กาหนดคา Option ตามทตองการ เสรจแลวกด OK ผานไป
รปท 7.12 แสดง Options ใหเลอกตดตงเพม
7.3.3 กาหนดคา Option ตามทตองการเพอใหรองรบกบโปรแกรมอนๆ โดยใหสงเกตวาเลอก MySQL หรอยงเพราะเราตองใช MySQL เปนฐานขอมลจงตองคลกเลอก เสรจแลวกด OK
รปท 7.13 เลอก Options ทตองการใชเพม 7.3.4 กาหนดคา Option ตามทตองการ เสรจแลวกด OK
รปท 7.14 เลอก Options ฐานขอมล MySQL เพม
121
7.3.5 กาหนดคา Option ตามทตองการ เสรจแลวกด OK
รปท 7.15 เลอก Options ทตองการใชเพม 7.3.6 กาหนดคา Option ตามทตองการเพอใหรองรบกบโปรแกรมอนๆ
เสรจแลวกด OK ผานไป
รปท 7.16 เลอก Options ทตองการใชเพม
จากการตดตงหลายๆ ครง php5-extensions จะตดตงไมผาน สวนมากจะตดท GD เพอใหการตดตงโปรแกรมสาเรจใหเอา GD และ PDF ออกแลวทาการตดตงใหม
7.3.7 เรมทาการตดตงโปรแกรมโดยใชคาสง Asterisk# make install clean รอจนโปรแกรมตดตงสาเรจ
รปท 7.17 รอจนตดตง php5-extensions สาเรจ
122
7.3.8 หลงจากตดตงโปรแกรม PHP5 และ PHP-Extensions เสรจเรยบรอย ทาการเซตคาใหเวบเซรฟเวอรสามารถรนโปรแกรมทพฒนาดวยภาษา PHP ไดโดยเขาไปแกไฟล php.ini และ httpd.conf
แกไขไฟล php.ini มขนตอนดงตอไปน เขาไปท Asterisk# cd /usr/local/etc/ ทาการ Copy ไฟล php.ini-recommended และเปลยนชอเปน php.ini โดยใชคาสงดงน
Asterisk# cp php.ini-recommended php.ini Asterisk# pico php.ini ใช Editor Pico เปดไฟล php.ini แลวคนหาบรรทด
ดงตอไปนแลวเอาคอมเมนออก (#) default_charset = "tis-620,utf-8" กาหนดให php รจก tis-620 และ utf-8 session.save_path = "/tmp/sesstmp" กาหนดโฟลเดอรสาหรบเกบเซสชน
ของ PHP ทเกดขน เสรจแลวใหทาการบนทกโดยการกด Ctrl + X แลวกด Y ทาการสรางโฟลเดอร sesstmp ใน /tmp โดยใชคาสง
Asterisk# mkdir /tmp/sesstmp แลวเปลยนคณสมบตของโฟลเดอรใหสามารถเขยน อาน แกไข ไดทกคนดวยคาสง
Asterisk# chmod 777 /tmp/sesstmp แกไขไฟล httpd.conf มขนตอนดงตอไปน เขาไปท Asterisk# cd /usr/local/etc/apache22 แกไขไฟล Asterisk# pico httpd.conf ทาการคนหาและเพมบรรทดดงตอไปน
DirectoryIndex index.php AddDefaultCharset tis-620 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
เสรจแลวทาการบนทกไฟลโดยการกด Ctrl + X แลวกด Y ทาการบนทก สรางไฟล PHP เพอทาการทดสอบโดยใช Pico เขาไปสรางทไดเรกทรอรของเวบไซต
เขาไปท Asterisk# cd /usr/local/www/apache22/data แลวเขยนไฟล Asterisk# pico test.php เขยนคาสง PHP งาย ๆ เพอทดสอบวา เวบเซรฟเวอรสามารถรนภาษา PHP ไดหรอไม โดยเพม <?php phpinfo(); ?> เขาไปในไฟลแลวทาการบนทกเสรจแลวทาการ Restart Service เครองเวบเซรฟเวอร โดยใชคาสงตอไปน
Asterisk# /usr/local/etc/rc.d/apache22 start Asterisk# rehash
123
ทดสอบการรนไฟลทสรางขนผานหนาเวบไซตโดยพมพเขาไปใน Url ของเวบบราวเซอร http://หมายเลขไอพเครองเวบเซรฟเวอร/test.php เชน http://11.0.0.32/test.php จะไดผลลพธดงน
รปท 7.18 ผลการทดสอบวาสามารถรนภาษา PHP ได
7.4 ตดตงฐานขอมล MySQL ดาเนนการดงตอไปน 7.4.1 เขาไปตดตงโปรแกรม MySQL ผาน Port Tree โดยเขาไปท Asterisk# cd /usr/ports/databases/mysql50-server แลวพมพคาสง Asterisk# make config ซงไมม Options ใหกาหนดเพม
รปท 7.19 เลอก Options ทตองการใชเพม
7.4.2 เรมตดตงโปรแกรมฐานขอมลดวยคาสง Asterisk# make install clean เสรจแลวกด Enter รอจนกวาจะตดตงเสรจ
รปท 7.20 คาสงในการตดตง MySQL
7.4.3 รอจนกวาจะตดตงโปรแกรม MySQL เสรจ แลวอยาลมทาการ Restart เครอง ถาตองการให MySQL ทางานทกครงกตองเขาไปเพม mysql_enable=”YES” ไวท rc.conf โดยใช Editor ตวไหนกได เชน Asterisk# pico /etc/rc.conf
124
รปท 7.21 ตดตงโปรแกร MySQL เสรจเรยบรอย
7.4.4 การสรางรหสผาน (Password) ใหกบ Root ของฐานขอมล MySQL โดยใหใชคาสง Asterisk#mysqladmin -u root password รหสผานของเรา เมอสรางเสรจใหทาการทดสอบเขาไปใชฐานขอมลวาสามารถใชงานไดหรอไม ดวยคาสง Asterisk# mysql –u root –pdoae แลวทดสอบดวยคาสงงายๆ ดวาสามารถใชงานไดหรอไม ซงถาลงโปรแกรม phpMyAdmin เสรจแลวสามารถบรหารจดการฐานขอมลไดงายขน
รปท 7.22 ตงรหสผาน Root ใหกบฐานขอมล MySQL
125
7.5 การตดตงโปรแกรมจดการฐานขอมล phpMyAdmin ดาเนนการดงตอไปน 7.5.1 เขาไปทโฟลเดอรเพอเขาไปกาหนดคาดวยคาสงตอไปน Asterisk# cd /usr/ports/databases/phpmyadmin Asterisk# make config กาหนดคาเพมกอนตดตงโปรแกรม phpMyAdmin
รปท 7.23 เขาไปกาหนด Option กอนตดตง
7.5.2 กาหนดคา Option เพมเลอก MYSQLI เพราะเราตองการให phpMyAdmin ตดตอกบฐานขอมล MySQL เสรจแลวกด OK ดาเนนการตอไป
รปท 7.24 เลอก Options ใหรองรบฐานขอมล MySQL
7.5.3 รอจนกวาตดตงโปรแกรมเสรจ และตองไมเกด Error ในระหวางตดตง
รปท 7.25 ตดตง phpMyAdmin สาเรจ
126
7.5.4 กาหนดคาเพอใหเวบเซฟอรเวอรรจกกบโปรแกรม phpMyAdmin ซงการตดตงโปรแกรมนไมจาเปนตองตดตงผาน Port Tree กไดเพราะเราสามารถดาวนโหลดไฟลทสาเรจรปแลวมาใชไดเลย ถาตดตงผาน Ports Tree ไฟล phpMyAdmin จะอยท /usr/local/www/phpMyAdmin ดงนนเราตองเขาไปเขยน Alias หรอจะเขยนเปน Vhost เพอใหเวบเซรฟเวอรรจก โดยใหเขาไปแกไขไฟล httpd.conf ดงตอไปน
Asterisk#pico/usr/local/etc/apache22/httpd.conf แลวเพมคาสงตอไปนเขาไป Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/" <Directory "/usr/local/www/phpMyAdmin">
Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all
</Directory> ทาการบนทกไฟล แลวเขาไปท asterisk# cd /usr /local/www/phpMyAdmin asterisk# cp config.sample.inc.php config.inc.php ทาการแกไขไฟล config.inc.php asterisk# pico config.inc.php คนหาบรรทด $cfg[‘Servers’][auth_type’]= ‘cookie’; แลวเปลยนจาก cookie เปน http เพราะไมตองไปเซตอะไรเพมเตมอก
รปท 7.26 กาหนดการตรวจสอบแบบ http เมอทาการกาหนดคาเรยบรอยแลวใหเราทาการ Restart Service เวบเซรฟเวอรดวยคาสง Asterisk# /usr/local/etc/rc.d/apache22 restart ทดสอบโดยเปดบราวเซอรแลวพมพ url : http://หมายเลขไอพเครองเวบเซรฟเวอร/phpmyadmin
127
รปท 7.27 ทดสอบการเขาหนาเวบ phpMyAdmin
เมอขนหนาจอใหใส User และ Password ใหใส User และ Password ทเคยในขนตอนการตดตงฐานขอมล MySQL ถาสามารถใชงานไดจะแสดงหนาจอดงรปท 7.28 หลายครงทลงแลวไมประสบผลสาเรจแนะนาใหตรวจสอบดวาฐานขอมลใชไดหรอไม หรอใหลดเวอรชนของ phpMyAdmin ลง ถาไมไดจรง ๆ แนะนาใหดาวนโหลด Package สาเรจรปมาวางไวไดเลย แลวเขาไปแกไขคา config.inc.php สามารถใชงานไดเหมอนกน
รปท 7.28 ทดสอบการเขาหนาเวบ phpMyAdmin
128
8. การกาหนดคา Asterisk Realtime เพอใหงายตอการบรหารจดการ เชน การสรางหมายเลขโทรศพท การเขยนแผน
โทรศพท โดยโปรแกรม Asterisk ไดมโปรแกรมเสรมทพรอมใหใชอยแลว คอโปรแกรม Asterisk realtime ซงในการทดลองในครงนไดใชฐานขอมล MySQL เกบขอมลตางๆ ของระบบ โปรแกรมทใชรวมกบ Asterisk Realtime คอโปรแกรม Asterisk-addons ตองเชคใหแนใจวาไดตดตงแลว เมอตดตงเรยบรอยแลว ใหทาการกาหนดคาตางๆ ของระบบในไฟลใหครบซงสาคญมากเพอใหสามารถเกบรายละเอยดการใชงานของระบบเกบลงไวในฐานขอมล ไฟลทเกยวของเบองตนไดแก extconfig.conf ,res_mysql.conf, manager.conf, modules.conf, extension.conf สวนบรการอนๆทตองการเปดใชตองไปตงคาเพมเตม
8.1 การกาหนดคาใหโปรแกรม Asterisk Realtime รจกกบประเภทฐานขอมล ชอฐานขอมล และตารางทจะเกบขอมล
8.1.1 ไฟล extconfig.conf ใหเพมคาตวแปรเขาไปในไฟลเพอบอกใหโปรแกรม asterisk ไปอานคาจากทไหน เชน sipusers(ตวแปรของรายละเอยดของ sip users) => mysql(ประเภทของฐานขอมล),asterisk (ชอฐานขอมล) ,sip_buddies (ชอตารางหมายเลขโทรศพท) ใหกาหนดเพมใหครบตามบรการทเราตองการเปดใหบรการ โดยเขาไปแกไขไฟลโดยใชคาสง Asterisk# pico /usr/local/etc/asterisk/extconfig.conf
sipusers => mysql,asterisk,sip_buddies sippeers => mysql,asterisk,sip_buddies extensions => mysql,asterisk,extensions voicemail => mysql,asterisk,vm_users queues => mysql,asterisk,queues queue_members => mysql,asterisk,queue_members
8.1.2 ไฟล res_mysql.conf ใหใสชอ Database, Username, Password ทตดตอเพอดงขอมล Asterisk Realtime เขาไปแกไขไฟลโดยใชคาสง Asterisk# pico /usr/local/etc/asterisk/res_mysql.conf
[general] dbhost = localhost dbname = asterisk dbuser = asterisk dbpass = asteriskok dbport = 3306 dbsock = /tmp/mysql.sock
129
8.1.3 ไฟล manager.conf กาหนดใหเพอสามารถบรหารจดการระบบผาน หนาเวบไซตได แกไขไฟลโดยใชคาสง Asterisk# pico /usr/local/etc/asterisk/manager.conf
[general] displaysystemname = yes enabled = yes webenabled = yes port = 5038 bindaddr = 0.0.0.0 displayconnects = yes
[admin] secret=doae deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 read = system,call,log,verbose,command,agent,user,config write = system,call,log,verbose,command,agent,user,config
8.1.4 ไฟล modules.conf เปนการเปดโมดลการใหบรการของโปรแกรมตางๆ ทเกยวของ เขาไปแกไขไฟลโดยใชคาสง Asterisk# pico /usr/local/etc/asterisk/modules.conf
[modules] autoload=yes noload => chan_alsa.so load => res_config_mysql.so load => app_realtime.so load => func_realtime.so load => pbx_realtime.so
8.1.5 ไฟล extensions.conf ซงไฟลนจะเปนไฟลทใชเขยนแผนการโทร เมอตองการใชแผนการโทรผานฐานขอมลตองเขาไปแกไขใหไปใชแผนการโทรจากโปรแกรม realtime เขาไปแกไขไฟลโดยใชคาสง Asterisk# pico /usr/local/etc/asterisk/extensions.conf
[default] switch => Realtime/default@extensions
130
8.2 สรางฐานขอมลและตารางทเกยวของเพอใสขอมลระบบตางๆ ใหทางานรวมกบโปรแกรม asterisk เชน หมายเลขโทร แผนการโทร โดยสามารถเขาไปจดการผานหนาเวบไซตโปรแกรม phpmyadmin ใหเปดเวบบราวเซอรขนมาแลวเขาไปทโปรแกรม phpmyadmin
8.2.1 การสรางฐานขอมล โดยใช phpmyadmin กรอก user และ password
ของ root เขาสรางฐานขอมล
รปท 8.1 ลอกอนดวยสทธ root เขาจดการฐานขอมล
เมอลอกอนสาเรจใหทาการสรางฐานขอมลทตองการแตตองใหตรงกบทเราไดกาหนดไวในไฟล
คอนฟกดวย เบองตนไดกาหนดชอฐานขอมลเปน asterisk เสรจแลวกด Create
รปท 8.2 สรางฐานขอมล ดวย phpMyAdmin
131
8.2.2 การสรางตารางทเกยวของ โดยใช phpmyadmin ตองกาหนดชอตาราง
ใหตรงกบทประกาศไวในไฟลคอนฟกขางตน โดยมวธการสรางตารางดงน ใหคลกทชอ
ฐานขอมลทไดสรางไวแลว คอ asterisk ซงจะใหเราใสชอสรางตาราง และจานวนฟลด เสรจแลว
กด Go
รปท 8.3 สรางตารางดวย phpMyAdmin
จากตวอยางไดสรางตารางชอ admin จานวนฟวลขอมล 5 ฟลด ใหทาการ
ประกาศตวแปลและชนดของขอมลตามทไดออกแบบฐานขอมลไว ซงผใชงานตองมพนฐานใน
การออกแบบฐานขอมลมากอน เสรจแลวใหทาการกด Save
รปท 8.4 กาหนดชอฟลดและประเภทขอมล
ซงตองสรางตารางดงตอไปนใหครบทสาคญชอตารางตองตรงกบทไดกาหนดไวในไฟลคอนฟก
กอนหนานดวย ตารางทตองสรางดงน
132
ตาราง extensions เกบขอมลการเขยนแผนการโทร เชนเขยนแผนการโทรในไฟล extension.conf เปน exten => 1000,1,Dial(SIP/1000)
id int(11) context varchar(20) exten varchar(20) priority tinyint(4) app varchar(20) appdata varchar(128)
ตาราง sip_buddies เกบขอมลการกาหนดหมายเลขโทรศพทวาหนวยงานไหนใชหมายเลขอะไร เชน ถาเปนการกาหนดคาไวบนไฟล sip.conf กจะเขยนไดดงน
[1000] type=friend
host=dynamic username=1000 secret=12345 callerid="1000"<1000> allow=ulaw
nat=yes แตเมอเกบลงฐานขอมล MySQL ตองประกาศตวแปรตามตาราง
id int(11) name varchar(80) accountcode varchar(20) amaflags varchar(7) callgroup) varchar(10 callerid varchar(80) canreinvite char(3) context varchar(80) defaultip varchar(15) dtmfmode varchar(7) fromuser varchar(80) fromdomain varchar(80) fullcontact varchar(80) host varchar(31)
133
insecure varchar(20) language char(2) mailbox varchar(50) md5secret varchar(80) nat varchar(5) deny varchar(95) permit varchar(95) mask varchar(95) pickupgroup varchar(10) port varchar(5) qualify char(3) restrictcid char(1) rtptimeout char(3) rtpholdtimeout char(3) secret varchar(80) type varchar(6) username varchar(80) disallow varchar(100) allow varchar(100) musiconhold varchar(100) regseconds int(11) ipaddr varchar(15) regexten varchar(80) cancallforward char(3)
ตาราง queues เกบขอมลการกาหนดควการโทรศพท ถาเราไมเปดใหบรการนไม จาเปนตองสรางตารางน แตถาอนาคตมการพฒนาใหเปดใชบรการนคอยกลบมาสรางทหลงได
name varchar(128) musiconhold varchar(128) announce varchar(128) context varchar(128) timeout int(11) monitor_type varchar(50) monitor_format varchar(128)
134
queue_youarenext varchar(128) queue_thereare varchar(128) queue_callswaiting varchar(128) queue_holdtime varchar(128) queue_minutes varchar(128) queue_seconds varchar(128) queue_lessthan varchar(128) queue_thankyou varchar(128) queue_reporthold varchar(128) announce_frequency int(11) announce_round_seconds int(11) announce_holdtime varchar(128) retry int(11) wrapuptime int(11) maxlen int(11) servicelevel int(11) strategy varchar(128) joinempty varchar(128) leavewhenempty varchar(128) eventmemberstatus varchar(4) eventwhencalled varchar(4) reportholdtime tinyint(1) memberdelay int(11) weight int(11) timeoutrestart tinyint(1) periodic_announce varchar(50) periodic_announce_frequency int(11) ringinuse tinyint(1)
135
ตาราง queues_members เกบขอมลผทสามารถใชควการโทรศพทได ถาเราไมเปด ใหบรการนไมจาเปนตองสรางตารางน แตถาอนาคตมการพฒนาใหเปดใชบรการนคอยกลบมาสรางทหลงได
uniqueid int(10) membername varchar(40) queue_name varchar(128) interface varchar(128) penalty int(11) paused tinyint(1)
ตาราง vm_users กาหนดผทสามารถฝากขอความเสยงได
uniqueid int(11) customer_id int(11) context varchar(50) mailbox int(5) password varchar(4) fullname varchar(50) email varchar(50) pager varchar(50) tz varchar(10) attach varchar(4) saycid varchar(4) dialout varchar(10) callback varchar(10) review varchar(4) operator varchar(4) envelope varchar(4) sayduration varchar(4) saydurationm tinyint(4) sendvoicemail varchar(4) delete varchar(4) nextaftercmd varchar(4) forcename varchar(4)
136
forcegreetings varchar(4) hidefromdir varchar(4) stamp timestamp
ตาราง admin เกบขอมลของผดแลระบบ ซงขนอยกบผพฒนาโปรแกรมจะออกแบบให มอะไรบาง เชน สทธในการกาหนดคาตางๆ หรอมสทธดขอมลไดอยางเดยว
d_id int(11) ad_user varchar(50) ad_password varchar(50) ad_level Int(1) ad_name varchar(50)
ตาราง office เกบขอมลชอหนวยงาน ซงขนอยกบผพฒนาโปรแกรมจะออกแบบวาจะ เกบขอมลหนวยงานอะไรบางเพอเปนขอมล
If_of int(11) nameoffice varchar(255) address varchar(255) amphur varchar(255) province varchar(255) seg varchar(5) phone varchar(255) fax varchar(255) email varchar(255) type int(2) date timestamp
137
8.2.3 การสรางบญชผใชงานฐานขอมลเมอเขา phpmyadmin แลวทาการ
ลอกอนดวยสทธ root เพอเขาไปสรางบญชผใชและกาหนดสทธใหชอทสรางขนนนสามารถใช
งานฐานขอมลอะไรบาง โดยกด Privileges
รปท 8.5 คลก Privileges เพอสรางบญชผใชงาน
จะพบ User ในระบบ ใหเลอนลงมาคลกท Add a new User เพอสราง User ใหมซงตองไมซา
กบ User ทมอยในระบบ กอนสรางใหสงเกตชอทมอยในระบบกอน
รปท 8.6 เพมบญชผใชงานผานหนาเวบ phpMyAdmin
138
จะพบกรอบหวขอ Add a new User ใหใสรายละเอยดของ User ใหมพรอมทง Password เสรจ
แลวใหเลอนลงขางลางแลวกดปม Go ทอยขวามอ
รปท 8.7 กรอกรายละเอยดบญชรายชอผใชงานใหม
หลงจากคลก Go เสรจตองกาหนดดวยวาชอทสรางขนใหมนมสทธใชงาน
ฐานขอมลอะไรบาง ใหเลอนลงมาท Database-specific privileges แลวเขาไปเลอกฐานขอมล
รปท 8.8 เลอกฐานขอมลใหกบรายชอใหมทสรางขน
139
กาหนดสทธวารายชอใหมนสามารถทาอะไรไดบางกบฐานขอมลน เชน สามารถ เลอกหรอ
คนหา(SELECT) เพม(INSERT) อบเดต(UPDATE) และลบ(DELETE) เสรจแลวกด Go
รปท 8.9 กาหนดสทธการเขาถงฐานขอมลใหกบ user ใหม
8.2.4 การทดสอบวาโปรแกรม Asterisk สามารถตดตอกบฐานขอมล MySQL
ไดหรอไม โดยใหทาการลอกออนเขาไปหนาเครองเซรฟเวอรหรอรโมทเขาไปแลวรนโปรแกรม
Asterisk ดวยคาสง Asterisk# asterisk -r เสรจแลวใหพมพคาสง realtime mysql status เพอ
เชค status การเชอมตอฐานขอมลของโปรแกรม Asterisk ซงจะมขอความแสดงใหเรารวา
สามารถเชอมตอฐานขอมลแลว
รปท 8.10 ทดสอบสถานะการตดตอฐานขอมล MySQL
140
9. การเกบขอมลการโทรของโปรแกรม Asterisk (Call Detail Record) 9.1 เกบขอมลการโทรลงไฟล Asterisk Call Detail Record หรอ CDR ซงปกตโปรแกรม Asterisk ไดมการ
เกบบนทกขอมลรายละเอยดการโทรเขาออกไวอยแลว เปนไฟลนามสกล CSV อยทไดเรกทรอรvar/log/asterisk/cdr-csv ชอไฟล Master.csv สามารถเปดดไดดวยโปรแกรมอดเตอร หรอดาวนโหลดมาเปดกบโปรแกรม Excel ของ Windows รายละเอยดฟลดของไฟล Master.cvs จะแบงรายละเอยดแตละสวนออกเปนฟลด (Field) ตางๆ โดยใชเครองหมาย (,) คนระหวางฟลด ดงรายละเอยดตอไปน
ฟลดท 1 Calldate วนท และเวลาทมการเรยกสายไปยงหมายเลขปลายทาง ฟลดท 2 Clid เปนหมายเลขโทรศพท โชวหมายเลขทจะถกแสดง เมอเราม
การเรยกไปยงปลายทาง ซงการแสดงหมายเลขในฟลดนจะแบงออกเปน 2 สวนของสวนแรกจะเปนการโชวในลกษณะของตวอกษร เชน ชอผเรยกสาย สวนทสองเปนการกาหนดโดยใชตวเลข ในทนจะเหนไดวาตวเลขทกาหนดไวจะเหมอนกบ คาของฟลด Source นนเอง
ฟลดท 3 src เปนหมายเลขโทรศพทตนทาง ฟลดท 4 dst เปนหมายเลขโทรศพทปลายทางทถกเรยก ฟลดท 5 dcontext เปนชอของ Context ทเรมตนทางาน โดยคามาตรฐานจะเปน
default ฟลดท 6 channel เปนชองสญญาณเสยง (Voice Channel) ทถกกาหนดไวเพอ
เปนเสนทางในการสงสญญาณเสยงไปยงผรบ ฟลดท 7 dstchanal เปนชองสญญาณเสยง (Voice Channel) ปลายทางทถกเรยก ฟลดท 8 lastapp เปนสวนของรายละเอยดทโปแกรม (Application) ใชในการ
ตดตอในการเรยกสาย เชน SIP/1000 ซงหมายเลข 1000 คอหมายเลขโทรศพทปลายทางทเรยกไป
ฟลดท 9 lastdata เปนขอมลสดทายทมการเรยกใชงาน ฟลดท 10 duration เปนชวงเวลาระหวางเมอผเรยกสายไปทางปลายทาง จนสนสด
การตดตอกน ซงจะมหนวยเปนวนาท ฟลดท 11 billsec เปนชวงเวลาตงแตมการรบสายจากปลายทาง เมอมการตดตอ
ได มหนวยเปนวนาท ซงเวลาในสวนนโดยมากแลวจะนามาเปนการคานวณการใชโทรศพท หรอ Billing
ฟลดท 12 diposition สถานะการใชงานครงสดทายของการใชงานโทรศทพ เชน Answered, no answer, busy, Failed เปนตน
ฟลดท 13 amaflags เปนคณสมบตเกยวกบเรอง Autimated Machine Accounting Flags ซงจะมการใชงานเฉพาะโปรแกรมททางานเกยวกบเรองของ Billing ในบางโปรแกรมเทานน
141
ฟลดท 14 accountcode เปนคาของ Caller ID ทใชกาหนดไวใหแตละหมายเลขซงจะถกกาหนดไวในไฟล sip.conf
ฟลดท 15 userfield เปนฟลดทผใชงานสามารถระบคาไดเอง 9.2 เกบขอมลการโทรลงฐานขอมล นอกจากจะดขอมลจากไฟลโดยตรงแลวเรายงสามารถเกบขอมลรายละเอยดการโทร
ไวในฐานขอมลได เพองายตอการเขยนโปรแกรมออกรายงานตางๆ ในการทดลองในครงนไดเลอกใชฐานขอมล MySQL จงตองเขาไปกาหนดคาตาง ๆ เพอให Asterisk CDR เกบขอมลลงในฐานขอมล MySQL มวธการดงตอไปน
Asterisk# cd /usr/local/etc/asterisk
Asterisk# cp cdr_mysql.conl.conf.sample cdr_mysql.conf
Asterisk# pico cdr_mysql.conf
ทาการกาหนดคาในไฟล cdr_mysql.conf ใหถกตองกบขอมลทเราสราง ดงตวอยาง
[global]
Hostname=localhost
dbname=asterisk
table=cdr
password=asteriskok
user=asterisk
port=3306
sock=/tmp/mysql.sock
userfield=1
กาหนดเรยบรอยใหบนทกไฟล cdr_mysql.conf เสรจแลวสรางฐานขอมลใหสอดคลองกบคาท
กาหนด เชน ชอฐานขอมล ตาราง cdr และ User เพอใหงาย และสะดวกตอการจดการสามารถ
ใชโปรแกรม phpmyadmin จดการดงตวอยางทไดกลาวมาแลว
ตาราง CDR ประกอบดวยฟลด ดงตอไปน
calldate datetime clid varchar(80) src varchar(80) dst varchar(80) dcontext varchar(80)
142
channel varchar(80) dstchannel varchar(80) lastapp varchar(80) lastdata varchar(80) duration int(11) billsec int(11) disposition varchar(45) amaflags int(11) accountcode varchar(20) userfield varchar(255)
ตารางท 9.1 โครงสรางตารางฐานขอมล CDR
เมอกาหนดเสรจแลวใหรสตารทโปรแกรม Asterisk เพอใหสามารถตดตอกบฐานขอมลได ดวยคาสง Asterisk# asterisk –rx “restart now” เมอระบบโทรศพท Asterisk มการตดตอสอสารระหวางกนเกดขน ขอมลตางๆ จะถกเกบไวในฐานขอมล MySQL เราสามารถทดสอบงายๆ โดยโทรศพทหากนระหวางหมายเลขสองหมายเลข เสรจแลวเขาไปดขอมลการโทรทโปรแกรม phpmyadmin ตาราง CDR จะพบประวตการโทร
รปท 9.1 กาหนดสทธการเขาถงฐานขอมลใหกบ user ใหม
143
10. การนาเอา Codec G723 หรอ G729 มาใชกบระบบโปรแกรม Asterisk โดยปกตหลงจากทตดตง Asterisk server เสรจเรยบรอยแลวนน Codec ของ Asterisk ท ใชงานโดยปกตนนจะเปน Codec G711 หากจะตองการใชงาน Codec G723 หรอ Codec G729 นนเราจาเปนตองซอ ซงการใชงาน Codec ตางๆ นนจะใชทรพยากรระบบแตกตางกน ตารางแสดง Asterisk Codecs
Codec Data Bit rate (kbps) License G.711 64 kbps No G.726 16, 24 or 32 kbps No G.723.1 5.3 or 6.3 kbps Yes G.729A 8 kbps Yes GSM 13 kbps No iLBC 13.3 kbps or 15.2 kbps No Speex Between 2.15 and 22.4 kbps No
ตารางท 10.1. รายละเอยดของ Codecs
ดงนนจะเหนไดหากเราสามารถนา Codec G723 หรอ G729 มาใช เราจะสามารถประหยด แบนดวดธ (Bandwidth) ได แต Codec G723 และ G729 นนไมฟรตองเสยคาลขสทธ ประมาณ 10$ ตอ License แตกมนกพฒนา software codec ไดพฒนา codec ใหสามารถนาไปใชฟร โดยสามารถดาวนโหลดไฟล Codec ไดทเวบไซต http://asterisk.hosting.lv กอนดาวนโหลดไฟล Codec นน จาเปนตองใชไฟลใหตรงกบสเปคเครองเซรฟเวอรทตดตงโปรแกรม Asterisk เวอรชนของโปรแกรม Asterisk และระบบปฏบตการ
10.1 การตรวจสอบสเปคเครองเซรฟเวอรทตดตงโปรแกรม Asterisk นนทาไดหลายวธจะใชวธการสงเกตตอนเรมตนการบตเครองเซรฟเวอร หรอเมอบตเขาระบบปฏบตการแลวคอยเชคกได ซงวธการตรวจสอบจะแตกตางกนออกไปขนอยกบระบบปฏบตการนน เชนระบบปฏบตการ FreeBSD นนสามารถใชคาสง Asterisk# dmesg | more เพอตรวจสอบอปกรณตางๆ และขอมลของเครองเซรฟเวอรได ตวอยางเชน รปท 10.1 เครองเซรฟเวอร CPU Intel Pentium 4 1.80 GHz ตดตงระบบปฏบตการ FreeBSD 7.2-RELEASE
รปท 10.1 ตรวจสอบสเปคเครองเซรฟเวอร Asterisk
144
10.2 ตรวจสอบเวอรชนโปรแกรม Asterisk ทตดตงลงบนเครองเซรเวอรโดยสงรน
โปรแกรม Asterisk ดวยคาสงตอไปน Asterisk# asterisk –r
รปท 10.2. ตรวจสอบเวอรชนโปรแกรม Asterisk
10.3 ตรวจสอบ Codec ทตดตงมาพรอมกบโปรแกรม Asterisk ดวยคาสง Asterisk# asterisk -r แลวพมพคาสง Asterisk*CLI> core show translation จะสงเกตเหน Codec G723 และ G729 เปนคาวางเปลาซงแสดงวายงไมมการกาหนดใหใช
รปท 10.3 ตรวจการใหบรการ Codec ของระบบ
10.4 เมอรขอมลเบองตนแลวใหเขาไปดาวนโหลดไฟล Codec ทเวบไซต
http://asterisk.hosting.lv แลวดาวนโหลด Codec ทรองรบกบเซรฟเวอร Asterisk เชน
การทดลองในครงน ใชระบบปฏบตการ FreeBSD 7.2 ตดตง Asterisk 1.4.24 บนเครอง
คอมพวเตอร Pentium 4 ความเรวสญญาณนาฬกา 1.80 GHz
145
รปท 10.4. ดาวนโหลดไฟล Codec G723 และ G729
10.5 ใหทาการ Upload ไฟลทดาวนโหลดมาไปไวท /usr/local/lib/asterisk/modules/
จากตวอยางไฟลทดาวนโหลดมาคอ codec_g723-ast14-gcc4-freebsd7-pentium4.so และ
codec_g729-ast14-gcc4-freebsd7-pentium4.so เราสามารถเปลยนชอใหสน เชน
codec_g723.so และ codec_g729.so เพอใหงายตอการเรยกชอ reload module
วธการ reload module ทาไดดงน
เขาไปท Asterisk# asterisk –r
รนดวยคาสง Asterisk*CLI> module load <ชอโมดล>
ตวอยาง เชน Asterisk*CLI> module load codec_g723.so
ใหทาการ reload ทง 2 module เสรจแลวทาการตรวจสอบวาโปรแกรม Asterisk นนสามารถใช
งาน Codec g723 และ g729 ไดแลวหรอยง ทาไดดงน
เขาไปท Asterisk# asterisk –r
รนดวยคาสง Asterisk*CLI> core show translation
ซงถา Codec ทง 2 สามารถทางานไดตรงชอง g723 และ g729 ตองไมเปนชองวาง
146
รปท 10.5 Codec g723 และ g729 สามารถใหบรการได
ถาตองการยกเลก module กสมารถทาไดเชนกน คอ เขาไปท Asterisk# asterisk -r
รนดวยคาสง Asterisk*CLI> module unload <ชอโมดล>
ตวอยาง เชน Asterisk*CLI> module unload codec_g723.so
ในกรณของ Codec G.723.1 มอยดวยกน 2 แบบ คอ 6.3 Kbps และ 5.3 Kbps เราสามารถ
เลอกใช แบบไหนกได โดยสวนมาจะใช G.723.1 แบบ 6.3 Kbps เพราะมคณภาพเสยงดกวา
แบบ 5.3 Kbps โดยเขาไปกาหนดคา Codec ทไฟล codec.conf
Asterisk# pico /usr/local/etc/asterisk/codec.conf
เพมขอความดงนลงไปในไฟลแลวทาการบนทก
[g723]
sendrate=63
เสรจเรยบรอยแลวใหทาการ reload module g723 อกรอบ
147
เอกสารอางอง
[1] กตตพงษ สวรรณราช , “ออกแบบและตดตงระบบโทรศพท IP-PBX ดวย Asterisk”,บรษท ออฟเซท เพรส จากด , กมภาพนธ 2551 [2] กตตพงษ สวรรณราช , “ระบบปฏบตการ FreeBSD และการประยกตใชงาน”, บรษท ออฟเซท เพรส จากด , พฤศจกายน 2548 [3] Article เทคโนโลย Voice Over Internet Protocol (VOIP). Thai Inter Network dot com. [Online].Available: http://www.thaiinternetwork.com/content/detail.php?id=0245 [4] ไพโรจน ไววานชกจ, “VoIP เทคโนโลยใหมสโลกโทรคมนาคม”, วารสารเซมคอนดคเตอร ฉบบท 292, กนยายน 2549 [5] Article Products. nextsay dot com. [Online].Available: http://www.nextsay.com/ [6] Article ตวอยางการตงคาสาหรบใชงาน TOT netcall บน Asterisk IP PBX [Online].Available:http://webboard.totnetcall.com/smf/index.php/topic,32.0.html [7] Article การนา codec G729 และG723.1 มาใช [Online].Available:http://www.thaibsd.com/webboard/show.php?Category=Asterisk&No=12195