Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
การศกษาการโตตอบ
ของ SIP บน Softphone ชนดตางๆ
The Study of SIP Interaction on Softphones
นชจร ปญญาวฒไกร Nutcharee Panyavudthikrai
สารนพนธนเปนสวนหนงของการศกษา หลกสตรวทยาศาสตรมหาบณฑต สาขาวชาวศวกรรมเครอขาย
คณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2556
I
หวขอ การศกษาการโตตอบของ SIP บน Softphone ชนดตางๆ
ชอนกศกษา นชจร ปญญาวฒไกร รหสนกศกษา 5517660008 หลกสตร วทยาศาสตรมหาบณฑต สาขาวศวกรรมเครอขาย ปการศกษา 2556 อาจารยทปรกษา ผศ.ดร.วรพล ลลาเกยรตสกล อาจารยทปรกษารวม ผศ.ดร.ประวทย ชมช
บทคดยอ
วตถประสงคของการศกษาการโตตอบของ SIP บน Softphone ชนดตางๆ เนองจากเทคโนโลย VoIP ในปจจบนนไดรบความนยม และมการเตบโตอยางตอเนอง ดวยตนทนทไมสงมากนกเมอเปรยบเทยบกบคาใชจายทางระบบโทรศพทปกต จงไดเกดความสนใจในการศกษาวจยทางดานน การวจยเพอศกษาวเคราะหถงรปแบบการโตตอบและการสงขอมลของ SIP บน Softphone ทาใหเราสามารถระบหรอคาดเดาไดวารปแบบของ SIP ทเกดขนนเปนของ Softphone ชนดใด ซงเปนการชวยระบเพมเตมในการเจาะจงถงแอพพลเคชนทใช นอกเหนอจากการระบผานทาง Uniform Resource Identifier (URI) ดงนนการศกษานอาจมประโยชนในหลายๆดาน เชน ในดานการตรวจสอบหลกฐานทางดจตอล (Digital Forensic) ,ใชเปนแนวทางในการชวยบรหารจดการการเชอมตอ ,นาไปประยกตเพอหาแนวทางในการปองกนภยคกคามทางดาน VoIP และอาจเปนประโยชนในการชวยลดปญหาเกยวกบ Spam over Internet Telephony (SPIT) เปนตน
II
กตตกรรมประกาศ
สารนพนธนไดดาเนนการจนประสบความสาเรจไปไดดวยด เนองดวยไดรบการชวยเหลอและการสนบสนนจากบคคลหลายฝาย ขาพเจาขอขอบคณอาจารยทปรกษา ดร.วรพล ลลาเกยรตสกล ทใหคาแนะนา และแนวความคดตางๆ รวมถงกาลงใจในการทาโครงงานชนน และขอขอบคณอาจารยทปรกษารวม ดร.ประวทย ชมช ทใหคาปรกษาและสละเวลากบโครงงานชนน และขอขอบคณเพอนๆ ทกสาขาวชาทใหความชวยเหลอและคาปรกษาทดกบขาพเจา ขาพเจาขอกราบขอบพระคณอาจารยทกทานทไดใหความรความเสยสละตอการเรยนการสอนในทกหลกสตร รวมทงกราบขอบคณ บดา มารดา ของขาพเจาทใหกาลงใจและการสนบสนนทางดานการศกษามาดวยดเสมอ
นชจร ปญญาวฒไกร
III
สารบญ หนา
บทคดยอภาษาไทย I กตตกรรมประกาศ II สารบญ III สารบญรป VI สารบญตาราง XIV บทท 1 บทนา 1 1.1 ปญหาและแรงจงใจ 1 1.2 โครงงานทนาเสนอ 1 1.3 จดประสงคของโครงงาน 2 1.4 ขอบเขตโครงงาน 2 1.5 โครงสรางสารนพนธ 3 บทท 2 พนฐานและทฤษฎทเกยวของ 4 2.1 SIP (Session Initiation Protocol) 4 2.1.1 สวนประกอบเครอขาย SIP 6 2.1.2 ขนตอนการเกด SIP Message 10 2.1.3 SIP Messages 12 2.2 โปรแกรม Elastix 20 2.3 IP Soft Phone 22 บทท 3 ขนตอนการดาเนนงาน 23 3.1 กลาวนา 23 3.2 ขนตอนการดาเนนงานเพอทาการทดลอง 23 3.2.1 ศกษาและหาขอมลในการดาเนนงาน 23 3.2.2 การแบงชวงของการทดลอง 24 3.2.3 การออกแบบการทดลอง 26 บทท 4 การทดลองและผลการทดลอง 29 4.1 กลาวนา 29 4.2 ขนตอนเตรยมการทดลอง 31 4.2.1 การเตรยมอปกรณ 31 4.2.2 การเตรยมซอฟตแวร 32 4.3 ขนตอนการตงคาระบบ 32 4.3.1 การตงคาระบบในการทดลองชวงท 1 32
IV
สารบญ (ตอ) หนา
4.3.1.1 ขนตอนการสรางหมายเลข Extension สาหรบโปรแกรม 32 Elastix 2.4.0 4.3.1.2 ขนตอนการสรางหมายเลข Extension สาหรบโปรแกรม 36 Lumisoft 4.3.1.3 ขนตอนการตงคาระบบ SIP Softphone (Client) 40 4.3.2 การตงคาระบบในการทดลองชวงท 2 43 4.3.2.1 ขนตอนการตงคา SIP server สาหรบโปรแกรม Lumisoft 44 4.3.2.2 ขนตอนการตงคาระบบ SIP Softphone (Client) 49 4.4 การทดลองและผลการทดลอง 52 4.4.1 การทดลองและผลการทดลองในชวงท 1 52 4.4.1.1 ทาการดกจบขอมลแบบ Passive ระหวาง Softphone 52 กบ SIP server (Elastix 2.4.0) โดยใชโปรแกรม Wireshark 4.4.1.1.1 ผลการทดลองในชวงท 1 57 จากการเชอมตอเครองแมขาย Elastix 2.4.0 4.4.1.2 ทาการดกจบขอมลแบบ Passive ระหวาง 60 Softphone กบ SIP server (Lumisoft) โดยใชโปรแกรม Wireshark 4.4.1.2.1 ผลการทดลองในชวงท 1 65 จากการเชอมตอเครองแมขาย Lumisoft 4.4.1.3 สรปผลการทดลองในชวงท 1 69 4.4.2 การทดลองและผลการทดลองในชวงท 2 70 4.4.2.1 ทาการดกจบขอมลแบบ Active ระหวาง Softphone 70 กบ SIP server (Lumisoft) โดยใชโปรแกรม Wireshark ซงใช message แบบ Standard-Compliant OPTIONS ในขนตอน "After Regist" และ "After Invite" 4.4.2.2 ทาการดกจบขอมลแบบ Active ระหวาง Softphone 77 กบ SIP server (Lumisoft) โดยใชโปรแกรม Wireshark ซงใช message แบบ Non-Compliant OPTIONS ในขนตอน "After Regist" และ "After Invite" 4.4.2.3 สรปผลการทดลองในชวงท 2 101 บทท 5 สรปผลการทดลอง 105 5.1 สรปผลการทดลอง 105
V
สารบญ (ตอ) หนา
5.2 ประโยชนทคาดวาจะไดรบ 106 5.3 ปญหาและขอเสนอแนะ 106เอกสารอางอง 107 ภาคผนวก 108 ขนตอนการตดตงโปรแกรม Elastix 2.4.0 109 ขนตอนการตดตงโปรแกรม 3CXphone 122 การแกไขเพมเตม code ใน SIP sever (Lumisoft) 126
VI
สารบญรป หนา
รปท 1.1 แสดงโครงสรางเครอขายในการทดลองเบองตน 2 รปท 2.1 แสดง Protocol Stack ของ IP Telephony 5 รปท 2.2 แสดงการสง SIP Message ในการเชอมตอแบบ Point to Point 8 รปท 2.3 แสดงการสง SIP Message ในการเชอมตอแบบผาน Proxy server 9 รปท 2.4 แสดงขนตอนการเกด SIP Message ในการทาการเชอมตอ 10 รปท 2.5 แสดงตวอยางรายละเอยดขนตอนการสราง session ของ sip message 11 รปท 2.6 แสดงถงสวนประกอบของ SIP Request Messages 12 รปท 2.7 แสดงสวนประกอบของ SIP Response Messages 14 รปท 2.8 แสดงตวอยาง SIP Request Message 20 รปท 2.9 แสดงตวอยาง SIP Response Message 20 รปท 2.10 แสดงคณสมบต และสวนประกอบของ Elastix 21 รปท 2.11 ตวอยาง IP Softphone โปรแกรม 3cxPhone ทรองรบ SIP 22 รปท 3.1 แสดงขนตอนในการทาการทดลองของแตละชวง 24 รปท 3.2 แสดงสวนของการวเคราะหแพกเกจในการทดลองชวงท 1 และชวงท 2 26 รปท 3.3 แสดงโครงสรางจาลองระบบ VoIP ทจะทาการทดลองในชวงท 1 27 รปท 3.4 แสดงโครงสรางจาลองระบบ VoIP ทจะทาการทดลองในชวงท 2 28 รปท 4.1 แสดงหนาจอ Log in ของโปรแกรม Elastix 2.4.0 33 รปท 4.2 แสดงหนาจอของ Elastix เมอทาการ Log in เขามาแลว 33 รปท 4.3 แสดงหนาจอ PBX ของโปรแกรม Elastix 34 รปท 4.4 แสดงหนาจอกรอกขอมล Extension ของโปรแกรม Elastix 35 รปท 4.5 แสดงหนาจอทเพม Extension ของโปรแกรม Elastix 36 รปท 4.6 แสดงตวโปรแกรม SIP server สาเรจรป (.exe) ของ Lumisoft 37 รปท 4.7 แสดงหนาจอการตงคาเพอเพม Extension ของโปรแกรม Lumisoft 37 รปท 4.8 แสดงหนาจอการตงคารายละเอยด Extension 1000 ของโปรแกรม Lumisoft 38 รปท 4.9 แสดงหนาจอหลงจากตงคา Extension 1000 ของโปรแกรม Lumisoft เรยบรอยแลว 38 รปท 4.10 แสดงหนาจอการตงคารายละเอยด Extension 2000 ของโปรแกรม Lumisoft 39 รปท 4.11 แสดงหนาจอหลงจากตงคา Extension 2000 ของโปรแกรม Lumisoft เรยบรอยแลว 39 รปท 4.12 แสดงหนาจอหลงจากตงคา Extension ของโปรแกรม Lumisoft เรยบรอยแลว 40 และ start SIP server (Lumisoft) รปท 4.13 แสดงหนาจอหลงตดตงโปรแกรม 3CXPhone 41 รปท 4.14 แสดงหนาจอเพม Account ของโปรแกรม 3CXPhone 41 รปท 4.15 แสดงหนาจอกรอกขอมลในการสราง Account ของโปรแกรม 3CXPhone 42
VII
สารบญรป (ตอ) หนา
รปท 4.16 หนาจอแสดงสถานการณเชอมตอสาเรจ 42 รปท 4.17 แสดงตวอยางขณะทาการเชอมตอของโปรแกรม Express Talk 43 รปท 4.18 แสดงหนาจอไฟล Net.sln ท Path : SIP\Net Original\Net 44 รปท 4.19 แสดงหนาจอไฟล SIP_Proxy_demo.slnท Path:SIP\SIP_Proxy_demo Original 44 รปท 4.20 แสดงหนาจอโปรแกรม Microsoft Visual Studio 2013 ทเปดไฟล Net.sln 45 รปท 4.21 หนาจอโปรแกรม Microsoft Visual Studio 2013 ทเปดไฟล Net.sln 47 ขณะกด Build Solution รปท 4.22 แสดงหนาจอโปรแกรม Microsoft Visual Studio 2013 ทเปดไฟล 47 SIP_Proxy_demo.sln รปท 4.23 แสดงหนาจอโปรแกรม Microsoft Visual Studio 2013 ทเปดไฟล 48 SIP_Proxy_demo.sln ขณะกด Build Solution รปท 4.24 หนาจอในการเพม Extension เพอใชในการเชอมตอกบ Softphone 48 หลงจากกดปม Start รปท 4.25 แสดงหนาจอโปรแกรม 3CXPhone 49 รปท 4.26 แสดงหนาจอ Main Menu ของโปรแกรม 3CXPhone 50 รปท 4.27 แสดงหนาจอเพม Account ของโปรแกรม 3CXPhone 50 รปท 4.28 แสดงหนาจอกรอกขอมลในการสราง Account ของโปรแกรม 3CXPhone 51 รปท 4.29 แสดงหนาจอหลงจากสราง Account เรยบรอยแลวของโปรแกรม 3CXPhone 52 รปท 4.30 แสดงหนาการดกจบแพกเกจผานโปรแกรม Wireshark ของ 3CXPhone 53 โดยใชเครองแมขาย Elastix 2.4.0 รปท 4.31 แสดงการเชอมตอในรปแบบของ flow ระหวางเครองลกขาย 3CXPhone 54 และเครองแมขาย Elastix 2.4.0 รปท 4.32 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Register ของ 3CXPhone 54 รปท 4.33 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Invite ของ 3CXPhone 55 รปท 4.34 แสดงหนาการดกจบแพกเกจ ผานโปรแกรม Wireshark ของ Express Talk 55 โดยใชเครองแมขาย Elastix 2.4.0 รปท 4.35 แสดงการเชอมตอในรปแบบของ flow ระหวางเครองลกขาย Express Talk 56 และเครองแมขายElastix 2.4.0 รปท 4.36 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Register ของ Express Talk 56 รปท 4.37 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Invite ของ Express Talk 56 รปท 4.38 แสดงหนาการดกจบแพกเกจผานโปรแกรม Wireshark ของ 3CXPhone 61 โดยใชเครองแมขาย Lumisoft
VIII
สารบญรป (ตอ) หนา
รปท 4.39 แสดงการเชอมตอในรปแบบของ flow ระหวางเครองลกขาย 3CXPhone 62 และเครองแมขาย Lumisoft รปท 4.40 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Register ของ 3CXPhone 62 รปท 4.41 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Inviteของ 3CXPhone 63 รปท 4.42 แสดงหนาการดกจบแพกเกจ ผานโปรแกรม Wireshark ของ Express Talk 63 โดยใชเครองแมขาย Lumisoft รปท 4.43 แสดงการเชอมตอในรปแบบของ flow ระหวางเครองลกขาย Express Talk 64 และเครองแมขาย Lumisoft รปท 4.44 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Register ของ Express Talk 64 รปท 4.45 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Invite ของ Express Talk 64 รปท 4.46 แสดงหนาการดกจบแพกเกจ Options ผานโปรแกรม Wireshark ของ 3CXPhone 70 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.47 แสดงหนาการดกจบแพกเกจ Options ผานโปรแกรม Wireshark ของ 3CXPhone 71 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After invite รปท 4.48 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options ของ 3CXPhone 71 รปท 4.49 แสดงหนาการดกจบแพกเกจ 200OK ผานโปรแกรม Wireshark ของ 3CXPhone 72 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.50 แสดงหนาการดกจบแพกเกจ 200OK ผานโปรแกรม Wireshark ของ 3CXPhone 72 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After invite รปท 4.51 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK ของ 3CXPhone 73 รปท 4.52 แสดงหนาการดกจบแพกเกจ Options ผานโปรแกรม Wireshark ของExpress Talk 73 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.53 แสดงหนาการดกจบแพกเกจ Options ผานโปรแกรม Wireshark ของ Express Talk 74 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Invite รปท 4.54 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options ของ Express Talk 74 รปท 4.55 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet: SDP] 75 ผานโปรแกรม Wireshark ของ Express Talk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.56 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet: SDP] 76 ผานโปรแกรม Wireshark ของ Express Talk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Invite
IX
สารบญรป (ตอ) หนา
รปท 4.57 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK 76 [Malformed Packet: SDP] ของ Express Talk รปท 4.58 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยนเวอรชนของ SIP 77 ผานโปรแกรม Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.59 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยนเวอรชนของ SIP 78 ผานโปรแกรม Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After invite รปท 4.60 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 78 ทมการปรบเปลยนเวอรชนของ SIP ของ 3CXPhone รปท 4.61 แสดงหนาการดกจบแพกเกจ 200OK ผานโปรแกรม Wireshark ของ 3CXPhone 79 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.62 แสดงหนาการดกจบแพกเกจ 200OK ผานโปรแกรม Wireshark ของ 3CXPhone 79 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After invite รปท 4.63 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK ของ 3CXPhone 80 รปท 4.64 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยน IP address ของ Via 80 ผานโปรแกรม Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.65 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 81 ทมการปรบเปลยน IP address ของ Via ของ 3CXPhone รปท 4.66 แสดงหนาการดกจบแพกเกจ 200OK ผานโปรแกรม Wireshark ของ 3CXPhone 81 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.67 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK ของ 3CXPhone 81 รปท 4.68 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยนขนาดของ 82 Content-Length ใหผดปกต ผานโปรแกรม Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.69 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 82 ทมการปรบเปลยนขนาดของ Content-Length ใหผดปกต ของ 3CXPhone รปท 4.70 แสดงหนาการดกจบแพกเกจ 200OK ผานโปรแกรม Wireshark ของ 3CXPhone 83 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.71 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK ของ 3CXPhone 83
X
สารบญรป (ตอ) หนา
รปท 4.72 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยน Cseq ใหผดปกต 84 ผานโปรแกรม Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.73 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 84 ทมการปรบเปลยน Cseq ใหผดปกต ของ 3CXPhone รปท 4.74 แสดงหนาการดกจบแพกเกจ 400 Malformed Cseq header ผานโปรแกรม 85 Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.75 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 85 400 Malformed Cseq header ของ 3CXPhone รปท 4.76 แสดงหนาการดกจบแพกเกจ Options ทมการลบ Call-ID ทงบรรทด ผานโปรแกรม 86 Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.77 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options ทมการลบ 86 Call-ID ทงบรรทด ของ 3CXPhone รปท 4.78 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยน Transport Protocol 87 ผานโปรแกรม Wireshark ของ 3CXPhone โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.79 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options ทมการปรบเปลยน 87 Transport Protocol ของ 3CXPhone รปท 4.80 แสดงหนาการดกจบแพกเกจ 200OK ผานโปรแกรม Wireshark ของ 3CXPhone 88 โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.81 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK ของ 3CXPhone 88 รปท 4.82 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยนเวอรชนของ SIP 89 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.83 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 90 ทมการปรบเปลยนเวอรชนของ SIP ของ ExpressTalk รปท 4.84 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet : SDP] 90 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.85 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK 91 [Malformed Packet : SDP]ของ ExpressTalk
XI
สารบญรป (ตอ) หนา
รปท 4.86 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยน IP address 91 ของ Via ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.87 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 92 ทมการปรบเปลยน IP address ของ Via ของ ExpressTalk รปท 4.88 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet : SDP] 92 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.89 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK 93 [Malformed Packet : SDP] ของ ExpressTalk รปท 4.90 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยนขนาดของ 93 Content-Length ใหผดปกต ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.91 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 94 ทมการปรบเปลยนขนาดของ Content-Length ใหผดปกต ของ ExpressTalk รปท 4.92 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet : SDP] 94 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.93 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK 95 [Malformed Packet : SDP] ของ ExpressTalk รปท 4.94 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยน Cseq ใหผดปกต 95 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.95 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 96 ทมการปรบเปลยน Cseq ใหผดปกต ของ ExpressTalk รปท 4.96 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet : SIP] 96 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.97 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK 97 [Malformed Packet : SIP] ของ ExpressTalk
XII
สารบญรป (ตอ) หนา
รปท 4.98 แสดงหนาการดกจบแพกเกจ Options ทมการลบ Call-ID ทงบรรทด 97 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.99 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 98 ทมการลบ Call-ID ทงบรรทด ของ ExpressTalk รปท 4.100 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet : SDP] 98 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.101 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK 99 [Malformed Packet : SDP] ของ ExpressTalk รปท 4.102 แสดงหนาการดกจบแพกเกจ Options ทมการปรบเปลยน Transport Protocol 99 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.103 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ Options 100 ทมการปรบเปลยน Transport Protocol ของ ExpressTalk รปท 4.104 แสดงหนาการดกจบแพกเกจ 200OK [Malformed Packet : SDP] 100 ผานโปรแกรม Wireshark ของ ExpressTalk โดยใชเครองแมขาย Lumisoft ในขนตอนของ After Regist รปท 4.105 แสดงรายละเอยดสวนของ SIP Message ในแพกเกจ 200OK 101 [Malformed Packet : SDP] ของ ExpressTalk รปท ก-1 หนาจอแสดงการตดตงโปรแกรม Elastix 109 รปท ก-2 หนาจอแสดงการโหลดตวตดตงโปรแกรม Elastix 109 รปท ก-3 หนาจอแสดงภาษาทจะตดตง 110 รปท ก-4 หนาจอแสดงภาษาคยบอรด 110 รปท ก-5 หนาจอแสดงการสรางพารทช น (Partition) 111 รปท ก-6 หนาจอแสดงรปแบบพารทช น (Partition) 111 รปท ก-7 หนาจอแสดงเตอนวาพารทช น (Partition) จะถกลบหมด 112 รปท ก-8 หนาจอแสดงวาตองการดหรอแกไขพารทช น (Partition) 112 รปท ก-9 หนาจอแสดงความตองการตงคาอนเทอเฟส (Interface) ของเครอขาย 113 รปท ก-10 หนาจอแสดงทางเลอกการตงคาอนเทอเฟส (Interface) ของเครอขาย 113 รปท ก-11 หนาจอแสดงการตงคา IP และ Subnet ของอนเทอเฟส (Interface) ของเครอขาย 114 รปท ก-12 หนาจอแสดงการตงคา Gateway และ DNS ของอนเทอเฟส (Interface) ของเครอขาย 114
XIII
สารบญรป (ตอ) หนา
รปท ก-13 หนาจอแสดงการตงชอเครอง 115 รปท ก-14 หนาจอแสดงการตงคา Time zone 115 รปท ก-15 หนาจอแสดงการตงคาพาสเวรดของ Root 116 รปท ก-16 หนาจอแสดงขนตอนการตดตง 116 รปท ก-17 หนาจอแสดงขนตอนการตดตง 117 รปท ก-18 หนาจอแสดงขนตอนการบทเครองใหมอตโนมต 117 รปท ก-19 หนาจอแสดงการบทโปรแกรม Elastix 118 รปท ก-20 หนาจอแสดงการตรวจสอบคาตางๆ 118 รปท ก-21 หนาจอแสดงการตงคาพาสเวรดของ MySQL 119 รปท ก-22 หนาจอแสดงการยนยนการตงคาพาสเวรดของ MySQL 119 รปท ก-23 หนาจอแสดงการตงคาพาสเวรดของหนา Web Interface 120 รปท ก-24 หนาจอแสดงการยนยนการตงคาพาสเวรดของหนา Web Interface 120 รปท ก-25 หนาจอแสดงหนาลอกอน (Login) 121 รปท ก-26 หนาจอแสดงการเรมตดตงโปรแกรม 3CXphone 122 รปท ก-27 หนาจอแสดงการเรมตดตงโปรแกรม 3CXphone 122 รปท ก-28 หนาจอแสดงเงอนไขในการตดตงโปรแกรม 3CXphone 123 รปท ก-29 หนาจอแสดงตาแหนงในการตดตงโปรแกรม 3CXphone 123 รปท ก-30 หนาจอแสดงการยนยนกอนการตดตงโปรแกรม 3CXphone 124 รปท ก-31 หนาจอแสดงการตดตงโปรแกรม 3CXphone 124 รปท ก-32 หนาจอแสดงการตดตงโปรแกรม 3CXphone เสรจสมบรณ 125
XIV
สารบญตาราง
หนา ตารางท 2.1 แสดงหนาทของ Method แตละประเภท 13 ตารางท 2.2 แสดง Status Code ของ SIP Response Message 15 ตารางท 2.2 แสดง Status Code ของ SIP Response Message (ตอ) 16 ตารางท 2.2 แสดง Status Code ของ SIP Response Message (ตอ) 17 ตารางท 2.3 แสดง Header ประเภทตางๆ ใน SIP 18 ตารางท 2.4 แสดงชนดฟลดและความหมายของ SDP 19 ตารางท 4.1 อธบายตว code ทมการปรบเปลยนแตละครงในการทดลอง 46 ตารางท 4.2 แสดง Header จากผลการทดลองของแตละ Softphone 57 ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Register) ไปยงเครองแมขาย Elastix 2.4.0 เพอทาการขอ Register ตารางท 4.3 แสดง Header จากผลการทดลองของแตละ Softphone 57 ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Invite) ไปยงเครองแมขาย Elastix 2.4.0 เพอทาการขอตดตอกบเครองปลายทาง(Ext.2000) ตารางท 4.4 แสดง Header จากผลการทดลองของแตละ Softphone 58 ขณะทเครองแมขาย Elastix 2.4.0 ไดรบ Request message (Invite) จากเครองตนทาง (Ext.1000) และไดมการสง Response message (Trying) ไปยงเครองตนทาง (Ext.1000) เพอทาการยนยนวาไดรบคารองขอแลว ตารางท 4.5 แสดง Header จากผลการทดลองของแตละ Softphone 58 ขณะทเครองแมขาย Elastix 2.4.0 ไดมการสง Response message (Ringing) ไปยงเครองตนทาง (Ext.1000) เพอแจงใหทราบสถานะทกาลงดาเนนการ ตารางท 4.6 แสดง Header จากผลการทดลองของแตละ Softphone 59 ขณะทเครองแมขาย Elastix 2.4.0 ไดมการสง Response message (200 OK) ไปยงเครองตนทาง (Ext.1000) ซงเปน message ทถกสงมาจากเครองปลายทาง (Ext.2000) วาไดดาเนนการเรยบรอยแลว ตารางท 4.7 แสดง Header จากผลการทดลองของแตละ Softphone 59 ขณะทเครองตนทาง (Ext.1000) ไดรบ Response message (200 OK) จากเครองแมขาย Elastix 2.4.0 และไดมการสง Request message (Ack) กลบไปยงเครองแมขาย Elastix 2.4.0 เพอทาการยนยนวาไดรบขอความท server สงมาเรยบรอยแลว ตารางท 4.8 แสดง Header จากผลการทดลองของแตละ Softphone 60 ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Bye) ไปยงเครองแมขาย Elastix 2.4.0 เพอทาการขอยกเลกการตดตอ
XV
สารบญตาราง (ตอ) หนา
ตารางท 4.9 แสดง Header จากผลการทดลองของแตละ Softphone 65 ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Register) ไปยงเครองแมขาย Lumisoft เพอทาการขอ Register ตารางท 4.10 แสดง Header จากผลการทดลองของแตละ Softphone 66 ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Invite) ไปยงเครองแมขาย Lumisoft เพอทาการขอตดตอกบเครองปลายทาง (Ext.2000) ตารางท 4.11 แสดง Header จากผลการทดลองของแตละ Softphone 66 ขณะทเครองแมขาย Lumisoft ไดรบ Request message (Invite) จากเครองตนทาง (Ext.1000) และไดมการสง Response message (Trying) ไปยงเครองตนทาง (Ext.1000) เพอทาการยนยนวาไดรบคารองขอแลว ตารางท 4.12 แสดง Header จากผลการทดลองของแตละ Softphone 67 ขณะทเครองแมขาย Lumisoft ไดมการสง Response message (Ringing) ไปยงเครองตนทาง (Ext.1000) เพอแจงใหทราบสถานะทกาลงดาเนนการ ตารางท 4.13 แสดง Header จากผลการทดลองของแตละ Softphone 67 ขณะทเครองแมขาย Lumisoft ไดมการสง Response message (200 OK) ไปยงเครองตนทาง (Ext.1000) ซงเปน message ทถกสงมาจาก เครองปลายทาง (Ext.2000) วาไดดาเนนการเรยบรอยแลว ตารางท 4.14 แสดง Header จากผลการทดลองของแตละ Softphone 68 ขณะทเครองตนทาง (Ext.1000) ไดรบ Response message (200 OK) จากเครองแมขาย Lumisoft และไดมการสง Request message (Ack) กลบไปยงเครองแมขาย Lumisoft เพอทาการยนยนวาไดรบขอความท server สงมาเรยบรอย ตารางท 4.15 แสดง Header จากผลการทดลองของแตละ Softphone 69 ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Bye) ไปยงเครองแมขาย Lumisoft เพอทาการขอยกเลกการตดตอ ตารางท 4.16 แสดงผลการตอบกลบในสวนของ Status code จากการสง 102 OPTIONS message ทงในรปแบบปกต (Standard-Compliant Option) และรปแบบทมการปรบเปลยนแกไข (Non-Compliant Option) ของ Softphone ทง 7 ตว
XVI
สารบญตาราง (ตอ) หนา
ตารางท 4.16 แสดงผลการตอบกลบในสวนของ Status code จากการสง 103 OPTIONS message ทงในรปแบบปกต (Standard-Compliant Option) และรปแบบทมการปรบเปลยนแกไข (Non-Compliant Option) ของ Softphone ทง 7 ตว (ตอ) ตารางท 4.17 แสดงผลการตอบกลบในสวนของ Allow field 104 ทไดรบการตอบกลบจาก OPTIONS message รปแบบปกต (Standard-Compliant Option) ของ Softphone ทง 7 ตว
1
บทท 1 บทนา
1.1 ปญหาและแรงจงใจ ปจจบนเทคโนโลย VoIP ไดถกนามาใชในระบบเครอขายอยางกวางขวาง และไดรบความนยมคอนขางมาก โดยเฉพาะองคกรขนาดกลางไปจนถงองคกรขนาดใหญ เนองจากเปนเทคโนโลยทมประโยชนและสามารถใชไดกบระบบเครอขาย ซงแตละองคกรมระบบเครอขายอยแลว การนาเทคโนโลย VoIP มาใช จงชวยประหยดคาใชจายทางดานการตดตอสอสารใหกบองคกร และเพมคณคาจากทรพยากรเครอขายทมอย เนองจากความนยมของเทคโนโลย VoIP จงทาใหปจจบนมผนาเทคโนโลยทางดาน VoIP มาใชเปนเครองมอในการสงขอมลทอาจเปนการรบกวน หรอกอใหเกดผลรายตอบคคลอนไดในหลากหลายชองทาง ยกตวอยางเชน การสงสอโฆษณา หรอใชเปนสอกลางในการหลอกลวงโดยผานทางโทรศพท เปนตน จากขอมลดงกลาวจงมความสนใจในการศกษาขอมลทางดานนเพมเตม เพอหารปแบบการทางานหรอการโตตอบภายใน sip protocol ของแตละ softphone ซงขอมลดานนอาจชวยใหสามารถนาไปประยกต เพอทจะชวยตอบโจทยในการรกษาความปลอดภย หรอหาแนวทางในการปองกนภยคกคามไดระดบหนงในอนาคต และชวยใหเราสามารถคาดเดาหรอระบประเภทของ softphone ทใชงาน VoIP อย และอาจใชเปนแนวทางในการศกษาทางดาน Forensic หรอเปนประโยชนในภายภาคหนาได ดงนนผลของการศกษาจงอาจเปนแนวทางและเปนประเดนทนาสนใจ 1.2 โครงงานทนาเสนอ สารนพนธฉบบนไดนาเสนอการศกษาวเคราะหรปแบบการทางานหรอการโตตอบภายใน SIP protocol ของแตละ softphone โดยมการจาลองการทดลอง เพอดกจบขอมลทอยภายใน SIP protocol การศกษานจะใชการสม Software ทมการเปดใหดาวนโหลดทวไปมาทาการทดลอง เราจะใช softphone ทงหมด 7 ตว และSIP server 2 ตว เพอนาผลทไดมาวเคราะหและเปรยบเทยบกน โดยขอมลทนามาวเคราะหจะใชหลกการของ sniffer ในการดกจบขอมลทมการรบสงขอมลระหวางการตดตอสอสารกน รปแบบของการทดลองจะมอย 2 รปแบบ 1.) Passive เปนการดกจบขอมลทมการโตตอบแบบปกต โดยเชอมตอ softphone กบเครองแมขาย และทาการตดตอสอสารแบบปกต 2.) Active เปนการดกจบขอมลทมการโตตอบแบบพเศษ โดยเราเปนผสรางรปแบบของขอความทใชในการทดลองเอง โดยการเพม code เขาไปท sourcecode ของเครองแมขายทกาลงถกพฒนาอย
2
รปท 1.1 แสดงโครงสรางเครอขายในการทดลองเบองตน
1.3 จดประสงคของโครงงาน - เพอศกษาหลกการทางานของ VoIP และวเคราะหรปแบบการทางานหรอการโตตอบภายใน sip protocol ของแตละ softphone - เพอชวยในการระบประเภทหรอหารปแบบเฉพาะของ softphone ทมการตดตอหรอใชงาน VoIP อย - เพอเปนกรณศกษาโดยสามารถนาไปใชเปนขอมลหรอนาไปประยกต เพอเปนประโยชนทางดานตางๆ เชน บรหารจดการการเชอมตอ ,ลดปญหาเกยวกบ SPIT ,การวเคราะหหลกฐานทางดาน Forensic ,หาแนวทางในการปองกนภยคกคามทางดาน VoIP เปนตน 1.4 ขอบเขตโครงงาน - ศกษาและเขาใจหลกการทางานของ VoIP และ SIP protocol - ศกษางานวจยและบทความทางวชาการทเกยวของ - ศกษาระบบปฏบตการ Linux และการตดตง Asterisk server - ศกษาการใชงานโปรแกรม Softphone ,Wireshark ,Microsoft Visual Studio 2013 และ VMware - ศกษาการเขยน script หรอการเขยน programming - สามารถออกแบบและจาลองการทดลอง เพอดกจบขอมลและนามาวเคราะหได
3
- สามารถดกจบการโตตอบภายใน SIP protocol จากการทดลองแบบ passive - สามารถสรางชดขอมลภายใน SIP protocol เพอทาการทดลองแบบ active - สามารถดกจบการโตตอบภายใน SIP protocol จากการทดลองแบบ active - สามารถนาขอมลมาวเคราะหเปรยบเทยบและสรปผลได 1.5 โครงสรางสารนพนธ สารนพนธนไดแบงเนอหาออกเปน 5 บท โดยมรายละเอยดในแตละบทดงน บทท 2 : พนฐานและทฤษฎทเกยวของกบการทดลอง รวมถงหลกการและขนตอนการทางานของ SIP protocol บทท 3 : ขนตอนการดาเนนงาน และการออกแบบการทดลอง โดยมการแบงการทดลองออกเปน 2 ชวง คอ ชวงท 1 Passive และชวงท 2 Active บทท 4 : การทดลองและผลการทดลอง ซงมการอธบายรายละเอยดของขนตอนการทดลองในแตละชวง อปกรณ ซอฟแวร และการตงคาระบบเพอทาการทดลอง รวมทง ผลการทดลองในแตละชวง บทท 5 : สรปผลการทดลอง ประโยชนทคาดวาจะไดรบจากการทดลอง รวมถงปญหาและขอเสนอแนะเพมเตม
4
บทท 2 พนฐานและทฤษฎทเกยวของ
2.1 SIP (Session Initiation Protocol) Session Initiation Protocol หรอ SIP เปนโพรโทคอลทใชในการสอสารทางดานมลตมเดย เชน การสงขอมลเสยงหรอวดโอบนเครอขาย IP โพรโทคอลนสามารถนาไปปรบใชและพฒนาได เนองจากมความสามารถในการสราง (create) , ปรบ (modify) และ ยกเลก (terminate) การตดตอสอสารระหวางโหนดทเปนแบบหนงตอหนง (unicast) หรอแบบกลม (multicast) ได และสามารถทจะปรบเปลยนสวนประกอบของ session ได เชน session bandwidth demand ,ประเภทของ media (voice ,video ,data) ,รปแบบของการเขารหส/ถอดรหส รวมถงทอย (address), หมายเลขพอรต, เพมสายผสนทนา เพม/ลดการสงขอมลมเดย (media stream) บางประเภทได ตวอยางของโปรแกรมประยกต (application) ทอาศย SIP ในการเชอมตอ เชน การประชมดวยวดโอ (video conferencing), การกระจายขอมลภาพและเสยง (streaming multimedia distribution), การสงขอความดวน (instant messaging), การสงไฟล (file transfer) และ เกมสออนไลน เปนตน SIP ไดถกออกแบบตงแตป ค.ศ. 1996 โดย Henning Schulzrinne และ Mark Handly เวอรชนลาสดไดถกประกาศใน RFC 3261 [1] โดย IETF Network Working Group และ SIP ไดถกใชเปนสวนหนงของระบบ IP Multimedia Subsystem (IMS) ของ 3GPP ซงเปนมาตรฐานการสงสญญาณมลตมเดยแบบ IP-based บนระบบ โทรศพทเคลอนท (cellular) ในป ค.ศ. 2000 และยง ถกออกแบบใหทางานอยบนชน Application Layer โดยไมไดคานงถงชนดของ Transport Layer ทใชในการสงขอมล คอสามารถรบสงไดทง Transmission Control Protocol (TCP), User Datagram Protocol (UDP), และ Stream Control Transmission Protocol (SCTP) ซงแสดงใน Protocol Stack ของ IP Telephony ดงรปท 2.1 SIP มการสงขอมลในลกษณะ text-based ซงคลายลกษณะการทางานของ Hypertext Transfer Protocol (HTTP) และ Simple Mail Transfer Protocol (SMTP) สวนทมความคลายกบ HTTP คอ สวนของการรองขอ (request) และการตอบรบ (response) ระหวางเครองลกขาย (client) ทเปนผเรมตนการเชอมตอ โดยสงการรองขอ (request) การทางานมายงเครองแมขาย (SIP server) และ SIP ยงมการใชขอมลสวนหว (Header) , กฎการเขารหส (encoding) และหมายเลขสถานะ (status codes) เหมอนกบ HTTP SIP จะทางานรวมกบโพรโทคอลอนๆ ในการสงสญญาณมเดย โดยจะถกใชเปนตวเรมตนการสอสาร (communication session) ซงเครองลกขาย (client) จะใช TCP หรอ UDP พอรตหมายเลข 5060 หรอ 5061 ในการเชอมตอกบเครองแมขาย (SIP server) หรอ SIP
endpoint โดsignaling traจะทางานรวทาหนาทตดประยกตหลานอกจากนยงtime TranspความปลอดภDescription ทาขอตกลง โพรโทคอล, ขอมลของ S
SIP and call sswitched teproxy serveเชน การสงหการเชอมตอความสามารกนมาก เพร
ดยพอรตหมาaffic) สวนพมกบ Transpตอหรอยกเลายชนด เชน งมเอกสารหลport Protocoภยโดยใช S Protocol (S(negotiate)
การเขารหสSIP packet b
รปทมา : http:/
ถกออกแบบsetup protoclephone neter และ useหมายเลข (di (ring bacรถพเศษใหกบราะ SS7 เป
ายเลข 5060อรตหมายเลport Layer Sลกการสงสญญ โปรแกรม inลากหลายฉบol (RTP) ใชใSecure ReaSDP) จะถกใ รปแบบตวแสสญญาณมเดbody อกท
ปท 2.1 แสดง//www.necte
บเพอใชเปนมcol) บนเครtwork (PSTNer agents ialing a numck) และการบโพรโทคอล ปนโพรโทคอล
0 จะใชในกาข 5061 จะใ
Security (TLญาณเสยงหรnstant messบบทเกยวของในการสง meal-time Traใชรวมกบ Sแปรทใชในกาดย (codec)
ง Protocol Stec.or.th/NTJ/
มาตรฐานในกรอขายแบบ N) ทมอยเดมเพอใหมลกษ
mber), การสงรสงสญญาณส Signaling Sลททางานอย
ารสงสญญาณใชในกรณทมLS) เพอปองกรอภาพวดโอ saging ทสามงกบ SIP ซงedia streamansport ProIP สาหรบกาารเชอมตอขอ) โดยขอมลข
tack ของ IP /pdf/NTJ_ma
การเรมตนกาIP-based แมได และ มกษณะคลายกบงสญญาณกรสายไมวาง System 7 (Sยบนแกนกลา
ณแบบไมเขารมการสงสญญกนการดกฟง ซงถกมารถสงภาพงถกประกาศโ พวกเสยงแotocol (SRารระบตวตน อมลมเดย เชของ SDP เ
Telephony arch_june_2
ารสงสญญาณและสามารถทการอางองถงกบการทางานขระดง (ringing(busy toneSS7) ได ถงงของระบบเค
รหส (non-eญาณแบบเขารงจากผโจมตอกนาไปใชในโพและเสยงพรโดย IETF เชและวดโอ และRTP) สวน น (identificatชน หมายเลขเหลานจะถกส
2001.pdf
ณโทรศพท (sทางานรวมกบการเชอมตอกของโทรศพทg), การสงสญe) SIP สามงแมจะทางานครอขายทเช
5
ncrypted รหส และอกท และโปรแกรมรอมกนได ชน Real-ะอาจเพมSession ion) และขพอรต , สงภายใต
signaling บ public กนระวาง มากทสด ญญาณรอมารถเพมนแตกตางอมตอกบ
6
เครองลกขายจานวนมาก ซงจะแตกตางกบ SIP ทเปนโพรโทคอลททางานแบบ peer-to-peer มการทางานระหวาง endpoint กบ endpoint และ SIP ยงเปนทนยมในการสอสารแบบ IP community มากกวา telecommunications industry แตกยงมโพรโทคอล H.323 ของ International Telecommunication Union (ITU) ททางานลกษณะเดยวกน แตใชงานไดบน TCP เทานน 2.1.1 สวนประกอบเครอขาย SIP
User Agent (UA) คอ แอปพลเคชนททาหนาทสงและรบ SIP messages และจดการ session ของการเชอมตอ โดย User Agent (UA) สามารถแบงออกเปน User Agent Client (UAC) และ User Agent Server (UAS) - User Agent Client (UAC) คอไคลเอนตหรอเครองลกขายทสง SIP request ไปยง User Agent Server (UAS) - User Agent Server (UAS) คอเครองแมขายทรบ request และสง response กลบไปหาไคลเอนตหรอเครองลกขาย โดยปกต User Agent สามารถทาหนาทเปน UAC หรอ UAS สลบกนได ขนอยกบ session นนวาทาอะไร [2]
Network Servers แบงออกเปน 2 ชนด 1. Proxy server ม 2 แบบคอ Stateful และ Stateless 1.1 Stateful ลกษณะการทางานจะมการเกบขอมลเกยวกบ SIP message ทมการสงตอเอาไว คอมการจดจา session การรองขอของแตละไคลเอนตทกาลงรอการตอบกลบ และใชขอมลนนชวยในกระบวนการสง message ดวย เชน มการจบเวลาในการสงขอความ request ไว ถาหมดชวงเวลานนแลวยงไมมการตอบกลบ proxy กจะทาการสง request ไปใหมใหอกครง และจะไมทาการสงตอการรองขอซาทมาจาก session เดม 1.2 Stateless ลกษณะการทางานจะสนใจแตตว SIP Message ทสงมา จะทากระบวนการสงตอ โดยไมมการเกบขอมลของตว message ททาการสง คอจะไมมการเกบ session ดงนนการรองขอซาจะถกสงตอไปยงปลายทางทกครงเพราะ Stateless จะไมมการจดจาวาเคยสงไปแลวหรอยง และไมมการ retransmit ตว message ใหม เนองจากไมมการใช SIP timer ทงสองแบบทกลาวมา จะทาหนาเปนทง UAC และ UAS ททาหนาทรบและสงตอ SIP Message ของไคลเอนตไปยงเครองแมขายอนๆ โดย Proxy server จะสงขอมลในนามของไคลเอนต แตจะมการเปลยนแปลงขอมลผสงใน SIP Header จากทอยของ
7
ไคลเอนตเปนทอยของ Proxy server แทน และเครองแมขายปลายทางจะตดตอกบไคลเอนตผาน Proxy server อกทหนง 2. Redirect server จะทาหนาทรบ SIP request จากไคลเอนต จากนนจะสงผลลพธเปนทอยของเครองแมขายถดไปไปยงเครองไคลเอนต โดยท Redirect server จะไมมการสงตอขอมล SIP messages ไปยงเครองแมขายอนๆเหมอน Proxy server
การกาหนดทอยของผรบและผสง (Addressing) SIP จะระบทอยของผรบและผสงในรปแบบของ SIP URLs (SIP Universal Resource Locators) โดยจะอยในรปแบบ sip:username@Location ตวอยางเชน sip:[email protected], sip:[email protected] เปนตน
Gateway ทาหนาทในการแปลงสญญาณและขอมลสอประสมระหวางระบบเครอขายทแตกตางกน เชน public switched telephone network (PSTN) ซงใชโพรโทคอล หรอ เทคโนโลยทตางกน
8
ตวอยาง SIP's Call flow ตวอยางการเชอมตอแบบ Point to Point (Direct Line) ดงรปท 2.2
Jenny Jack
End-device End-Device 1. INVITE
-----------------------------------> 2. 180 Ringing
<----------------------------------- 3. 200 OK
<----------------------------------- 4. ACK
-----------------------------------> RTP Media
<=====================> 5. BYE
<----------------------------------- 6. 200 OK
----------------------------------->
รปท 2.2 แสดงการสง SIP Message ในการเชอมตอแบบ Point to Point
9
ตวอยางการเชอมตอแบบผาน Proxy server มการโทรออกจาก Jenny 's Soft phone ไปยง Jacky 's Softphone โดยท Jenny 's Soft phone สงขอมลผาน Proxy server ทชอ site-x.com และ Jacky 's Softphone สงขอมลผาน Proxy server ทชอ site-y.com ดงรปท 2.3
Jenny's ..................................................................... Jacky's Softphone Softphone site-x.com..................site-y.com proxy proxy Jenny 1. INVITE เรมตนโทรออก --------------------> 2. INVITE 3. 100 Trying --------------------> 4. INVITE <----------------- 5. 100 Trying --------------------> <-------------------- 6. 180 Ringing Jacky 7. 180 Ringing <---------------------- ไดยนสญญาณ Jenny โทรเขา ไดยน Ringback 8. 180 Ringing <----------------------- 9. 200 OK tone <----------------- 10. 200 OK <--------------------- Jacky รบสาย 11. 200 OK <--------------------- <----------------- 12. ACK ------------------------------------------------------------------------> RTP Media Session เรมตนสนทนา <========================================> เรมตนสนทนา 13. BYE <------------------------------------------------------------------------- Jacky วางห 14. 200 OK Jenny วางห ------------------------------------------------------------------------->
รปท 2.3 แสดงการสง SIP Message ในการเชอมตอแบบผาน Proxy server
10
2.1.2 ขนตอนการเกด SIP Message
SIP Message(Request: Register ,Invite ,Ack)
(Response: Status code:200 OK)
SIP Message(Request: Bye)
(Response: Status code:200 OK)
SIP Message(SDP)
RTP/UDP
รปท 2.4 แสดงขนตอนการเกด SIP Message ในการทาการเชอมตอ จากดงรปท 2.4 ไดแสดงขนตอนการเกด SIP Message โดยสามารถอธบายไดดงน 1.) ขนตอนการรองขอการเชอมตอ ในขนตอนนจะมการสง SIP message ซงเรยกวา SIP request โดยจะทาการ register ไปยงเครองแมขายกอน แลวจงสง INVITE เพอรองขอการเชอมตอ จากนนเครองลกขายปลายทางจะสง SIP response กลบมาเปน status code : 200 OK จากนนเครองลกขายตนทางกจะทาการสง ACK กลบไปเพอยนยน 2.) ขนตอน Media & Channel Control จะเปนการตกลงหรอทาการระบขอตกลงตางๆ ทตองใชในการสงขอมลเสยง ไดแก มาตรฐานการบบอดขอมลเสยง, หมายเลข IP Address และหมายเลขพอรต (Port) เปนตน โดยจะนา SDP (Session Description Protocol) มาชวย โดยจะถกใชกอนการทา Media & Channel Control จากนนจะมการสง Invite message พรอมกบ session description ไปพรอมกน 3.) ขนตอนการสง Media Stream ในขนตอนนจะใช Real-Time Transport Protocol (RTP), User Datagram Protocol (UDP) ในการสงขอมลเสยง ขนตอนนไมไดอยใน SIP Message
11
4.) ขนตอนการวางสาย เปนขนตอนการสงสญญาณระหวางผรองขอการตดตอ และผถกรองขอการตดตอในการทาการยกเลกการตดตอ โดยจะสง SIP request ประเภท Bye เพอสงสญญาณในการสนสดการตดตอ และเครองลกขายปลายทางจะตอบ SIP response : 200 OK กลบมา จากนนชองทางของสญญาณทสรางขนทงหมดจะถกปด
SIP Proxysip:proxy.y.com
INVITE sip:[email protected] SIP/2.0From: sip:[email protected]: sip:[email protected]
INVITE sip:[email protected] SIP/2.0From: sip:[email protected]: sip:[email protected]
SIP/2.0 200 OKFrom: sip:[email protected]: sip:[email protected]
SIP/2.0 200 OKFrom: sip:[email protected]: sip:[email protected]
ACK sip:[email protected] SIP/2.0
From: sip:[email protected]: sip:[email protected]
Media
SIP SoftphoneUser : jenny
SIP SoftphoneUser : jacky
ACK sip:[email protected] SIP/2.0
From: sip:[email protected]: sip:[email protected]
BYE sip:[email protected] SIP/2.0
From: sip:[email protected]: sip:[email protected]
BYE sip:[email protected] SIP/2.0
From: sip:[email protected]: sip:[email protected]
SIP/2.0 200 OKFrom: sip:[email protected]: sip:[email protected]
SIP/2.0 200 OKFrom: sip:[email protected]: sip:[email protected]
รปท 2.5 แสดงตวอยางรายละเอยดขนตอนการสราง session ของ sip message ทมา : http://ants.iis.sinica.edu.tw/3bkmj9ltewxtsrrvnoknfdxrm3zfwrr/15/vsw06-incorporating%20active%20fingerprinting%20into%20SPIT%20prevention.pdf
ในการสราง session ดงรปท 2.5 เมอ SIP Proxy ไดรบ SIP Message จาก user agent ตนทางแลว จะทาการหาทอยของปลายทาง และหาเสนทางของปลายทางนน อาจมการทาการ authentication และ authorizationตามทปลายทางตงคาไว แลวจงสงตอ SIP Message นน ไปยง user agent ปลายทางตอ โดยจะทาหนาทเปนเหมอนตวสงตอในชนของApplication layer และตว Registration server จะทาการบนทก ทอย เสนทาง และเบอรของปลายทางไว ซงคลายกบ Router ทจะทาการสงตอ IP packet ไปในชนของ IP layer เหมอนกน
12
2.1.3 SIP Messages โครงสรางของ SIP Message โดยทวไป generic-message = start-line message-header field CRLF [message-body] ตามมาตรฐาน SIP สามารถแบงขอความทสงไดเปน SIP Request Message และ SIP Response Message 1.) SIP Request Messages เปนสญญาณทใชเพอทาการรองขอ ซงประกอบดวย Request Line, Message Header, Empty Line และ Message Body ดงรปท 2.6
รปท 2.6 แสดงถงสวนประกอบของ SIP Request Messages
จาก SIP Request Method ดงกลาว จะม Request-URI ทแสดงถงเปาหมาย URL ของ Request น ซง URI Syntax จะประกอบดวย ";", ":", "@", "?", และ "/" ตวอยางเชน <Method>@<Host>:<Port><SIP Version> ดงนน Sip Request Message ทถกสงออกไปจะเปน ดงน
Method space Request-URI space SIP Version CRLF
SIP-Version คอ เวอรชนของ SIP ทใชในการควบคม session นน จะตองใสทกครง เพอจะไดตรวจสอบวาผสงและผรบใชเวอรชนเดยวกนอย และหากผสงและผรบใชตางเวอรชนกนกจะไมสามารถสอสารกนได Request-URI (Uniform-Resource-Identifier) เปน SIP URL ใชในการระบผสงขอความรองขอ Method คอ ชนดของการรองขอ ซงแบงไดเปนหลายประเภท
13
ตารางท 2.1 แสดงหนาทของ Method แตละประเภท Method Type Task
Invite
เปนสญญาณทเฉพาะเจาะจงถง ผทตองการเชญใหเขารวมการสนทนา ผรองขอการตดตอจะบอกรายละเอยด เชน ชนดของมลตมเดยทเฉพาะเจาะจงทตนเองมความสามารถรองรบได พรอมทง Address และพอรตทจะใช สวนของ Message Body จะมการอธบาย session ใหกบผถกเรยก
ACK
เปนการยนยนวา Client ไดรบขอความท Server สงมาใหแลว โดยจะใชควบคกบคาสง INVITE รหส 2xx จะเปนรหสทตอบกลบมาเพอให Client ยนยนวาไดรบแลว มการอธบาย session ลาสดใหกบผถกเรยกไดนาขอมลไปใช
BYE
เปนคาสงเพอขอจบการตดตอระหวางกน ซงคาสงสามารถใชไดทงผทรองขอการตดตอและผทถกรองขอการตดตอ ซงถาฝายไหนเปนฝายใชคาสง BYE กอน อกฝายกจะตองตอบกลบเพอยนยนวาไดรบขอความ เพอขอจบการตดตอ
CANCEL ใชเพอยกเลก Request ทกาลงกระทาอย แตจะไมมผลตอ Request ทเสรจสนแลว หรอRequest ทไดทาไปแลว หรอ Response ทไดสงตอบกลบมา
REGISTER Client ใชเพอทาการลงทะเบยนตาแหนง (Address) ททารายการไวใน Header Field ใน SIP Server
OPTIONS
เปนคาสงเพอทจะทาการสอบถามขอมลความสามารถของผทตองการจะใหเขารวมสนทนา แตไมใชเปนการ INVITE โดยผทรบคาสงนจะทาการตอบกลบมาและอธบายถงความสามารถของตนวาสามารถทางานอะไรไดบาง (เซรฟเวอร จะถก Query ตามความสามารถของเซรฟเวอร)
PRACK (Provisional acknowledgement)
ใชเพอเพมความนาเชอถอในการตอบกลบของ SIP
SUBSCRIBE ใชเพอรบทราบการแจงเตอนเหตการณตางๆซงถกสงมาจากตวแจงเตอน NOTIFY เพอแจงเตอนใหทราบวามเหตการณใหมๆ เกดขน PUBLISH ใชเพอแจงเหตการณตางๆ ไปยง Server
INFO ใชเพอสง mid-session information แตไมไดเปนการดดแปลงแกไขสถานะของ Session
REFER ใชเพอขอใหผรบยอมรบ SIP Request เชน การโอนสาย MESSAGE ใชเพอรบสงขอความโดยใช SIP UPDATE ใชเพอดดแปลงสถานะของ Session โดยไมไดเปลยนสถานะของ Dialog
14
2.) SIP Response Messages เปนสญญาณทใชเพอตอบสนองตอ Request Message ทไดรบมา ดงรปท 2.7
รปท 2.7 แสดงสวนประกอบของ SIP Response Messages
Response Line ประกอบดวย SIP-Version, Status-Code และ Reason-Phase จากนนจะเปนสวนของ Message Header และ Message Body รปแบบขอความของ Response Line เปนดงน
SIP-Version space Status-Code space Reason-Phase CRLF Reason-Phase จะอธบาย Status-Code (Response-Code) โดยใชคาอธบายสนๆ ซงอาจจะไมใสกได สวนของ Status-Code นนจะเปนตวเลข 3 หลก ซงแสดงถงผลลพธในการทาความเขาใจและความแนใจใน Request ทเขามา ตวเลขแรกสดของ Status - Code เปนการกาหนดคลาสของ Response SIP Response แบงไดเปน 6 ชนด ซงมความหมาย ดงตอไปน 1xx: Provisional เปนรหสการตอบสนองของ Server วาไดรบ Request แลวและกาลงจะดาเนนการ เปนขอมลเพอบอกรายละเอยดให Client ทราบถงสถานะของขอความทสงไปวาตอนนถงขนตอนใดแลว โดยจะสงรหสแบบนมาเฉพาะในชวงท Server กาลงทางานกบขอความนนเทานน 2xx: Successful รหสการตอบสนองระหวาง Client กนเองวามการทางานตามขอความทไดสงมา และการดาเนนการสาเรจแลว ไดทาความเขาใจและยอมรบแลว 3xx: Redirection รหสการตอบสนองสาหรบการตดตอผาน Server ในโหมดการทางานแบบ Redirection โดยตองการการกระทานอกเหนอจากนเพอให Request สมบรณ 4xx: Request Failure รหสการตอบสนองหากมขอผดพลาดเกดขนในระหวางทมการตดตอ โดยเปนขอผดพลาดทเกดจากฝ ง Client ททาการตดตอ 5xx: Server Failure รหสการตอบสนองหากมขอผดพลาดเกดขน ในระหวางทมการตดตอกนโดยเปนขอผดพลาดทเกดทฝ ง Server
15
6xx: Global Failure รหสการตอบสนองหากมขอผดพลาดเกดขนระหวางทมการตดตอกน โดยเปนขอผดพลาดทวไป SIP Response Message ขนอยกบชนดของ Response-Code ทง 6 ชนดน ดงตารางท 2.2 และยงสามารถเพมเตมไดอกตามความจาเปน แตแอพพลเคชนจะตองเขาใจคลาสของ Response-Code เหลานดวย
ตารางท 2.2 แสดง Status Code ของ SIP Response Message Response Code Description
1xx Provisional 100 Trying 180 Ringing 181 Call Is Being Forwarded 182 Queued 183 Session Progress 199 Early Dialog Terminated 2xx Successful 200 OK 202 Accepted (Deprecated) 204 No Notification 3xx Redirection 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 305 Use Proxy 380 Alternative Service 4xx Request Failure 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required
16
ตารางท 2.2 แสดง Status Code ของ SIP Response Message (ตอ) Response Code Description
408 Request Timeout 410 Gone 412 Conditional Request Failed 413 Request Entity Too Large 414 Request-URI Too Long 415 Unsupported Media Type 416 Unsupported URI Scheme 417 Unknown Resource-Priority 420 Bad Extension 421 Extension Required 422 Session Interval Too Small 423 Interval Too Brief 424 Bad Location Information 428 Use Identity Header 429 Provide Referrer Identity 430 Flow Failed 433 Anonymity Disallowed 436 Bad Identity-Info 437 Unsupported Certificate 438 Invalid Identity Header 439 First Hop Lacks Outbound Support 440 Max-Breadth Exceeded 469 Bad Info Package 470 Consent Needed 480 Temporarily Unavailable 481 Call/Transaction Does Not Exist 482 Loop Detected 483 Too Many Hops 484 Address Incomplete 485 Ambiguous 486 Busy Here
17
ตารางท 2.2 แสดง Status Code ของ SIP Response Message (ตอ) Response Code Description
487 Request Terminated 488 Not Acceptable Here 489 Bad Event 491 Request Pending 493 Undecipherable 494 Security Agreement Required 5xx Server Failure 500 Server Internal Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Server Time-out 505 Version Not Supported 513 Message Too Large 580 Precondition Failure 6xx Global Failures 600 Busy Everywhere 603 Decline 604 Does Not Exist Anywhere 606 Not Acceptable
3.) SIP Header เปนสวนทจะตองมใน SIP Request Message และ SIP Response Message โดยปกตทมกถกใชเปนประจาคอ - VIA : แสดงถงเสนทางในการสงขอความ - FROM : บอกถงผสงขอความรองขอ - TO : บอกถงผรบขอความรองขอ - CALL-ID : บอกหมายเลขของการตดตอ ซงจะไมซากนในการตดตอแตละครง - CSEQ : บอกหมายเลขของขอความรองขอสาหรบ Call ID นน - CONTENT-TYPE : บอกลกษณะของ message body - CONTENT- Length : บอกจานวน byte ของ message body - Max Forward : บอกจานวน hop มากสดทสามารถสงได
18
ใน SIP Proxy Server นน สามารถทจะเพม Via field แตไมสามารถจดลาดบ Header ใหม (Reorder Headers) ทมอยได Header field นใชสาหรบระบรายละเอยดของการเรยก เชน ผเรยก ผถกเรยก เสนทางของ Message ชนดและความยาวของ Message Body เปนตน โดย Header บางชนดจะมอยในทก Message แตบางชนดอาจจะใชในบาง Message เทานน โดย Entity ไมจาเปนจะตองเขาใจ Header ทงหมด คอถาไมเขาใจ Entity กจะไมสนใจ Header นน โดยแบงเปน 4 ประเภท ดงตารางท 2.3 ดงน - General Header เปน Header ทวไป ซงจะอยในทง Request Message และ Response Message - Entity Header ใชระบขอมลเกยวกบ Message Body ถาไมม Message Body จะเปนการระบทรพยากรทอางองถงโดย Request Message - Request Header ใชใน Request Message ของClient และสามารถสงขอมลเพมเตมเกยวกบการรองขอของ Client ได - Response Header ใชใน Response Message ของ Server และสามารถสงขอมลเพมเตมในการตอบสนองกลบไปให Client ได [3] ตารางท 2.3 แสดง Header ประเภทตางๆ ใน SIP
General Header Entity Header Request Header Response Header Accept Content-Disposition Authorization Allow Accept-Encoding Content-Encoding Contact Proxy-Authenticate Accept-Language Content-Language Hide Retry-After Call-ID Content-Length Max-Forwards Server Contact Content-Type Organization Unsupported CSeq Priority Warning Date Proxy-Authorization WWW-Authenticate Encryption Proxy-Require Expires Route From Require To Response-Key Via Subject User-Agent
19
4.) SIP Message Body Request Message ทงหมดทเปนการทาสอประสม (Multimedia) อาจจะม Message Body ยกเวน Request Message ประเภท BYE สวน Request Message สาหรบ INVITE, ACK และ OPTIONS Request จาเปนตองอธบาย session เสมอ สวนมากแลวจะตามดวย Session Description Protocol (SDP) ซงทง SIP และ SDP ถอเปนตระกลโพรโทคอลเดยวกน ความยาวของ SIP Message Body ควรใสไวใน Content-Length Header Field และ Content-Type Header Field ตองใสชนดของขอความดวย และถาหากวาขอความมการเขารหสกจะตองใสไวใน Content-Encoding Header Field ดวย 4.1) Session Description Protocol (SDP) เปนโพรโทคอลทใชสาหรบทาการตกลงในการตดตอดวยสอประสม โดย SDP จะถกใชกอนขนตอนการทา Media & Control Channel การทางานของ SIP ในระบบ IP สาหรบ Telephony และ SDP คอ ใชกาหนดการตดตอดวยสอประสม โดยถกบรรจอยใน Body Message ของ SIP Message และมลกษณะเปน Text-based ซงกาหนดโดย RFC 232 ในสวนของ Message Body ซงไดแสดงในรปแบบของ Session Description Protocol (SDP) นน ใชอธบายชนดของสอประสมในการทา session ในกรณทเปนแคการสงขอความอาจไมตองใส Message Body กได ตารางท 2.4 แสดงชนดฟลดและความหมายของ SDP
Fields Description Mandatory v= protocol version Yes o= owner/creator and session identifier Yes s= session name Yes t= time the session is active Yes c= connection information No m= media name and transport address Yes a= zero or more media/session attribute lines No i= session information No u= URI of description No e= email address No p= phone number No b= bandwidth information No z= time zone adjustments No k= encryption key No r= zero or more repeat times No
2.2 โปรแกร โปกน เปนชดขรปแบบของภFreePBX ดวในการทางานงาน EIP-PBX, FaCall Center2.10 เวลาท(FreePBX) "Apply Conของ AsteriจากนนจะรโAsterisk จะท
ร
รป
รม Elastix ปรแกรม Elaของโปรแกรมภาพและเสยงวย พรอมทงน และยงสาม
lastix จงถอเx Server, Far Server และเราแกไขขอมจะเกบขอมล
nfiguration Csk ซงมอยหหลด Asterisทาการอานไฟ
รปท 2.8 แสด
ปท 2.9 แสดง
astix เปนโปรม Open sourงแตละตวมารนาเอา ระบบมารถตงคาต
เปนโปรแกรมax to Mail, Mะอน ๆ ไดอกมลใน ElastixลทคอนฟกไวChanges Heหลายไฟล (sk โดยขณะรฟลคอนฟกให
ดงตวอยาง S
งตวอยาง SI
รแกรมประเภrce อยภายใตรวมเขาไวดวบปฏบตการ าง ๆ ผานท
มเปนไดทง VMail to Fax,กหลายอยางx (FreePBX)ใน Databasere" Elastix (แตละไฟลจะรโหลดจะไมมหมไปใชงาน
SIP Request
P Response
ภท Unified Cต GPL v.2 ทวยกน ซงจะLinux CENTทาง web br
VoIP (SIP/IA, Mail serveแลวแตการใช) เมอกด "Suse ชอ "aster กจะทาการเะแยกตามหนมการขดจงห [4]
Message
e Message
Communicatทดทสดในดาม ระบบโทรT OS มาเปนrowser ได ท
AX2/H.323) Sr, Instant Mชงานของเราubmit Changrisk" ของ Myเขยนขอมลลนาท) ในไดเรวะการทางาน
tions เอาไวใานการตดตอสรศพท Asterนระบบปฏบตทาใหสะดวก
Server, MaiMessanger (Iา ดงคณสมบge" โปรแกรมySQL จากนงไปไวในไฟลรคตอร /etcนของ Aster
20
ใชสอสารสอสารในrisk และ ตการหลกในการใช
l Server, M), IVR, บตในรปท ม Elastix นนเมอกด ลคอนฟกc/asterisk isk) แลว
ท
Dial Plan เเนองจากเปนเขามาท IP-หรอ พดขอค การเขยน FreeBSD นDial Plan เพ 1.โทรศพทภายขนอยกบการองคกรขนาดตางๆ ไดเอง 2.หรอ Extensเสมอ ซงการะบบโทรศพเพมขนเรอยทายสดของห
รปท ทมา : http://
เปนสงสาคญนสวนทจะกา-PBX แลวจะความใด ๆ อ
Dial Plan นน ไฟล extพอควบคมระ.) Extensยใน หรอ Eรใชงาน เชนดใหญกกาหนง .) Priorities เsions ทตองการกาหนดคา พทจะเรมทางๆ โดยจะหมายเลขโทร
2.10 แสดงคwww.ihub.a
ญของระบบโทาหนดการทางะตองทาอะไรอกมา เปนตน
สวนใหญจension.conf บบโทรศพทsions เปExtension Nน บางหนวยงนดเปน 4 หล
เปนลาดบกาการ โดยจะถ Priorities งานทหมายเละทางานจากบรศพทภายใน
คณสมบต แลaf/elastix-free
ทรศพท Asteงานของระบบรตอไปบาง เน
จะเขยนไวในไf จะอยในไดเนน จะแบงอนสวนของกาNumber ซงงานกอาจจะกลก หรอ 5 ห
ารทางาน เมอถกกาหนดเปนนไมควรกาหลข Prioritiesบรรทดแรกไปนนน ๆ
ละสวนประกอe-pbx-system
erisk หรออาบ เพอใหระบเชน หมนโทร
ไฟล extenเรกทอรชอ /อกเปน 4 สวารกาหนดเลขงหมายเลขทกกาหนดเปน หลก เปนตน
อมการเรยกเขนหมายเลขเรหนดหมายเลs ทมคาเทาปจนถงบรรท
อบของ Elastm-based-on-
าจะเรยกไดวาบบทางาน เชรศพทไปยงป
sion.conf ซusr/local/etcวนใหญ ๆ ดงขหมายภายในกาหนด จะก3 หลก หรอ
น ซงเราสามา
ขามายงหมารมตนเปน 1 ขทไมเรยงลากบ 1 และทดทมการกาห
tix -asterisk/
า “แผนการโชน เมอมการปลายทางหม
ซงในระบบปc /asterisk กงน นระบบหรอหกาหนดเปนกอบางหนวยงารถกาหนดห
ายเลขโทรศพ และจะเพมขาดบ สวนกาเรยงลาดบกาหนดคา P
21
โทรศพท” เรยกสายายเลขใด
ปฏบตการ การเขยน
หมายเลขกหลกกไดงานทเปนหมายเลข
พทภายในขนทละ 1 ารทางาน ารทางานPriorities
3.คาสงทเราตอทางานตามคApplicationsตน ซงขนอย 4.asterisk/exteออกเปนหลาภายในเครองระบบโทรศพสามารถทจะซงแตละ CoAsterisk ได 2.3 IP Softp IPเครองโทรศพWindows, Lการทางานข/G.729 /GS
.) Applicatioองการ เมอคาของ Pris พวกคาสง ยกบวาเราตอ.) Contexts ensions.conายสวน โดยชงหมายกจะเปพท Asteriskะกาหนดใหระontext เราส โดยใชรปแบ
phone P SoftphoพททสามารถLinux และ MองแตละโพรM /ILBC /Sp
รปท 2.11 ต
ons เปนสวอมผเรยกสายorities เป Dial ,Hangองการใหระบบเปนสวนของnf ซงในไชอของ Conteปนชอของ Ck จะเรมทางาะบบเปลยนกสามารถเขยนบบของการเข
ne หรอ ถใชงานไดบนMac มการทรโทคอล (SIPpeex) ทแตก
ตวอยาง IP S
นของการกายเขามายงหมนลาดบไปเร
gup ,Backgroบโทรศพท Aงการทางานยไฟลจะมการแexts แตละสContexts ทานในสวนขอการทางานไปน Dial Planขยน Dial Pla
Softphoneนเครองคอมพทางานบน IPP/IAX2/H.32กตางกน
Softphone โป
าหนดใหระบบมายเลขทไดกอยๆ เชน ound ,PlaybAsterisk ทาอยอยทถกกาหแบงสวนของกวนจะถกเขยทเรยกวา Coอง Contextsยง Context n เพอกาหนan ตามโครงส
e เปนอปกพวเตอรทวไปP-based โดย23) และการ
ปรแกรม 3cx
บโทรศพท Aกาหนดไว ตวอยางทback ,SayDiอะไร นดขนมาในไการทางานยอนไวภายในเค
ontext Nam ทชอ [defaName อนๆนดการทางานสรางของไฟล
รณลกขายทป มทยแตละโปรแก codec (G.
xPhone ทรอ
Asterisk ทาโดยจะเรยงลทมการใชงานigits ,SayAl
ไฟล usr/locaอยหรอ Cครองหมาย ว
me โดยมาตรault] กอนเสๆ ไดตามทเรานใหกบระบบล extensions
ทาหนาทเปนโทงบนระบบปกรมสามารถส711 /G.723
งรบ SIP
22
างานตามลาดบการนสวนของ pha เปน
al/etc/ Contexts วงเลบ [ ] รฐานของสมอ และาตองการ โทรศพท s.conf
โปรแกรมปฏบตการ สนบสนน3 /G.726
23
บทท 3 ขนตอนการดาเนนงาน
3.1 กลาวนา ในบทน ผจดทาไดทาการออกแบบและพฒนาการทดลอง เพอใหสามารถทจะบรรลวตถประสงคในการศกษาวเคราะหเกยวกบ SIP โดยสงทผจดทาไดมการดาเนนการจะประกอบไปดวยหวขอดงน - ศกษาขนตอนการทางานของ SIP server และ Softphone - ตดตงระบบปฏบตการ Linux โดยใช Elastix 2.4.0 เพอเปนเครองแมขายในการเชอมตอในชวงท 1 - ตดตงโปรแกรม Microsoft Visual Studio 2013 เพอใชเปนตวสรางชดขอมลในการทดลองชวง ท 2 - ศกษาการสราง SIP message โดยใช code ของโปรแกรม Lumisoft เพอใชเปนเครองแมขายในการ ทดลองชวงท 2 - สรางหมายเลข Extension ไวท Elastix 2.4.0 และ Lumisoft เพอใชในการเชอมตอมายง SIP Server - ตดตงระบบปฏบตการ Window XP และ Softphone ทใชในการทดลอง เพอใชในการเชอมตอ Softphone ตวท 1 ในการทดลองชวงท 1 และชวงท 2 - ตดตงระบบปฏบตการ Window XP และ Softphone ทใชในการทดลอง เพอใชในการเชอมตอ Softphone ตวท 2 และWireshark ทใชดกจบ ในการทดลองชวงท 1 และชวงท 2 - วเคราะหแพกเกจ SIP ทไดทาการดกจบในชวงท 1 และชวงท 2 3.2 ขนตอนการดาเนนงานเพอทาการทดลอง 3.2.1 ศกษาและหาขอมลในการดาเนนงาน - ศกษาตวโปรแกรมทจะนามาใชในการทดลอง (Elastix ,Softphone ,Wireshark ,VMware ,Microsoft Visual Studio 2013) - ศกษาพนฐานสวนประกอบของเครอขาย และรปแบบขนตอนในการเชอมตอของ SIP - ศกษาพนฐานและหาขอมลเกยวกบมาตรฐาน SIP - ศกษากระบวนการในการเกด SIP Message ระหวางทาการเชอมตอ VoIP - ศกษา SIP Message ทงในสวนของโครงสราง รปแบบ และสวนประกอบตางๆ - ศกษาการเขยน script เพอใชในการสรางชดขอมล SIP Message
24
3.2.2 การแบงชวงของการทดลอง ผจดทาไดมการแบงชวงของการทดลองออกเปน 2 ชวง โดยแบงเปนชวง Passive และ Active ดงแสดงในรปท 3.1 1.) ชวง Passive จะเปนการทดลองโดยการเชอมตอเครองลกขาย 2 เครอง โดยใช Softphone เชอมตอผาน SIP server และทาการดกจบแพกเกจทมการสอสารกนระหวางเครองลกขาย และเครองแมขาย เพอดการโตตอบของ SIP ทเกดขนโดยปกตทวไป 2.) ชวง Active จะเปนการทดลองโดยใชการเขยน code เพมเตมลงใน SIP server ทเปน opensource เพอสรางชดขอมล SIP Message ทตองการทดลองขนมาใหม แลวทาการสงไปตามขนตอนการสอสารปกต และทาการดกจบแพกเกจ เพอดปฏกรยาการโตตอบและความเปลยนแปลงทเกดขนจากการทดลอง [5]
รปท 3.1 แสดงขนตอนในการทาการทดลองของแตละชวง
25
การทดลองในชวงท 1 ในการทาการทดลอง เราจะเรมทาการสราง Extension ไว 2 เบอรทตว Elastix 2.4.0 และ Lumisoft เพอใชเปน SIP Server ในการเชอมตอระหวาง Softphone ทใช SIP ซงไดตดตงไวในเครองลกขายแตละเครอง และทาการตงคา Softphone ทง 2 เครอง ใหใช SIP และ Extension ททาการสรางไวแลว จากนนใหเรมใช Wireshark ทาการดกจบแพกเกจตงแตการทาการเชอมตอระหวาง Softphone ในเครองลกขายทง 2 เครอง โดยหมนเบอร Extension ตดตอไปยงปลายทางอกเบอรหนง เมอทาการดกจบแพกเกจเรยบรอยแลว ผจดทาจะนารปแบบแพคเกจในสวนของ sip message ททาการดกจบมาวเคราะห โดยในการวเคราะห เราจะทาการเปรยบเทยบหาขอแตกตางของ sip message ในแตละการเชอมตอทมาจากตวโปรแกรม Softphone ทง 7 ตว และความแตกตางระหวางการเชอมตอ SIP server ทง 2 ตว การทดลองในชวงท 2 หลงจากทเราศกษาผลทไดจากการวเคราะหในชวงท 1 แลว เราจะทาการจาลอง SIP Message ขนมาใหม โดยใชการเขยน code เพมเตมลงใน Lumisoft ทเปน sourcecode เพอสรางชดขอมล SIP Message ทตองการทดลองขนมาใหม และทาการทดลองสง SIP Message ตวใหมนไปยงเครองลกขายทตดตง Softphone ไว เพอวเคราะหดปฏกรยาการโตตอบของแตละ softphone วาเปนอยางไร โดยอาศยการดกจบแพกเกจผานทาง Wireshark เพอนามาทาการวเคราะหดรปแบบ และปฏกรยาโตตอบ จากนนจงทาการสรปผล จากรปท 3.2 จะแสดงใหเหนถงลกษณะการสราง session ในการทาการเชอมตอระหวาง SIP Softphone ทง 2 เครอง โดยการเชอมตอจะตองอาศย SIP Proxy (SIP Server) โดยเราไดตดตงโปรแกรม Elastix และ Lumisoft ไว เพอใชเปนเครองแมขาย และในการดกจบแพกเกจเพอใชในการทดลองทง 2 ชวง ผจดทาไดทาการดกจบแพกเกจในการนามาวเคราะหผล โดยสวนททาการวเคราะหคอสวนของการเชอมตอระหวาง SIP Softphone ทม ip address : 192.168.1.10 กบ SIP Proxy (SIP Server : Elastix 2.4.0) ทม ip address : 192.168.1.8 ในการทดลองชวงท 1 และ ip address : 192.168.8.135 กบ SIP Proxy (SIP Server : Lumisoft) ทม ip address : 192.168.8.1 ในการทดลองชวงท 2
26
รปท 3.2 แสดงสวนของการวเคราะหแพกเกจในการทดลองชวงท 1 และชวงท 2
3.2.3 การออกแบบการทดลอง ชวงท 1 Passive ในการทาการศกษาวเคราะหเกยวกบโปรโตคอล SIP ผจดทาไดมการออกแบบระบบโดยใชการจาลองการทดลอง VoIP แบบ Local เพอใหงายตอการตดตง และตงคาระบบการตดตอสอสาร รวมถงการดกจบแพคเกจทจะนามาวเคราะห เครองแมขายทไดนามาใชในการทดลองม 2 ตว ตวแรกเปน opensource software ( Elastix เวอรชน 2.4.0 ) สามารถดาวนโหลดมาทดลองไดเอง และตดตงงาย ใชงานงาย เปนโปรแกรมททางานผานหนา web interface ในการตงคาระบบไดโดยตรง โดยไดนาเอาโปรแกรมหลายๆ โปรแกรม ซงม Asterisk, FreePBX รวมอยดวยมาใหเราไดใชงาน และอกตวเปน software ทกาลงอยในขนตอนการพฒนา (Demo Lumisoft) โดยสามารถเปดจากไฟล .exe บน ระบบปฏบตการ window 7 และทาการตงคาไดเลย จากนนผจดทาไดมการสราง Extension 2 เบอรไวทเครองแมขาย Elastix และ Lumisoft เพอนาเบอรเหลานนมาใชกบเครองลกขายทตดตง Softphone ไวฝ งละเบอร (รปท 3.3) และในการทดลองไดมการนา Softphone 7 ตวมาใชในการทาการทดลอง เพอใหสามารถนาแพกเกจทดกจบมาเปรยบเทยบและเหนภาพไดชดเจนมากขน โดยลกษณะ
27
โครงสรางของระบบทไดออกแบบ เพอนามาใชในการทดลองแบงเปน 2 ชด ตามการเชอมตอของ SIP server 1.) SIP server (Elastix) จะใช ip: 192.168.1.8 เชอมตอกบ Softphone ip: 192.168.1.10 ,192.168.1.15 2.) SIP server (Lumisoft) จะใช ip: 192.168.8.1 เชอมตอกบ Softphone ip: 192.168.8.135 ,192.168.8.147 สามารถแสดงออกมาเปนแผนภาพ ดงรปท 3.3
รปท 3.3 แสดงโครงสรางจาลองระบบ VoIP ทจะทาการทดลองในชวงท 1
28
ชวงท 2 Active ในชวงท 2 ผจดทาไดมการออกแบบระบบโดยใชการจาลองการทดลอง VoIP แบบ Local เหมอนเดม เพอใหงายตอการตดตง และตงคาระบบการตดตอสอสาร รวมถงการดกจบแพคเกจทจะนามาวเคราะห เครองแมขายทไดนามาใชในการทดลองคอโปรแกรม Lumisoft เปน opensource software เนองจากเปนโปรแกรม SIP server ทยงอยในขนตอนการพฒนา จงสามารถดาวนโหลดตว source code มาแกไขปรบเปลยน เพอสรางชดขอมล SIP message ทจะนามาใชทดลองเองได โดยใชการรน code ทไดมการปรบเปลยนเพมเตมผานทางตวโปรแกรม Microsoft Visual Studio 2013 ผจดทาไดมการสราง Extension 2 เบอร เพอใชกบเครองลกขายทตดตง Softphone ไวฝ งละเบอรเชนเดม แตกตางแคหมายเลข ip ทใชในการทดลอง (รปท 3.4) และไดมการใชตว Softphone เหมอนในชวงการทดลองท 1 มาทาการทดลอง เพอใหสามารถเปรยบเทยบและเหนภาพความเปลยนแปลงไดชดเจนมากขน โดยลกษณะโครงสรางของระบบทไดออกแบบสามารถแสดงออกมาเปนแผนภาพ ดงรปท 3.4
รปท 3.4 แสดงโครงสรางจาลองระบบ VoIP ทจะทาการทดลองในชวงท 2
29
บทท 4 การทดลองและผลการทดลอง
4.1 กลาวนา ในการศกษาการโตตอบของ Softphone ทจะทาการทดลองน เราไดมการตงคาระบบเปนรปแบบการเชอมตอภายในแบบ Local ดงทไดกลาวมาขางตน และในทกๆการทดลอง เราไดมการทดลองอยางตา 2 ครงขนไป โดยใชตวแปรเดยวกน ยกเวนชวงเวลาในการทดลอง โดยการทดลองไดแบงชวงออกเปน 2 ชวง โดยมรายละเอยด ดงน 1. การทดลองชวงท 1 แบบ Passive ในการทดลองชวงนจะเปนการทดลองโดยใชการดกจบการโตตอบแบบปกตระหวาง Softphone กบ SIP server โดย Softphone ทใชในการทดลองจะมทงหมด 7 ตว และ SIP server 2 ตว (Elastix 2.4.0 , Lumisoft) 1.1 ดกจบการเชอมตอระหวาง Softphone กบ SIP server (Elastix 2.4.0) ทละตว จนครบทง 7 ตว 1.2 ดกจบการเชอมตอระหวาง Softphone กบ SIP server (Demo Lumisoft) ทละตว จนครบทง 7 ตว จากนน นาผลการทดลองทงหมดมาทาการวเคราะหเปรยบเทยบในเรองของการจดเรยงของ Header ภายในตว SIP message แตละประเภท 2. การทดลองชวงท 2 แบบ Active ในการทดลองชวงนจะเปนการทดลองดกจบการโตตอบหลงจากทเราไดทาการสราง SIP message ขนมา จากการแกไขเพมเตม code เขาไปใน code ปกตของ SIP server (Demo Lumisoft) โดยอาศยโปรแกรม Microsoft Visual Studio 2013 2.1 SIP message ททาการสรางคอ OPTION message ทมโครงสรางตามมาตรฐานทวไป (Standards-Compliant OPTIONS) เพอให SIP server ทาการสงตว message นไปยง Softphone เพอดปฏกรยาการโตตอบของ Softphone ตวนน โดยในการสงตว OPTION message น ไดมการทดลองสงทงในขนตอนหลงจากท Softphone มการสง Register message มายง SIP server โดยเราจะเรยกวา "After Regist" และในขนตอนหลงจากท Softphone ไดทาการสง Invite message มายง SIP server โดยเราจะเรยกวา "After Invite" ซงเราจะทาการทดลองโดยดกจบการเชอมตอระหวาง Softphone กบ SIP server (Demo Lumisoft) ทละตว จนครบทง 7 ตว
30
จากนน นาผลการทดลองมาทาการวเคราะหเปรยบเทยบในเรองของ Status code และ Allowed Methods ของ message ทไดรบการตอบกลบจากการสง OPTION message 2.2 SIP message ททาการสรางคอ OPTION message ทมการปรบเปลยนขอมลภายในใหมการผดเพยนไปจากรปแบบปกต (Non-Compliant OPTIONS) โดยในการทดลองแตละครงจะมการปรบเปลยนภายใน OPTION message 1 จด และทาการสงจาก SIP server (Demo Lumisoft) ไปยง Softphone แตละตว จนครบทง 7 ตว เพอดปฏกรยาการโตตอบของ Softphone ตวนน โดยในการสงตว OPTION message น ไดมการสงทงในขนตอนหลงจากท Softphone มการสง Register message มายง SIP server โดยเราจะเรยกวา "After Regist" และในขนตอนหลงจากท Softphone ไดทาการสง Invite message มายง SIP server โดยเราจะเรยกวา "After Invite" ซงในขนตอนการทดลองนจะมการปรบเปลยน OPTION message ทงหมด 6 จด โดยมรายละเอยดดงน 2.2.1 Invalid Version : ตามท RFC กาหนดไว SIP version คอ 2.0 เราไดปรบเปลยนเวอรชนของ SIP ใหเปนเลขทไมมใน RFC คอ 99.0 2.2.2 Invalid Via Address : จากเดมจะเปน ip ของเครองทสงขอความมา เพอใหสามารถตอบกลบไปยงเครองนนได เราไดปรบเปลยนใหเปนการสงกลบตวเอง คอ 127.0.0.1 2.2.3 Incorrect Content-Length : จากเดมท OPTION message ไมม body คานจะถกตงคาใหเปน Content-Length = 0 เราจงปรบเปลยนใหเปน "10" 2.2.4 Malformed CSeq : คา CSeq เปนคาเพอบอกลาดบของ message แตละประเภท เชน "2 OPTIONS" เราไดปรบเปลยนเอาคาวา "OPTIONS" ออก เหลอแคลาดบตวเลข 2.2.5 Missing Call-ID : Call-ID ถอเปน header หลก โดยใชระบหมายเลขของการตดตอ เราไดปรบเปลยนเอา header นออกทงบรรทด 2.2.6 Incompatible Transport Protocol : ตามท RFC กาหนด ตว Transport Protocol น จะถกระบอยในสวนของ Via header ซง Softphone ทใชทดลองโดยปกตจะใช UDP แตเราปรบเปลยนใหเปน "TCP" จากนน นาผลการทดลองทไดมาทาการวเคราะหเปรยบเทยบในเรองของ Status code ของ message ทไดรบการตอบกลบจากการสง OPTION message
31
4.2 ขนตอนเตรยมการทดลอง 4.2.1 การเตรยมอปกรณ มการจาลองระบบ VoIP แบบ Local โดยใชระบบปฏบตการทงหมด 4 ตว 1.) ระบบปฏบตการ Linux หนวยประมวลผล (CPU) Core i7 ความเรว 2.40 GHz หนวยความจาหลก (RAM) 8 GB ฮารดดสก 1 TB ทาหนาทเปนเครองแมขาย SIP Server (Elastix 2.4.0) ในการทดลองชวงท 1 2.) ระบบปฏบตการ Window 7 หนวยประมวลผล (CPU) Core i7 ความเรว 2.40 GHz หนวยความจาหลก (RAM) 8 GB ฮารดดสก 1 TB ทาหนาทในการรน code ทเปนเครองแมขาย SIP Server (Demo Lumisoft) โดยอาศยโปรแกรม Microsoft Visual Studio 2013 ในการทดลองชวงท 2 3.) ระบบปฏบตการ Window XP หนวยประมวลผล (CPU) Core i7 ความเรว 2.40 GHz หนวยความจาหลก (RAM) 8 GB ฮารดดสก 1 TB ทาหนาทเปนเครองลกขายทใช Softphone ตวท 1(Extension 1000)ในการทดลองชวงท 1 และชวงท 2 4.) ระบบปฏบตการ Window XP หนวยประมวลผล (CPU) Core i7 ความเรว 2.40 GHz หนวยความจาหลก (RAM) 8 GB ฮารดดสก 1 TB ทาหนาทเปนเครองลกขายทใช Softphone ตวท 2 (Extension 2000) และ Wireshark ในการทดลองชวงท 1 และชวงท 2
32
4.2.2 การเตรยมซอฟตแวร - โปรแกรม Elastix เวอรชน 2.4.0 ซงเปนโปรแกรมไวเชอมตอสอสารกนไดทงเสยงและภาพ ทาหนาทเหมอน VoIP (SIP Server) สามารถรองรบการทางานของโปรโตคอลไดหลายรปแบบ - โปรแกรม Wireshark Version 1.8.6 เพอใชในการดกจบแพกเกจททาการเชอมตอระหวาง Softphone และ SIP server เพอนามาวเคราะห - โปรแกรม IP Softphone ทใชในการทดลอง (Express Talk 4.28 ,3CXphone 6.0.26523.0 ,SJphone 1.65.377a ,Zoiper 3.2.21357 ,X-Lite 4.5.4 ,Linphone 3.7.0 ,Phoner-sipper for phoner) - โปรแกรม Microsoft Visual Studio 2013 ใชเขยนโคดเพมเตมจาก code ของ Demo Lumisoft ในการสราง SIP Message ทตองการทดลอง - โปรแกรม VMware 9.0.0 build-812388 ทใชในการรนระบบปฏบตการทใชในการทดลอง 4.3 ขนตอนการตงคาระบบ 4.3.1 การตงคาระบบในการทดลองชวงท 1 4.3.1.1 ขนตอนการสรางหมายเลข Extension สาหรบโปรแกรม Elastix 2.4.0 ในการทดลองจะมโปรแกรม Elastix เวอรชน 2.4.0 ทใชเปนเครองแมขายอย ในการสรางเครอขาย VoIP เพอใชในการทดลอง เราตองมอปกรณทนามาใชในการเชอมตอ โดยอปกรณทเลอกใช คอ โปรแกรม Softphone ทรองรบ SIP protocol ทงหมด 7 โปรแกรม หลงจากททาการลงโปรแกรม Elastix แลว ในการสรางเลขหมาย (Extension) ใหทาการสรางทตว web interface ของ Elastix ไดเลยโดยจานวนหลกทใชสรางในการทดลองจะเปน 4 หลก คอ 1000 และ 2000 โดยเบอรทสรางตองไมใชเบอรเหลาน เพราะเปนเบอรท Elastix ไดจองไว [6] 200 จองไวสาหรบทา Park Notify 300 - 399 ถกจองไวสาหรบทา Speed Dial 666 จองไวสาหรบ Fax Dialing 70 - 79 จองไวสาหรบการพกสาย 700 - 799 จองไวสาหรบการพกสาย 7777 จองไวเปนเบอรสาหรบจาลองการโทรเขา 1.) หลงจากตดตงโปรแกรมเสรจ ใหเขาหนา web โดยใชหมายเลข ip address ทเราไดตงคาไวใหเปนเครองแมขาย Elastix ดงรปท 4.1 แลวทาการ Log in เขาระบบ โดยใช username : admin ,password : freepbxroot ตามทไดตงคาไวตงแตทาการตดตงโปรแกรม (การตดตงโปรแกรม Elastix 2.4.0 สามารถดไดทภาคผนวก)
รปท 4
รปท 4.2
4.1 แสดงหนา
แสดงหนาจอ
นาจอ Log in
อของ Elastix
ของโปรแกร
x เมอทาการ
ม Elastix 2.4
Log in เขาม
4.0
มาแลว
33
2.) ไปทแถบ
3.) ทาการกร - Us - Di - O คนท - Se Elas - DT จาก
บ PBX เพอท
รป
รอกขอมลทจser Extensiosplay Nameutbound CIทโทรมาดวย ecret : เปน stix TMF Mode :นนใหกด su
ทาการสราง E
ปท 4.3 แสดง
จาเปน ในสวนon : 1000 e : 1000 D : สวนแสด (กรอกหรอไ password
: เปนโหมดกbmit และทา
Extension โด
งหนาจอ PBX
นของการทด
ดงตวตนของไมกรอกกได)ท softphon
การรบสงสญญาการสราง Ex
ดยเลอก Gen
X ของโปรแก
ดลอง จะกรอก
งผโทร ถา S) ne ตองใชในก
ญาณ ใชคา dxtension :20
neric SIP De
กรม Elastix
กขอมลดงน
oftphone ทใ
การขอ regis
default (rfc2800 เพมอกเบ
evice แลวกด
ใชรองรบ กจ
ster กบเครอ
833) บอรหนง
34
ด submit
จะโชวชอ
องแมขาย
รปท 4.4 แแสดงหนาจอก
กรอกขอมล EExtension ของโปรแกรม Elastix
35
4.) เมอสรางHere" ดานบ
4.3. ในก7 เปนเครอง2000 1.) ทาการรน (Path : lum
ง Extensionบน
รปท 4.5
1.2 ขนตอนารทดลอง เรงแมขายโดยใ
นตวโปรแกรมmisoft\SIP_P
: 1000 และ
5 แสดงหนาจ
นการสรางหมราไดใชการรนใช IP:192.16
มสาเรจรป (.roxy_demo\
2000 เสรจ
จอทเพม Ext
มายเลข Exนตวโปรแกร68.8.1 และท
.exe) ของ Lu\SIP_Proxy_
แลว ใหทาก
tension ของโ
tension สาหมสาเรจรป (
ทาการตงคา E
umisoft _demo\SIP_
ารกดแถบ "A
โปรแกรม El
หรบโปรแกร.exe) ของ LExtension โด
Proxy_demo
Apply Conf
astix
รม LumisofLumisoft บน ดยใชเบอร 1
o\bin\Debug
36
iguration
ft Window 000 และ
g)
ร
2.) ทาการสร
รป
รปท 4.6 แส
ราง Extensio
ปท 4.7 แสดง
ดงตวโปรแก
on โดยการก
งหนาจอการต
รม SIP serv
กดปม stop แ
ตงคาเพอเพม
ver สาเรจรป
และกดปมเคร
ม Extension
(.exe) ของ
รองหมายบวก
ของโปรแกร
Lumisoft
กเพอเพม Ex
รม Lumisoft
37
xtension
3.) ใสรายละผใช ,Passw(user@ip_s
รปท 4.
ะเอยดของ Exword : รหสผาserver) เมอใส
8 แสดงหนา
รปท 4.9 แส
xtension 10านในการเชอสเสรจใหกด
จอการตงคาร
สดงหนาจอห
00 เพอใชตดอมตอ ,AddreOk
รายละเอยด
ลงจากตงคา
เรยบรอย
ดตอ Softphoess of Reco
Extension 1
Extension ยแลว
one ฝ งตนทาrd : ทอยทใช
1000 ของโปร
1000 ของโป
าง Usernamชในการตดต
รแกรม Lum
ปรแกรม Lum
38
e : ชออ
isoft
misoft
4.) ใสรายละชอผใช ,Pas(user@ip_s
รปท 4.1
รปท 4.11 แ
ะเอยดของ Exssword : รหสserver) เมอใ
10 แสดงหนา
แสดงหนาจอ
xtension 20สผานในการเใสเสรจใหกด
าจอการตงคา
หลงจากตงค
00 เพอใชตดเชอมตอ ,Ad Ok
ารายละเอยด
คา Extension
ดตอ Softphoddress of Re
Extension
n 2000 ของโ
one ฝ งปลายecord : ทอยท
2000 ของโป
โปรแกรม Lu
ยทาง Usernaทใชในการตด
ปรแกรม Lum
umisoft เรยบ
39
ame : ดตอ
misoft
บรอยแลว
5.) เมอเพม การ start SI
รปท 4.12 แstart SIP se 4.3. การหมายเลข Eขอยกตวอยาทภาคผนวก
Extension IP server (Lu
แสดงหนาจอหerver (Lumis
1.3 ขนตอนตงคาระบบ xtension ,Paางของ Softp)
ของ Softphoumisoft)
หลงจากตงคาsoft)
นการตงคารSIP Softp
assword แลphone ยหอ
one ทง 2 ฝ
า Extension
ะบบ SIP Sohone ในแตะหมายเลข i3CXphone
ฝ งเรยบรอยแ
ของโปรแกร
oftphone (Cตละตว จะมp ของ SIP s(การตดตงโป
ลว ใหกดสญ
รม Lumisoft
Client) หลกการใกลserver ททากปรแกรม 3CX
ญลกษณ Play
เรยบรอยแล
ลเคยงกน ทการเชอมตอ Xphone สาม
40
y เพอทา
ลว และ
สาคญคอ ดงนนจะมารถดได
1.) หลงจากท
2.) เลอก Ne
3.) ทาการกExtension แสวน My locแมขาย (Elaทาการตงคา
ททาการตดต
รปท 4.1
ew เพอทากา
รปท 4.14
รอกขอมลในและ passworcation เลอก astix : 192.16เครองลกขาย
ตงเสรจแลว ใ
13 แสดงหนา
ารสราง Acco
4 แสดงหนาจ
นสวนของ Acrd ทเราไดสรI am in the68.1.8 ,Lumยทง 2 เครอง
ใหทาการเลอ
าจอหลงตดต
ount
จอเพม Acco
ccount Namรางไวท SIP e office เพอตmisoft : 192.1ง โดยใชเบอร
อก "Create P
ตงโปรแกรม 3
ount ของโปร
me ,Caller ID server (Elaตดตอภายใน168.8.1) ร Extension
Profile"
3CXPhone
รแกรม 3CXP
D สวนในกรastix ,Lumisน และใส ip a
1000 และ 2
Phone
อบ Credentsoft : sip56address: ทเป
2000
41
tial ใหใส 678) ในปนเครอง
รปท 4 4.) เมอตดต
4.15 แสดงหน
อไดแลว สถา
รป
นาจอกรอกข
านะของ Sof
ปท 4.16 หนา
อมลในการส
ftphone จะโช
าจอแสดงสถ
สราง Accoun
ชวเปน On H
ถานการณเชอ
nt ของโปรแก
Hook
อมตอสาเรจ
กรม 3CXPho
42
one
แสดงตวอยาเรยบรอยแล
ร
4.3.2 การตง ในกทอยในชวงพmessage เพการ compilCompile 2 ทเพอ Compil
างเพมเตมขอว
ปท 4.17 แส- รปซ- รป
งคาระบบในารทดลองชวพฒนาผานทาพม และมกาle code ในท คอ ตว Nee ตวโปรแกร
องโปรแกรม
สดงตวอยางขซายเปนรปขณขวาเปนรปข
นการทดลองวงท 2 นจะใชาง Microsofารปรบเปลยนระหวางการทet.sln เพอ coรมและทาการ
Express
ขณะทาการเชณะททาการ ขณะทเรมทาก
งชวงท 2 ชวธการรน cft Visual Stนจดตางๆขอทดลองแตละompile ในสวร start ตว S
sTalk ทไ
ชอมตอของโปRegister กบการเชอมตอจ
code โปรแกรudio 2013 องตว OPTIOครง โดยในกวนของ Libra
SIP server
ไดทาการเชอ
ปรแกรม Expบเครองแมขาจนถงวางสาย
รม SIP servเนองจากเรา
ON messagการ Compilary และตว S
อมตอกบเครอ
press Talk าย ย
ver (Demo Lามการสราง ge ดงนนจงตle code เรา
SIP_Proxy_d
43
องแมขาย
Lumisoft) OPTION ตองอาศยาจะมการ demo.sln
4.3.1.) ทาการเป
รปท 4.19 แ
2.1 ขนตอนปดไฟล Net.s
รปท 4.18 แ
แสดงหนาจอไ
นการตงคา Ssln และ SIP_
แสดงหนาจอ
ไฟล SIP_Pr
SIP server ส_Proxy_dem
อไฟล Net.sln
roxy_demo.s
สาหรบโปรแmo.sln
n ท Path : S
sln ท Path :
แกรม Lumis
SIP\Net Orig
SIP\SIP_P
soft
ginal\Net
roxy_demo
44
Original
2.) ทาการปไดจากตาราง- สง OPTRegister" แล- สง OPTIOขนตอน "Aft
รปท 4
รบเปลยนแกงท 4.1 ซงในION messaละ "After InvON messagter Register"
4.20 แสดงหน
กไข code ตานชวง Active age ปกต (vite" e ทมการปร" และ "After
นาจอโปรแกร
ามทเราตองก นเราไดมกา(Standard -
รบเปลยนแกไ Invite"
รม Microsoft
การทดสอบใรทดลอง
- Compliant
ไข 6 จด (N
t Visual Stud
นหนาของ N
t OPTIONS
Non - Comp
dio 2013 ทเ
Net.sln โดยส
S) ในขนตอน
pliant OPTIO
เปดไฟล Net
45
สามารถด
น "After
ONS) ใน
.sln
46
ตารางท 4.1 อธบายตว code ทมการปรบเปลยนแตละครงในการทดลอง
เลอกขนตอนการสง OPTION message
แก method หลง "SIP_Methods." เปนขนตอนทตองการสง
//ถาเราตองการสงขอความในขนตอนหลงจาก Register if (e.Request.RequestLine.Method == SIP_Methods.REGISTER) //ถาเราตองการสงขอความในขนตอนหลงจาก Invite if (e.Request.RequestLine.Method == SIP_Methods.INVITE)
แบบปรบเปลยนแกไข 6 จด (Non - Compliant OPTIONS)
1.) แกไข Invalid Version
//แกไข Version ใน RequestLine optionsTransaction.Request.RequestLine.Version = "SIP/99.0"; //แกไข Version ใน Via optionsTransaction.Request.Via.GetTopMostValue().ProtocolVersion = "99.0";
2.) แกไข Invalid Via Address
HostEndPoint localhost = new HostEndPoint("127.0.0.1", -1); optionsTransaction.Request.Via.GetTopMostValue().SentBy = localhost;
3.) แกไข Incorrect Content-Length
optionsRequest.ContentLength = 10;
4.) แกไข Malformed CSeq
optionsTransaction.Request.CSeq.RequestMethod = "";
5.) แกไข Missing Call-ID
optionsTransaction.Request.CallID = null;
6.) แกไข Incompatible Transport Protocol
optionsTransaction.Request.Via.GetTopMostValue().ProtocolTransport = "TCP";
3.) หลงจากLibrary
รปท 4.21 ห
4.) จากนนม
รปท 4.22SIP_Proxy_
กทาการปรบ
หนาจอโปรแ
มาทหนาจอ M
2 แสดงหน_demo.sln
เปลยนแกไข
กรม Microso
Microsoft Vis
นาจอโปรแกร
code แลว
oft Visual StSoluti
sual Studio
รม Micros
ว กด Build
tudio 2013 ทon
2013 ทเปดไ
soft Visua
Solution
ทเปดไฟล N
ไฟล SIP_Pro
al Studio
เพอทาการ
et.sln ขณะก
roxy_demo.s
2013 ท
47
Compile
กด Build
sln
ทเปดไฟล
5.) กดBuildSIP server
รป
6.) ทาการเพไดกลาวมาแ(Lumisoft) โปรแกรม
รปท 4.24 หStart
d Solutionเพ
ปท 4.23 แสดS
พม Extensioแลวขางตน) โเชนเดม เมอ
หนาจอในการ
พอทาการCo
ดงหนาจอโปรSIP_Proxy_
on (ในการเพโดยใชเบอร อทาการสราง
รเพม Exten
ompileตวโปร
รแกรม Micro_demo.sln ขณ
พม Extensio1000,2000 ง Extension
nsion เพอใชใ
รแกรมและกด
osoft Visual ณะกด Build
on ใหทาเหม และ IP : 1n แลว ใหท
ในการเชอมต
ดปม Start
Studio 2013 Solution
อนขนตอนใน192.168.8.1 าการกดปม
ตอกบ Softp
เพอเปดตวโ
3 ทเปดไฟล
นชวงของ Pa สาหรบ SIPPlay เพอเร
phone หลงจ
48
โปรแกรม
assive ทP server รมใชงาน
ากกดปม
4.3. สวนจะเชอมตอใหเปน 192.16 1.) ทาการเป
2.2 ขนตอนนของ Softphหเปน 192.18.8.135 และ
ปดโปรแกรม
นการตงคารhone ไดใชตว68.8.1 และคะ 192.168.8.
Softphone
รปท 4.25 แ
ะบบ SIP Soวเดมทมการคา IP ของระ.147
และกดปม M
แสดงหนาจอโ
oftphone (Cตงคาไว แคะบบปฏบตกา
Main Menu ด
โปรแกรม 3C
Client) เปลยนคา IPารทตดตง So
ดานลาง
CXPhone
P ของ SIP softphone ทง
49
server ทง 2 ฝ งให
2.) กดปม A
3.) กดปม E
Accounts เพอ
รปท 4.2
Edit เพอทากา
รปท 4.27
อทาการตงคา
6 แสดงหนา
ารแกไข IP ข
7 แสดงหนาจ
า
จอ Main Me
ของ SIP serv
จอเพม Acco
enu ของโปร
ver
ount ของโปร
แกรม 3CXP
รแกรม 3CXP
Phone
Phone
50
4.) ทาการแaddress: 1เชนเดยวกน
รปท 4
แกไข IP ขอ192.168.8.1 น) กดปม OK
4.28 แสดงหน
อง SIP ser ซงเปนเคร
K
นาจอกรอกข
rver จากเดมรองแมขาย
อมลในการส
ม ip addreLumisoft (ท
สราง Accoun
ss: 192.168ทาการตงคา
nt ของโปรแก
8.1.8 เปลยน Softphone
กรม 3CXPho
51
นเปน ip e ทกตว
one
5.) เมอตงคา
รปท 4.2 4.4 การทดล4.4.1 การท เนอแพคเกจใกลประเภทเดยวการสรปผลกของเครองลก 4.4.(Elastix 2.4 1.) (Elastix 2.4เครองแมขายregister กบ4.30 - 4.33
าเสรจ กดปม
29 แสดงหนา
ลองและผลกดลองและผงจากการทดลเคยงกน จงวกนมาใหดอการทดลอง กขายทง 7 ต
1.1 ทาการ4.0) โดยใชโปทดลองใชโป
4.0) ทาการดย ip addreบเครองแมขา
ม OK
าจอหลงจากส
การทดลอง ลการทดลอลองกบ Sofจะขอยกตวออยางละ 2 ตว
ตว
ดกจบขอมลปรแกรม Wiปรแกรม 3cxดกจบเครองลess : 192.ย Elastix 2
สราง Accoun
องในชวงท 1ftphone ทง อยางภาพการว คอ "3CXp
ลแบบ Passireshark xPhone เชอลกขาย ip ad.168.1.8 โด2.4.0 และก
nt เรยบรอยแ
1 7 ตว จะมรทดลองของphone" กบ "
sive ระหวา
อมตอกน 2 ddress : 19ดยไดมการดกรองขอมลเฉพ
แลวของโปรแ
ลกษณะการ Softphone "ExpressTal
าง Softphon
เครอง โดยผ2.168.1.10 กจบตงแตเครพาะ SIP โด
แกรม 3CXP
รทดลองและกe ทมาจากกาlk" และจะใช
ne กบ SIP
ผานทางเครอ,192.168.1.รองลกขายเรดยไดแสดงผ
52
hone
การดกจบารทดลองชตารางใน
P server
องแมขาย 15 และรมทาการ ผลในรปท
รปท 4.30 แเครองแมขาย
แสดงหนาการย Elastix 2.4
รดกจบแพกเ4.0
กจผานโปรแแกรม Wireshhark ของ 3CCXPhone โด
53
ยใช
รปท 4.31 แแมขาย Elas
รปท 4.32
แสดงการเชอstix 2.4.0
แสดงรายละ
มตอในรปแบ
ะเอยดสวนขอ
บบของ flow
อง SIP Mess
ระหวางเครอ
sage ในแพก
องลกขาย 3C
กเกจ Registe
CXPhone แล
ter ของ 3CX
54
ละเครอง
XPhone
รปท 4.3
2.) ทาการดเครองแมขาย192.168.1.14.37
รปท 4.34 แเครองแมขาย
33 แสดงรายล
กจบใหม โดย (Elastix 15 และเครอ
แสดงหนาการย Elastix 2.4
ละเอยดสวนข
ยทดลองใชโ2.4.0) ทา
องแมขาย ip
รดกจบแพกเ4.0
ของ SIP Me
ปรแกรม Exาการดกจบเคp address :
กจ ผานโปร
essage ในแพ
xpressTalk เชครองลกขาย 192.168.1.
แกรม Wires
พกเกจ Invite
ชอมตอกน 2ip addres
.8 โดยไดแส
hark ของ Ex
e ของ 3CXP
2 เครอง โดยss : 192.1สดงผลในรปท
xpress Talk
55
Phone
ยผานทาง68.1.10, ท 4.34 -
โดยใช
รปท 4.35 แเครองแมขาย
รปท 4.36 แ
รปท 4.37
แสดงการเชอยElastix 2.4
แสดงรายละเ
7 แสดงรายละ
มตอในรปแบ.0
เอยดสวนของ
ะเอยดสวนข
บบของ flow
ง SIP Messa
อง SIP Mes
ระหวางเครอ
age ในแพกเ
ssage ในแพก
องลกขาย Ex
เกจ Registe
กเกจ Invite
xpress Talk
er ของ Expre
ของ Expres
56
และ
ess Talk
ss Talk
57
4.4.1.1.1 ผลการทดลองในชวงท 1 จากการเชอมตอเครองแมขาย Elastix 2.4.0 ลกษณะการจดเรยง Header ของ SIP Message แตละประเภท ทไดทาการทดลองแบบ Passive ใน Softphone ทง 7 ยหอ โดยไดมการวเคราะหแพคเกจระหวางเครองตนทาง (Ext.1000) กบเครองแมขาย Elastix 2.4.0 จากนนไดนา Header ของ message ทพบเหนโดยทวไปในการเชอมตอแสดงออกมาเปนตาราง และทาการสรปวเคราะหเปรยบเทยบระหวาง Softphone ดงตารางท 4.2 - 4.8
ตารางท 4.2 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (REGISTER) ไปยงเครองแมขาย Elastix 2.4.0 เพอทาการขอ Register Softphone Header Fields in REGISTER Message
Zoiper Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Expires,Allow,Supported,User‐Agent,Authorization,Allow‐Events ,Content‐Length
3CXPhone Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Expires,Allow,Supported,User‐Agent,Authorization,Content‐Length
X‐Lite Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Expires,Allow,User‐Agent,Authorization,Content‐Length
Express Talk
Via,Max‐Forwards,To,From,Call‐ID,CSeq,Contact,Authorization,User‐Agent,Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards,Supported,Contact,Expires,User‐Agent,Authorization
Phoner Via,From,To,Call‐ID,CSeq,Contact,Authorization,Allow,Max‐Forwards,User‐Agent,Expires,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length,Authorization
สรปผลทไดจากสวนของ Request message (Register) จะเหนวาไมม softphone ยหอใด ทม Header fields เรยงลาดบเหมอนกน ตารางท 4.3 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Invite) ไปยงเครองแมขาย Elastix 2.4.0 เพอทาการขอตดตอกบเครองปลายทาง(Ext.2000) Softphone Header Fields in INVITE Message
Zoiper Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Authorization,Allow‐Events,Content‐Length
3CXPhone Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Authorization,Content‐Length
X‐Lite Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Authorization,Content‐Length
Express Talk
Via,To,From,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Contact,Authorization,Allow,Supported,Content‐Type,Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards,Supported,Allow,Content‐Type,Content‐Length,Contact,User‐Agent,Authorization
Phoner Via,From,To,Call‐ID,CSeq,Contact,Content‐Type,Allow,Max‐Forwards,Supported,User‐Agent,P‐Preferred‐Identity,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length,Content‐Type,Supported,Authorization
58
สรปผลทไดจากสวนของ Request message (Invite) จะเหนวา Softphone ยหอ 3CXPhone และ X-Lite มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน ตารางท 4.4 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองแมขาย Elastix 2.4.0 ไดรบ Request message (Invite) จากเครองตนทาง (Ext.1000) และไดมการสง Response message (Trying) ไปยงเครองตนทาง (Ext.1000) เพอทาการยนยนวาไดรบคารองขอแลว Softphone Header Fields in TRYING Message
Zoiper Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Session‐Expires,Contact,Content‐Length
3CXPhone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
X‐Lite Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
Express Talk Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
Linphone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
Phoner Via,From,To,Call‐ID,CSeq,Allow,Server,Content‐Length
SJphone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Session‐Expires,Contact,Content‐Length
สรปผลทไดจากสวนของ Response message (Trying) จะเหนวา Softphone สวนใหญมลาดบการเรยงของ Header ทเหมอนกน ยกเวน Softphone ยหอ Zoiper และ SJphone ทม field ของ "Session-Expires" เพมขนมา สวน Softphone ยหอ Phoner จะไมม field ของ "Supported" กบ "Contact" และ field ของ "Allow" กบ "Server" เรยงสลบทกน ตารางท 4.5 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองแมขาย Elastix 2.4.0 ไดมการสง Response message (Ringing) ไปยงเครองตนทาง (Ext.1000) เพอแจงใหทราบสถานะทกาลงดาเนนการ Softphone Header Fields in RINGING Message
Zoiper Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Session‐Expires,Contact,Content‐Length
3CXPhone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
X‐Lite Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
Express Talk Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
Linphone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Length
Phoner Via,From,To,Call‐ID,CSeq,Contact,Allow,Server,Content‐Length
SJphone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Session‐Expires,Contact,Content‐Length
สรปผลทไดจากสวนของ Response message (Ringing) จะเหนวา Softphone สวนใหญมลาดบการเรยงของ Header ทเหมอนกน ยกเวน Softphone ยหอ Zoiper และ SJphone ทม field ของ "Session-Expires" เพมขนมา สวน Softphone ยหอ Phoner จะไมม field ของ "Supported" และ field ของ "Contact" กบ "Server" เรยงสลบทกน ซงมลกษณะการจดเรยงเหมอนกบ Response message (Trying)
59
ตารางท 4.6 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองแมขาย Elastix 2.4.0 ไดมการสง Response message (200 OK) ไปยงเครองตนทาง (Ext.1000) ซงเปน message ทถกสงมาจากเครองปลายทาง (Ext.2000) วาไดดาเนนการเรยบรอยแลว Softphone Header Fields in 200 OK Message
Zoiper Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Session‐Expires,Contact,Content‐Type,Require,Content‐Length
3CXPhone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Type,Content‐Length
X‐Lite Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Type,Content‐Length
Express Talk
Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Type,Content‐Length
Linphone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Contact,Content‐Type,Content‐Length
Phoner Via,From,To,Call‐ID,CSeq,Contact,Content‐Type,Allow,Supported,Server,Content‐Length
SJphone Via,From,To,Call‐ID,CSeq,Server,Allow,Supported,Session‐Expires,Contact,Content‐Type,Require,Content‐Length
สรปผลทไดจากสวนของ Response message (200 OK) จะเหนวา Softphone สวนใหญมลาดบการเรยงของ Header ทเหมอนกน ยกเวน Softphone ยหอ Zoiper และ SJphone ทม field ของ "Session-Expires" และ "Require" เพมขนมา สวน Softphone ยหอ Phoner จะม field ของ "Content-Type" และ "Supported" เพมขนมา และ มลาดบการเรยงของ Header ทไมเหมอนกน ตารางท 4.7 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดรบ Response message (200 OK) จากเครองแมขาย Elastix 2.4.0 และไดมการสง Request message (Ack) กลบไปยงเครองแมขาย Elastix 2.4.0 เพอทาการยนยนวาไดรบขอความท server สงมาเรยบรอยแลว Softphone Header Fields in ACK Message
Zoiper Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,User‐Agent,Authorization,Content‐Length
3CXPhone Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,User‐Agent,Authorization,Content‐Length
X‐Lite Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
Express Talk Via,To,From,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Authorization,Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards,Authorization
Phoner Via,From,To,Call‐ID,CSeq,Contact,Max‐Forwards,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length,Authorization
สรปผลทไดจากสวนของ Request message (Ack) จะเหนวา Softphone ยหอ Zoiper และ 3CXPhone มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน สวน Softphone ยหอ Phoner และ X-Lite จะไมม field ของ " Authorization"
60
ตารางท 4.8 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (BYE) ไปยงเครองแมขาย Elastix 2.4.0 เพอทาการขอยกเลกการตดตอ Softphone Header Fields in BYE Message
Zoiper Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,User‐Agent,Authorization,Content‐Length
3CXPhone Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,User‐Agent,Authorization,Content‐Length
X‐Lite Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,User‐Agent,Authorization,Content‐Length
Express Talk Via,To,From,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards,User‐Agent,Authorization
Phoner Via,From,To,Call‐ID,CSeq,Contact,Max‐Forwards,User‐Agent,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length,Supported
สรปผลทไดจากสวนของ Request message (BYE) จะเหนวา Softphone ยหอ Zoiper , 3CXPhone และ X-Lite มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน 4.4.1.2 ทาการดกจบขอมลแบบ Passive ระหวาง Softphone กบ SIP server (Lumisoft) โดยใชโปรแกรม Wireshark 1.) ทดลองใชโปรแกรม 3cxPhone เชอมตอกน 2 เครอง โดยผานทางเครองแมขาย (Lumisoft) ทาการดกจบเครองลกขาย ip address : 192.168.8.135 , 192.168.8.147 และเครองแมขาย ip address : 192.168.8.1 โดยไดมการดกจบตงแตเครองลกขายเรมทาการ register กบเครองแมขาย Lumisoft และกรองขอมลเฉพาะ SIP โดยไดแสดงผลในรปท 4.38 - 4.41
รปท 4.38 แเครองแมขาย
แสดงหนาการย Lumisoft
รดกจบแพกเกจผานโปรแแกรม Wireshhark ของ 3CCXPhone โด
61
ยใช
รปท 4.39 แ
รปท 4.40
แสดงการเชอ
แสดงรายละ
อมตอในรปแบ
ะเอยดสวนขอ
บบของ flow แมขาย Lu
อง SIP Mess
ระหวางเครอumisoft
sage ในแพก
องลกขาย 3C
กเกจ Registe
CXPhone แล
ter ของ 3CX
62
ละเครอง
XPhone
รปท 4.4 2.) ทาการดเครองแมขาย192.168.8.14.45
รปท 4.42 แเครองแมขาย
41 แสดงราย
กจบใหม โดย (Lumisof147 และเคร
แสดงหนาการย Lumisoft
ละเอยดสวน
ยทดลองใชโft) ทาการดรองแมขาย i
รดกจบแพกเ
นของ SIP Me
ปรแกรม Exดกจบเครองลp address
กจ ผานโปร
essage ในแพ
xpressTalk เชลกขาย ip : 192.168.8
แกรม Wires
พกเกจ Invite
ชอมตอกน 2address :.1 โดยไดแส
hark ของ Ex
eของ 3CXPh
2 เครอง โดย: 192.168.สดงผลในรปท
xpress Talk
63
hone
ยผานทาง8.135 , ท 4.42 -
โดยใช
รปท 4.43 แเครองแมขาย
รปท 4.44 แ
รปท 4.45
แสดงการเชอย Lumisoft
แสดงรายละเ
5 แสดงรายละ
มตอในรปแบ
เอยดสวนของ
ะเอยดสวนข
บบของ flow
ง SIP Messa
อง SIP Mes
ระหวางเครอ
age ในแพกเ
ssage ในแพก
องลกขาย Ex
เกจ Registe
กเกจ Invite
xpress Talk
er ของ Expre
ของ Expres
64
และ
ess Talk
ss Talk
65
4.4.1.2.1 ผลการทดลองในชวงท 1 จากการเชอมตอเครองแมขาย Lumisoft ลกษณะการจดเรยง Header ของแตละ Message ทไดทาการทดลองแบบ Passive ใน Softphone ทง 7 ยหอ โดยไดมการวเคราะหแพคเกจระหวางเครองตนทาง (Ext.1000) กบเครองแมขาย Lumisoft จากนนไดนา Header ของ message ทพบเหนโดยทวไปในการเชอมตอแสดงออกมาเปนตาราง และทาการสรปวเคราะหเปรยบเทยบระหวาง Softphone และ SIP server ดงตารางท 4.9 - 4.15
ตารางท 4.9 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Register) ไปยงเครองแมขาย Lumisoft เพอทาการขอ Register Softphone Header Fields in REGISTER Message
Zoiper Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Expires,Allow,Proxy‐Authorization,Supported,User‐Agent,Allow‐Events ,Content‐Length
3CXPhone Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Expires,Allow,Proxy‐Authorization,Supported,User‐Agent,Content‐Length
X‐Lite Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Expires,Allow,Proxy‐Authorization,User‐Agent,Content‐Length
Express Talk
Via,Max‐Forwards,To,From,Call‐ID,CSeq,Contact,Proxy‐Authorization,User‐Agent, Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards,Supported,Contact,Expires,User‐Agent,Proxy‐Authorization
Phoner Via,From,To,Call‐ID,CSeq,Contact,Proxy‐Authorization,Allow,Max‐Forwards,User‐Agent,Expires,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length, Proxy‐Authorization
สรปผลทไดจากสวนของ Request message (Register) โดยสงเกตจาก Header ภายใน message จะเหนวาไมม softphone ยหอใด ทม Header fields เรยงลาดบเหมอนกน ในสวนของการเปรยบเทยบ Request message (Register) ระหวางเครองแมขาย Elastix กบ Lumisoft สวนทแตกตางกนคอ Header เดยวกนแตมชอตางกน โดย Elastix ใชชอ Authorization สวน Lumisoft ใชชอ Proxy-Authorization และตาแหนงการวาง Header ของ 3 ยหอแรกมการสลบทกน
66
ตารางท 4.10 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (Invite) ไปยงเครองแมขาย Lumisoft เพอทาการขอตดตอกบเครองปลายทาง (Ext.2000) Softphone Header Fields in INVITE Message
Zoiper Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Allow‐Events,Content‐Length
3CXPhone Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Content‐Length
X‐Lite Via,Max‐Forwards,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Content‐Length
Express Talk
Via,To,From,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Contact,Allow,Supported,Content‐Type,Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards,Supported,Allow,Content‐Type,Content‐Length,Contact,User‐Agent
Phoner Via,From,To,Call‐ID,CSeq,Contact,Content‐Type,Allow,Max‐Forwards,Supported,User‐Agent,P‐Preferred‐Identity,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length,Content‐Type,Supported
สรปผลทไดจากสวนของ Request message (Invite) จะเหนวา Softphone ยหอ 3CXPhone และ X-Lite มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน ในสวนของการเปรยบเทยบ Request message (Invite) ระหวางเครองแมขาย Elastix กบ Lumisoft สวนทแตกตางกนคอ Elastix จะม Header "Authorization" แทรกอยดวย ซง Lumisoft ไมม สวนการจดเรยง Header ตวอนมการจดเรยงเหมอนกน ตารางท 4.11 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองแมขาย Lumisoft ไดรบ Request message (Invite) จากเครองตนทาง (Ext.1000) และไดมการสง Response message (Trying) ไปยงเครองตนทาง (Ext.1000) เพอทาการยนยนวาไดรบคารองขอแลว Softphone Header Fields in TRYING Message
Zoiper Via,From,To,Call‐ID,CSeq,Allow,Content‐Length
3CXPhone ‐
X‐Lite Via,From,To,Call‐ID,CSeq,Allow,Content‐Length
Express Talk Via,From,To,Call‐ID,CSeq,Allow,Content‐Length
Linphone Via,From,To,Call‐ID,CSeq,Allow,Content‐Length
Phoner Via,From,To,Call‐ID,CSeq,Allow,Server,Content‐Length
SJphone Via,From,To,Call‐ID,CSeq,Allow,Content‐Length
สรปผลทไดจากสวนของ Response message (Trying) จะเหนวา Softphone สวนใหญมลาดบการเรยงของ Header ทเหมอนกน ยกเวน Softphone ยหอ Phoner ทม field ของ "Server" เพมขนมา สวน Softphone ยหอ 3CXphone ในการดกจบจะไมม Response message (Trying) นโชวขนมา
67
ในสวนของการเปรยบเทยบ Response message (Trying) ระหวางเครองแมขาย Elastix กบ Lumisoft ;Phoner ยงคงเหมอนเดม สวนทแตกตางกนคอ Elastix จะม Header "Server ,Supported ,Contact" แทรกอยทกตว และจะม "Session-Expires" เพมเขามาใน Zoiper และ SJphone ดวย ตารางท 4.12 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองแมขาย Lumisoft ไดมการสง Response message (Ringing) ไปยงเครองตนทาง (Ext.1000) เพอแจงใหทราบสถานะทกาลงดาเนนการ Softphone Header Fields in RINGING Message
Zoiper Via,Record‐Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
3CXPhone Via,Record‐Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
X‐Lite Via, Record‐Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Allow‐Events,Content‐Length
Express Talk Via,Record‐Route,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
Linphone Via,From,To,Call‐ID,CSeq,User‐Agent,Supported,Content‐Length
Phoner Via,From,To,Call‐ID,CSeq,Contact,Allow,Server,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Record‐Route,Server,Content‐Length
สรปผลทไดจากสวนของ Response message (Ringing) จะเหนวา Softphone ยหอ Zoiper ,3CXPhone มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน ในสวนของการเปรยบเทยบ Response message (Ringing) ระหวางเครองแมขาย Elastix กบ Lumisoft ;Phoner ยงคงเหมอนเดม สวนทแตกตางกนคอ Lumisoft จะม Header "Record-Route" เพมขนมา ยกเวน Linphone และม "User-Agent" เพมเขามา ยกเวน SJphone สวน X-Lite ม "Allow-Events" เพมขนมา ในสวน Elastix จะม Header "Server ,Allow ,Supported" แทรกอยในบางตว และจะม "Session-Expires" เพมเขามาใน Zoiper และ SJphone ดวย ตารางท 4.13 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองแมขาย Lumisoft ไดมการสง Response message (200 OK) ไปยงเครองตนทาง (Ext.1000) ซงเปน message ทถกสงมาจากเครองปลายทาง (Ext.2000) วาไดดาเนนการเรยบรอยแลว Softphone Header Fields in 200 OK Message
Zoiper Via, Record‐Route,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Allow‐Events,Content‐Length
3CXPhone Via, Record‐Route,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Content‐Length
X‐Lite Via,Record‐Route,Contact,To,From,Call‐ID,CSeq,Allow,Content‐Type,Supported,User‐Agent,Content‐Length
Express Talk
Via, Record‐Route,To,From,Call‐ID,CSeq,User‐Agent,Contact,Allow,Accept,Supported,Content‐Type,Content‐Length
Linphone Via,From,To,Call‐ID,CSeq,User‐Agent,Supported,Allow,Contact,Content‐Type,Content‐Length
Phoner Via,From,To,Call‐ID,CSeq,Contact,Content‐Type,Allow,Supported,Server,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Content‐Type,Record‐Route,Server,Supported,Content‐Length
68
สรปผลทไดจากสวนของ Response message (200 OK) จะเหนวา Softphone ยหอ 3CXPhone ,X-Lite มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน ในสวนของการเปรยบเทยบ Response message (200 OK) ระหวางเครองแมขาย Elastix กบ Lumisoft ;Phoner ยงคงเหมอนเดม สวนทแตกตางกนคอ Lumisoft จะม Header "Record-Route" เพมขนมา ยกเวน Linphone และม "User-Agent" เพมเขามา ยกเวน SJphone และม "Allow-Events" เพมขนมาใน Zoiper สวนการจดเรยง Header จะไมเหมอน Elastix เพราะมการสลบไปมา ตารางท 4.14 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดรบ Response message (200 OK) จากเครองแมขาย Lumisoft และไดมการสง Request message (Ack) กลบไปยงเครองแมขาย Lumisoft เพอทาการยนยนวาไดรบขอความท server สงมาเรยบรอย Softphone Header Fields in ACK Message
Zoiper Via,Max‐Forwards,Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
3CXPhone Via,Max‐Forwards,Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
X‐Lite Via,Max‐Forwards,Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
Express Talk Via,To,From,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Route,Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards
Phoner Via,From,To,Call‐ID,CSeq,Contact,Max‐Forwards,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length,Route
สรปผลทไดจากสวนของ Request message (Ack) จะเหนวา Softphone ยหอ Zoiper ,3CXPhone และ X-Lite มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน ในสวนของการเปรยบเทยบ Request message (Ack) ระหวางเครองแมขาย Elastix กบ Lumisoft ;Phoner ยงคงเหมอนเดม สวนทแตกตางกนคอ Elastix จะม Header "Authorization" แทรกอยแทบทกตว ยกเวน X-Lite สวน Lumisoft จะม "Route" เพมขนมาแทบทกตว ยกเวน Linphone
69
ตารางท 4.15 แสดง Header จากผลการทดลองของแตละ Softphone ขณะทเครองตนทาง (Ext.1000) ไดมการสง Request message (BYE) ไปยงเครองแมขาย Lumisoft เพอทาการขอยกเลกการตดตอ Softphone Header Fields in BYE Message
Zoiper Via,Max‐Forwards,Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
3CXPhone Via,Max‐Forwards,Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
X‐Lite Via,Max‐Forwards,Route,Contact,To,From,Call‐ID,CSeq,User‐Agent,Content‐Length
Express Talk Via,To,From,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Route,Content‐Length
Linphone Via,From,To,CSeq,Call‐ID,Max‐Forwards,User‐Agent
Phoner Via,From,To,Call‐ID,CSeq,Contact,Max‐Forwards,User‐Agent,Content‐Length
SJphone Via,From,To,Contact,Call‐ID,CSeq,Max‐Forwards,User‐Agent,Content‐Length,Route,Supported
สรปผลทไดจากสวนของ Request message (BYE) จะเหนวา Softphone ยหอ Zoiper , 3CXPhone และ X-Lite มลาดบการเรยงของ Header ทเหมอนกน สวน Softphone ยหออนมลาดบการเรยงของ Header ทไมเหมอนกน ในสวนของการเปรยบเทยบ Request message (BYE) ระหวางเครองแมขาย Elastix กบ Lumisoft ;Phoner ยงคงเหมอนเดม สวนทแตกตางกนคอ Elastix จะม Header "Authorization" แทรกอยแทบทกตว ยกเวน Express Talk , SJphone สวน Lumisoft จะม "Route" เพมขนมาแทบทกตว ยกเวน Linphone 4.4.1.3 สรปผลการทดลองในชวงท 1 - เปรยบเทยบการเชอมตอ Softphone แตละยหอ กบเครองแมขาย Elastix (ตารางท 4.2 - 4.8) จะเหนวา Header ของ SIP message แตละประเภทของแตละยหอจะมการจดเรยงของ Header ทแตกตางกนออกไป มเพยง Softphone 2 ยหอทมการจดเรยงทเหมอนกนใน SIP message บางประเภท สวน SIP message บางประเภท เชน Trying ,Ringing ,200OK ของ Softphone แตละยหอจะมรปแบบการจดเรยงของ Header ทใกลเคยงกนคอนขางมาก - เปรยบเทยบการเชอมตอ Softphone แตละยหอ กบเครองแมขาย Lumisoft (ตารางท 4.9 - 4.15) จะเหนวา Header ของ SIP message แตละประเภทของแตละยหอจะมการจดเรยงของ Header ทแตกตางกนออกไป มเพยง Softphone 2 - 3 ยหอทมการจดเรยงทเหมอนกนใน SIP message บางประเภท - เปรยบเทยบการเชอมตอ Softphone ยหอเดยวกน กบเครองแมขายตางชนดกน (Elastix , Lumisoft) Softphone ยหอเดยวกน แตมการเชอมตอกบเครองแมขายคนละตวกน กจะมรปแบบของการจดเรยง Header ใน SIP message แตละประเภททตางกนออกไป และบาง Header มทงหายไป และเพมเขามา ใน SIP message บางประเภท ยกตวอยางทเหนได
ชดเจนคอชอLumisoft ม นน ม SIP m 4.4. 4.4.(Lumisoft) OPTIONS ใ1.) ทดลองใชทาการดกจบip address ชวง คอ "Aft
รปท 4.46
อของ HeadeHeader ทเพ
message บา
2 การทดลอ2.1 ทาการ โดยใชโใน ขนตอนชโปรแกรม 3บเครองลกขา : 192.168.ter Regist" แ
แสดงหนากาโดยใช
er ทไมเหมอนพมเขามาคองประเภทจะม
องและผลการดกจบขอมลโปรแกรม Wน "After Reg3cxPhone เชาย ip addres8.1 โดยในกและ "After In
ารดกจบแพกชเครองแมขา
นกนระหวาง Record-Roมการสลบทก
ารทดลองในลแบบ Acti
Wireshark ซgist" และ "Aชอมตอกน 2ss : 192.16การทดลองจะnvite" โดยได
กเกจ Optionsย Lumisoft ใ
Authorizatioute ,Route กนเลกนอย บ
นชวงท 2 ive ระหวางซงใช messaAfter Invite"2 เครอง โดย8.8.135 , 1ะแบงการสง ดแสดงผลในร
s ผานโปรแกในขนตอนขอ
on กบ Proxเปนตน การ
บางประเภทก
ง Softphonage แบบ S" ผานทางเคร92.168.8.14OPTION m
รปท 4.46 - 4
กรม Wireshaอง After Reg
xy-Authorizaรจดเรยงของกแตกตางกน
ne กบ SIPStandard-Co
องแมขาย (L47 และเครอmessage ออ4.51
ark ของ 3CXgist
70
ation และ Header
นมาก
P server ompliant
Lumisoft) องแมขาย อกเปน 2
XPhone
รปท 4.47
จะเหนไดวาลHeader หลก
รปท 4.48
แสดงหนากาโดยใช
ลกษณะของ กๆทเหมอนก
8 แสดงรายละ
ารดกจบแพกชเครองแมขา
OPTION mกน ตางเพยง
ะเอยดสวนข
กเกจ Optionsาย Lumisoft
message ในขงขอมลเฉพาะ
อง SIP Mes
s ผานโปรแก ในขนตอนข
ขนตอน Afterะภายในทเกด
ssage ในแพก
กรม Wireshaอง After inv
r Regist และดขนจากการเ
กเกจ Option
ark ของ 3CXvite
ะ After Inviteเชอมตอแตล
ns ของ 3CX
71
XPhone
e ม ละครง
Phone
รปท 4.49
รปท 4.50
แสดงหนากาโดยใช
แสดงหนากาโดยใช
ารดกจบแพกชเครองแมขา
ารดกจบแพกชเครองแมขา
กเกจ 200OKย Lumisoft ใ
กเกจ 200OKาย Lumisoft
K ผานโปรแกในขนตอนขอ
K ผานโปรแก ในขนตอนข
กรม Wireshaอง After Reg
กรม Wireshaอง After inv
ark ของ 3CXgist
ark ของ 3CXvite
72
XPhone
XPhone
การตอบกลบInvite ,Ack ,
รปท 4.51
2.) ทาการดเครองแมขาย192.168.8.1OPTION mรปท 4.52 -
รปท 4.52 แ
บตอ OPTIO,Cancel ,Op
1 แสดงรายล
กจบใหม โดย (Lumisof147 และเครessage ออก4.57
แสดงหนาการโดยใช
N messageptions ,Bye ,
ะเอยดสวนข
ยทดลองใชโft) ทาการดรองแมขาย ipกเปน 2 ชวง
รดกจบแพกเชเครองแมขา
e ของ 3CXphRegister ,Su
ของ SIP Mes
ปรแกรม Exดกจบเครองลp address : คอ "After
เกจ Options ย Lumisoft ใ
hone คอ Staubscribe ,No
ssage ในแพ
xpressTalk เชลกขาย ip 192.168.8.Regist" และ
ผานโปรแกรในขนตอนขอ
atus code : otify ,Refer
กเกจ 200OK
ชอมตอกน 2address :
1 โดยในการ "After Invit
รม Wiresharอง After Reg
200OK และ,Info ,Messa
K ของ 3CXP
2 เครอง โดย: 192.168.รทดลองจะแบte" โดยไดแส
rk ของ Exprgist
73
ะ Allow : age
Phone
ยผานทาง8.135 , บงการสง สดงผลใน
ess Talk
รปท 4.53 แ
จะเหนไดวาลHeader หลก
รปท 4.54
แสดงหนาการโดยใช
ลกษณะของ กๆทเหมอนก
แสดงรายละ
รดกจบแพกเชเครองแมขา
OPTION mกน ตางเพยง
เอยดสวนขอ
เกจ Options าย Lumisoft
message ในขงขอมลเฉพาะ
ง SIP Mess
ผานโปรแกรในขนตอนข
ขนตอน Afterะภายในทเกด
sage ในแพก
รม Wiresharอง After Inv
r Regist และดขนจากการเ
เกจ Options
rk ของ Exprvite
ะ After Inviteเชอมตอแตล
s ของ Expre
74
ess Talk
e ม ละครง
ess Talk
รปท 4.55Wireshar
5 แสดงหนากrk ของ Expre
การดกจบแพกess Talk โดย
กเกจ 200OKยใชเครองแม
K [Malformeมขาย Lumiso
d Packet: Soft ในขนตอน
SDP] ผานโปนของ After R
75
รแกรม Regist
รปท 4.56Wireshar
การตอบกลบ[Malformed
รปท 4.57 แSDP] ของ E
6 แสดงหนากrk ของ Expr
บตอ OPTIO Packet: SD
แสดงรายละเอExpress Talk
การดกจบแพกress Talk โด
ON messagDP] และ Allow
อยดสวนของk
กเกจ 200OKดยใชเครองแม
ge ของ Exw : Invite ,A
ง SIP Messa
K [Malformeมขาย Lumis
xpress TalkAck ,Cancel
age ในแพกเก
d Packet: Soft ในขนตอ
k คอ Statu,Options ,By
กจ 200OK [
SDP] ผานโปนของ After
us code : ye ,Refer ,N
[Malformed
76
รแกรม Invite
200OK Notify
Packet:
4.4.(Lumisoft) OPTIONS ใ1.) ทดลองใชทาการดกจบip addressmessage ท Invite" แบบท 1 Inเวอรชนของ
รปท 4.58 แโปรแกรม WRegist
2.2 ทาการ โดยใชโในขนตอน ชโปรแกรม 3บเครองลกขาs : 192.16งหมด 6 แบ
nvalid Versi SIP ใหเปน
แสดงหนาการWireshark ขอ
รดกจบขอมลโปรแกรม W"After Regi3cxPhone เชาย ip addres68.8.1 โดยใบ และแตละ
on : ตามท เลขทไมมใน
รดกจบแพกเอง 3CXPhon
ลแบบ ActiWireshark ist" และ "Aชอมตอกน 2ss : 192.16ในการทดลอะแบบจะมการ
RFC กาหน RFC คอ 99
กจ Options ne โดยใชเคร
ive ระหวางซงใช me
After Invite" 2 เครอง โดย8.8.135 , 1องจะเปนการสรสงเปน 2 ชว
นดไว SIP v9.0 โดยไดแส
ทมการปรบรองแมขาย L
ง Softphonssage แบ ผานทางเคร92.168.8.14สง Non-Coวง คอ "Afte
ersion คอ 2สดงผลในรปท
เปลยนเวอรชumisoft ในข
ne กบ SIPบบ Non-Co
องแมขาย (L47 และเครอompliant Oer Regist" แล
2.0 เราไดปรท 4.58 - 4.6
ชนของ SIP ขนตอนของ A
77
P server ompliant
Lumisoft) องแมขาย
OPTIONS ละ "After
รบเปลยน3
ผานAfter
รปท 4.59 แโปรแกรม Winvite จากการแกไLine ,Via ขอความ OP
รปท 4.60 แเวอรชนของ
แสดงหนาการWireshark ขอ
ขปรบเปลยนทาให Wire
PTION mess
แสดงรายละเอ SIP ของ 3C
รดกจบแพกเอง 3CXPhon
นเวอรชนของeshark มองsage
อยดสวนของCXPhone
กจ Options ne โดยใชเคร
ง SIP จากเดวาเปน UD
ง SIP Messa
ทมการปรบรองแมขาย L
ดม 2.0 เปน P แตจากขอ
age ในแพกเก
เปลยนเวอรชumisoft ในข
99.0 ซงอยใอมลดานลาง
กจ Options
ชนของ SIP ขนตอนของ A
ในสวนของ R ทาใหเรารไ
ทมการปรบ
78
ผานAfter
Request-ไดวาเปน
เปลยน
รปท 4.61
รปท 4.62 แโดยใชเครอง
แสดงหนากาโดยใช
แสดงหนาการงแมขาย Lum
ารดกจบแพกชเครองแมขา
รดกจบแพกเmisoft ในขนต
กเกจ 200OKย Lumisoft ใ
กจ 200OK ผตอนของ Afte
K ผานโปรแกในขนตอนขอ
ผานโปรแกรer invite
กรม Wireshaอง After Reg
ม Wireshark
ark ของ 3CXgist
k ของ 3CXP
79
XPhone
Phone
การตอบกลบ
รปท 4.63 จากmessage ทเหมอนกน ทดลองรปแบเดยว แบบท 2 Invตอบกลบไปแสดงผลในร
รปท 4.64 ผานโปรแกรRegist
บตอ OPTIO
3 แสดงรายล
ผลการทดลอทมาจากขนตจะตางแคเพ
บบทเหลอจะ
valid Via Adยงเครองนนไรปท 4.64 - 4
แสดงหนาการม Wireshar
N message
ะเอยดสวนข
องในสวนนจะตอน "After พยงขอมลเฉขอแสดงเพย
ddress : จาได เราไดปร4.67
ารดกจบแพกk ของ 3CXP
ของ 3CXPh
ของ SIP Mes
ะเหนไดวาลกRegist" แลพาะทจะเปลยงหนาจอผลก
ากเดมจะเปนรบเปลยนใหเ
กเกจ OptionPhone โดยใช
hone คอ Sta
ssage ในแพ
กษณะของ Oละ "After Inยนทกครงทมการทดลองข
น ip ของเครอเปนการสงกล
ns ทมการปรชเครองแมขา
atus code : 2
กเกจ 200OK
OPTIONS mnvite" มลกษมการเชอมตออง "After R
องทสงขอควาลบตวเอง คอ
รบเปลยน IPาย Lumisoft
200OK
K ของ 3CXP
message และษณะขอความอใหม ดงนRegist" เพย
ามมา เพอใหอ 127.0.0.1
P address t ในขนตอนข
80
Phone
ะ 200OK มหลกๆทนนในการงขนตอน
หสามารถ1 โดยได
ของ Via ของ After
จากการแกไ
รปท 4.65
รปท 4.66
การตอบกลบ
รปท 4.67
ขปรบเปลยน
แสดงรายละ
แสดงหนากาโดยใช
บตอ OPTIO
7 แสดงรายล
น ip ของเครอ
เอยดสวนขอIP addre
ารดกจบแพกชเครองแมขา
N message
ะเอยดสวนข
องทสงขอคว
อง SIP Messess ของ Via
กเกจ 200OKย Lumisoft ใ
ของ 3CXPh
ของ SIP Mes
ามมา ใหเปน
sage ในแพกa ของ 3CXP
K ผานโปรแกในขนตอนขอ
hone คอ Sta
ssage ในแพ
น 127.0.0.1
เกจ Optionshone
กรม Wireshaอง After Reg
atus code : 2
กเกจ 200OK
ซงอยในสวน
s ทมการปรบ
ark ของ 3CXgist
200OK
K ของ 3CXP
81
นของVia
บเปลยน
XPhone
Phone
แบบท 3 Inตงคาใหเปน4.71
รปท 4.6
Length ใหผ
จากการแกไ
รปท 4.69
correct Coน Content-Le
8 แสดงหนาผดปกต ผาน
ขปรบเปลยน
แสดงรายละขนาด
ntent-Lengtength = 0 เร
การดกจบแพนโปรแกรม W
ในข
นขนาดของ C
เอยดสวนขอดของ Conte
th : จากเดมราจงปรบเปล
พกเกจ OptioWireshark ขอขนตอนของ A
Content-Len
อง SIP Messnt-Length ให
มท OPTIONลยนใหเปน "1
ons ทมการปอง 3CXPhonAfter Regist
gth ใหผดปก
sage ในแพกหผดปกต ขอ
message ไ10" โดยไดแส
ปรบเปลยนขนne โดยใชเคร
กต จากเดมเป
เกจ Optionsอง 3CXPhon
ไมม body คสดงผลในรป
นาดของ Conรองแมขาย L
ปน 0 เปลยน
s ทมการปรบne
82
คานจะถกท 4.68 -
ntent-Lumisoft
นเปน 10
บเปลยน
รปท 4.70
การตอบกลบ
รปท 4.71
แสดงหนากาโดยใช
บตอ OPTIO
1 แสดงรายล
ารดกจบแพกชเครองแมขา
N message
ะเอยดสวนข
กเกจ 200OKย Lumisoft ใ
ของ 3CXPh
ของ SIP Mes
K ผานโปรแกในขนตอนขอ
hone คอ Sta
ssage ในแพ
กรม Wireshaอง After Reg
atus code : 2
กเกจ 200OK
ark ของ 3CXgist
200OK
K ของ 3CXP
83
XPhone
Phone
แบบท 4 Mเชน "2 OPTแสดงผลในร
รปท 4.72 แโปรแกรม WRegist จากการแกไ
รปท 4.73 แCseq ใหผด
alformed CTIONS" เราไรปท 4.72 - 4
แสดงหนาการWireshark ขอ
ขปรบเปลยน
แสดงรายละเอปกต ของ 3C
CSeq : คา Cไดปรบเปลยน4.75
รดกจบแพกเอง 3CXPhon
นคา CSeq โด
อยดสวนของCXPhone
CSeq เปนคนเอาคาวา "O
กจ Options ne โดยใชเคร
ดยเอาคาวา "
ง SIP Messa
าเพอบอกลาOPTIONS" อ
ทมการปรบรองแมขาย L
"OPTIONS"
age ในแพกเก
าดบของ mesออก เหลอแค
เปลยน Csequmisoft ในข
ออก เหลอแ
กจ Options
ssage แตละคลาดบตวเลข
q ใหผดปกตข นตอนของ A
แตลาดบตวเล
ทมการปรบ
84
ะประเภท ข โดยได
ผานAfter
ลข
เปลยน
รปท 4.7Wiresha
การตอบกลบCseq heade
รปท 4.75 แheader ของ
74 แสดงหนาark ของ 3CX
บตอ OPTIOer
แสดงรายละเอ 3CXPhone
าการดกจบแXPhone โดยใ
ON message
อยดสวนของe
แพกเกจ 400 ใชเครองแมข
e ของ 3CX
ง SIP Messa
Malformed ขาย Lumisof
XPhone คอ
age ในแพกเก
Cseq headeft ในขนตอนข
Status cod
กจ 400 Malf
er ผานโปรแของ After R
e : 400 Ma
formed Cse
85
แกรม Regist
alformed
q
แบบท 5 Miเราไดปรบเป
รปท 4.76 แWireshark ข จากการแกไmessage ท
รปท 4.77 แทงบรรทด ข ในข มการตอบกล
issing Call-ปลยนเอา he
แสดงหนาการของ 3CXPho
ขปรบเปลยนสราง Call-ID
แสดงรายละเอของ 3CXPho
นตอนการสงลบของ Optio
-ID : Call-IDader นออกท
รดกจบแพกเone โดยใชเค
นเอา headerD จะอยระหว
อยดสวนของone
ง Option นจon ทสงไป
D ถอเปน heทงบรรทด โด
กจ Options ครองแมขาย
r : "Call-ID" วาง From กบ
ง SIP Messa
ะสงเกตเหนไ
ader หลก โดยไดแสดงผล
ทมการลบ C Lumisoft ใน
ออกทงบรรทบ Cseq
age ในแพกเก
ไดจากหนาข
โดยใชระบหมลในรปท 4.76
Call-ID ทงบรนขนตอนของ
ทด ซงโดยปก
กจ Options
อง Wiresha
มายเลขของก6 - 4.77
รรทด ผานโปง After Regis
กตใน OPTIO
ทมการลบ C
ark วา 3CXp
86
การตดตอ
ปรแกรม st
ON
Call-ID
hone ไม
แบบท 6 Incน จะถกระบปรบเปลยนใ
รปท 4.78 แโปรแกรม WRegist จากการแกไอยในสวนขอ
รปท 4.79
compatibleอยในสวนขอใหเปน "TCP
แสดงหนาการWireshark ขอ
ขปรบเปลยนอง Via
แสดงรายละ
e Transport อง Via headP" โดยไดแสด
รดกจบแพกเอง 3CXPhon
นตว Transpo
เอยดสวนขอTranspo
Protocol : der ซง Softpดงผลในรปท
กจ Options ne โดยใชเคร
ort Protocol
อง SIP Messort Protocol
ตามท RFCphone ทใชท 4.78 - 4.81
ทมการปรบรองแมขาย L
ใหเปน TCP
sage ในแพก ของ 3CXPh
C กาหนด ตวทดลองโดยปก
เปลยน Tranumisoft ในข
P โดยปกตจะ
เกจ Optionshone
ว Transport กตจะใช UD
nsport Protoขนตอนของ A
ะเปน UDP ซ
s ทมการปรบ
87
Protocol DP แตเรา
col ผานAfter
ซงถกระบ
บเปลยน
รปท 4.80
การตอบกลบ
รปท 4.81 2.) ทาการดเครองแมขาย192.168.8.1Non-Compl
แสดงหนากาโดยใช
บตอ OPTIO
1 แสดงรายล
กจบใหม โดย (Lumisof147 และเครiant OPTION
ารดกจบแพกชเครองแมขา
N message
ะเอยดสวนข
ยทดลองใชโft) ทาการดรองแมขาย ipNS message
กเกจ 200OKย Lumisoft ใ
ของ 3CXPh
ของ SIP Mes
ปรแกรม Exดกจบเครองลp address :e ทงหมด 6
K ผานโปรแกในขนตอนขอ
hone คอ Sta
ssage ในแพ
xpressTalk เชลกขาย ip 192.168.8. แบบ โดยจะ
กรม Wireshaอง After Reg
atus code : 2
กเกจ 200OK
ชอมตอกน 2address :
1 โดยในการแสดงในสวน
ark ของ 3CXgist
200OK
K ของ 3CXP
2 เครอง โดย: 192.168.รทดลองจะเปนของ After R
88
XPhone
Phone
ยผานทาง8.135 , ปนการสง Regist
แบบท 1 Inเวอรชนของ
รปท 4.82 แโปรแกรม WRegist จากการแกไLine ,Via ทาขอความ OP
nvalid Versi SIP ใหเปน
แสดงหนาการWireshark ขอ
ขปรบเปลยนาให WireshaPTION mess
on : ตามท เลขทไมมใน
รดกจบแพกเอง ExpressT
นเวอรชนของark มองวาเปsage
RFC กาหน RFC คอ 99
กจ Options Talk โดยใชเค
ง SIP จากเดปน UDP แตจ
นดไว SIP v9.0 โดยไดแส
ทมการปรบครองแมขาย
ม 2.0 เปน 9จากขอมลดา
ersion คอ 2สดงผลในรปท
เปลยนเวอรชLumisoft ใน
99.0 ซงอยในนลาง ทาใหเ
2.0 เราไดปรท 4.82 - 4.8
ชนของ SIP นขนตอนของ
นสวนของ Reเรารไดวาเปน
89
รบเปลยน5
ผาน After
equest-น
รปท 4.83 แเวอรชนของ
รปท 4.84 Wireshar
แสดงรายละเอ SIP ของ Ex
แสดงหนากาrk ของ Expr
อยดสวนของxpressTalk
ารดกจบแพกessTalk โดย
ง SIP Messa
กเกจ 200OKยใชเครองแม
age ในแพกเก
K [Malformedขาย Lumiso
กจ Options
d Packet : Soft ในขนตอน
ทมการปรบ
SDP] ผานโปนของ After R
90
เปลยน
ปรแกรม Regist
การตอบกลบ[Malformed
รปท 4.85 แSDP]ของ Ex แบบท 2 Invตอบกลบไปแสดงผลในร
รปท 4.86 แผานโปรแกรAfter Regist
บตอ OPTIO Packet : SD
แสดงรายละเอxpressTalk
valid Via Adยงเครองนนไรปท 4.86 - 4
แสดงหนาการรม Wireshart
ON messaDP]
อยดสวนของ
ddress : จาได เราไดปร4.89
รดกจบแพกเk ของ Expre
ge ของ E
ง SIP Messa
ากเดมจะเปนรบเปลยนใหเ
กจ Options essTalk โดย
ExpressTalk
age ในแพกเก
น ip ของเครอเปนการสงกล
ทมการปรบยใชเครองแมข
คอ Statu
กจ 200OK [
องทสงขอควาลบตวเอง คอ
เปลยน IP adขาย Lumiso
us code :
[Malformed
ามมา เพอใหอ 127.0.0.1
ddress ของ oft ในขนตอน
91
200OK
Packet :
หสามารถ1 โดยได
Via นของ
จากการแกไ
รปท 4.87 แIP address
รปท 4.88 แWireshark ข
ขปรบเปลยน
แสดงรายละเอของ Via ขอ
แสดงหนาการของ Express
น ip ของเครอ
อยดสวนของง ExpressTa
รดกจบแพกเsTalk โดยใช
องทสงขอคว
ง SIP Messaalk
กจ 200OK [ชเครองแมขา
ามมา ใหเปน
age ในแพกเก
[Malformed ย Lumisoft ใ
น 127.0.0.1
กจ Options
Packet : SDในขนตอนขอ
ซงอยในสวน
ทมการปรบ
DP] ผานโปรอง After Reg
92
นของVia
เปลยน
แกรม gist
การตอบกลบ[Malformed
รปท 4.89 แSDP] ของ E แบบท 3 Inตงคาใหเปน4.93
รปท 4.90 แLength ใหผในขนตอนขอ
บตอ OPTIO Packet : SD
แสดงรายละเอExpressTalk
correct Coน Content-Le
แสดงหนาการดปกต ผานโอง After Reg
ON messaDP]
อยดสวนของ
ntent-Lengtength = 0 เร
รดกจบแพกเโปรแกรม Wigist
ge ของ E
ง SIP Messa
th : จากเดมราจงปรบเปล
กจ Options ireshark ของ
ExpressTalk
age ในแพกเก
มท OPTIONลยนใหเปน "1
ทมการปรบง ExpressTa
คอ Statu
กจ 200OK [
message ไ10" โดยไดแส
เปลยนขนาดalk โดยใชเคร
us code :
[Malformed
ไมม body คสดงผลในรป
ดของ Contenรองแมขาย L
93
200OK
Packet :
คานจะถกท 4.90 -
nt-Lumisoft
จากการแกไ
รปท 4.91
รปท 4.92 แWireshark ข
ขปรบเปลยน
แสดงรายละขนาด
แสดงหนาการของ Express
นขนาดของ C
เอยดสวนขอของ Conten
รดกจบแพกเsTalk โดยใช
Content-Len
อง SIP Messnt-Length ให
กจ 200OK [ชเครองแมขา
gth ใหผดปก
sage ในแพกหผดปกต ของ
[Malformed ย Lumisoft ใ
กต จากเดมเป
เกจ Optionsง ExpressTa
Packet : SDในขนตอนขอ
ปน 0 เปลยน
s ทมการปรบalk
DP] ผานโปรอง After Reg
94
นเปน 10
บเปลยน
แกรม gist
การตอบกลบ[Malformed
รปท 4.93 แSDP] ของ E แบบท 4 Mเชน "2 OPTแสดงผลในร
รปท 4.94 โปรแกรม WRegist
บตอ OPTIO Packet : SD
แสดงรายละเอExpressTalk
alformed CTIONS" เราไรปท 4.94 - 4
แสดงหนากาWireshark ข
ON messaDP]
อยดสวนของ
CSeq : คา Cไดปรบเปลยน4.97
ารดกจบแพกอง Express
ge ของ E
ง SIP Messa
CSeq เปนคนเอาคาวา "O
กเกจ OptionsTalk โดยใช
ExpressTalk
age ในแพกเก
าเพอบอกลาOPTIONS" อ
s ทมการปรชเครองแมขา
คอ Statu
กจ 200OK [
าดบของ mesออก เหลอแค
รบเปลยน Csย Lumisoft
us code :
[Malformed
ssage แตละคลาดบตวเลข
seq ใหผดปในขนตอนข
95
200OK
Packet :
ะประเภท ข โดยได
กต ผานอง After
จากการแกไ
รปท 4.95 แCseq ใหผด
รปท 4.96Wireshar
ขปรบเปลยน
แสดงรายละเอปกต ของ Ex
6 แสดงหนากrk ของ Expr
นคา CSeq โด
อยดสวนของxpressTalk
การดกจบแพกessTalk โดย
ดยเอาคาวา "
ง SIP Messa
กเกจ 200OKยใชเครองแม
"OPTIONS"
age ในแพกเก
K [Malformeขาย Lumiso
ออก เหลอแ
กจ Options
ed Packet : Soft ในขนตอน
แตลาดบตวเล
ทมการปรบ
SIP] ผานโปรนของ After R
96
ลข
เปลยน
รแกรม Regist
การตอบกลบ[Malformed
รปท 4.97 แSIP] ของ Ex แบบท 5 Miเราไดปรบเป
รปท 4.98 แ
Wireshar
บตอ OPTIO Packet : SI
แสดงรายละเอxpressTalk
issing Call-ปลยนเอา he
แสดงหนากาrk ของ Expr
N message P]
อยดสวนของ
-ID : Call-IDader นออกท
รดกจบแพกessTalk โดย
ของ Expres
ง SIP Messa
D ถอเปน heทงบรรทด โด
เกจ Optionsยใชเครองแม
ssTalk คอ S
age ในแพกเก
ader หลก โดยไดแสดงผล
s ทมการลบ ขาย Lumiso
Status code
กจ 200OK [
โดยใชระบหมลในรปท 4.98
Call-ID ทงบoft ในขนตอน
: 200OK
[Malformed
มายเลขของก8 - 4.101
บรรทด ผานโนของ After R
97
Packet :
การตดตอ
ปรแกรม Regist
จากการแกไmessage ท
รปท 4.99 แทงบรรทด ข
รปท 4.100Wireshar
ขปรบเปลยนสราง Call-ID
แสดงรายละเอของ Express
0 แสดงหนากrk ของ Expr
นเอา headerD จะอยระหว
อยดสวนของTalk
การดกจบแพessTalk โดย
r : "Call-ID" วาง From กบ
ง SIP Messa
กเกจ 200OKยใชเครองแม
ออกทงบรรทบ Cseq
age ในแพกเก
K [Malformeขาย Lumiso
ทด ซงโดยปก
กจ Options
ed Packet : Soft ในขนตอน
กตใน OPTIO
ทมการลบ C
SDP] ผานโปนของ After R
98
ON
Call-ID
ปรแกรม Regist
การตอบกลบ[Malformed
รปท 4.101 : SDP] ของ แบบท 6 Incน จะถกระบปรบเปลยนใ
รปท 4.102ผานโปรแกรAfter Regist
บตอ OPTIO Packet : SD
แสดงรายละง ExpressTa
compatibleอยในสวนขอใหเปน "TCP
2 แสดงหนากรม Wireshat
ON messaDP]
เอยดสวนขอalk
e Transport อง Via headP" โดยไดแสด
การดกจบแพrk ของ Exp
ge ของ E
อง SIP Mess
Protocol : der ซง Softpดงผลในรปท
พกเกจ OptiopressTalk โ
ExpressTalk
sage ในแพก
ตามท RFCphone ทใชท 4.102 - 4.1
ons ทมการโดยใชเครองแ
คอ Statu
กเกจ 200OK
C กาหนด ตวทดลองโดยปก05
ปรบเปลยน แมขาย Lum
us code :
K [Malformed
ว Transport กตจะใช UD
Transport misoft ในขน
99
200OK
d Packet
Protocol DP แตเรา
Protocol นตอนของ
จากการแกไอยในสวนขอ
รปท 4.103
รปท 4.104Wireshar
ขปรบเปลยนอง Via
แสดงรายละ
4 แสดงหนากrk ของ Expr
นตว Transpo
ะเอยดสวนขอTranspo
การดกจบแพessTalk โดย
ort Protocol
อง SIP Messort Protocol ข
กเกจ 200OKยใชเครองแม
ใหเปน TCP
sage ในแพกของ Express
K [Malformeขาย Lumiso
P โดยปกตจะ
กเกจ OptionsTalk
ed Packet : Soft ในขนตอน
ะเปน UDP ซ
s ทมการปร
SDP] ผานโปนของ After R
100
ซงถกระบ
บเปลยน
ปรแกรม Regist
การตอบกลบ[Malformed
รปท 4.105 : SDP] ของ 4.4.2.3 สรป จากไดรบการตอ(Standard-Cซงไดมการทตารางท 4.1
บตอ OPTIO Packet : SD
แสดงรายละง ExpressTa
ปผลการทดลผลการทดลออบกลบจาก Compliant Oทดลองทงในข6 - 4.17 ดงน
ON messaDP]
เอยดสวนขอalk
ลองในชวงทองในชวงท 2OPTIONS
Option) และรข นตอน "Afteน
ge ของ E
อง SIP Mess
ท 2 2 Active นนmessage ทรปแบบทมกาer Regist" แ
ExpressTalk
sage ในแพก
น ผลการทดทไดทาการทารปรบเปลยนและ "After In
คอ Statu
กเกจ 200OK
ลองในสวนขทดลองสงออกนแกไข (Nonnvite" เราสา
us code :
K [Malformed
ของ Status กไปทงในรปแn-Compliantมารถสรปออ
101
200OK
d Packet
Code ทแบบปกต t Option) อกมาเปน
102
ตารางท 4.16 แสดงผลการตอบกลบในสวนของ Status code จากการสง OPTIONS message ทงในรปแบบปกต (Standard-Compliant Option) และรปแบบทมการปรบเปลยนแกไข (Non-Compliant Option) ของ Softphone ทง 7 ตว
Softphone
SIP Fingerprint
Std.-Compliant OPTION
Non-Compliant OPTION
Invalid Version Invalid Via Address
Incorrect Content-Length
Malformed Cseq Missing Call-ID Incompatible
Transport Protocol Express Talk
200 OK | [Malformed Packet] [Malformed Packet: SDP]
200 OK | [Malformed Packet] [Malformed Packet: SDP]
200 OK | [Malformed Packet] [Malformed Packet: SDP]
200 OK | [Malformed Packet] [Malformed Packet: SDP]
200 OK | [Malformed Packet] [Malformed Packet: SIP]
200 OK | [Malformed Packet] [Malformed Packet: SDP]
200 OK | [Malformed Packet] [Malformed Packet: SDP]
3CXphone 200 OK 200 OK 200 OK 200 OK 400 Malformed CSeq header [Malformed Packet] [Malformed Packet: SIP]
NR 200 OK
SJphone 501 Not Implemented
NR 501 Not Implemented
NR NR NR NR
103
ตารางท 4.16 แสดงผลการตอบกลบในสวนของ Status code จากการสง OPTIONS message ทงในรปแบบปกต (Standard-Compliant Option) และรปแบบทมการปรบเปลยนแกไข (Non-Compliant Option) ของ Softphone ทง 7 ตว (ตอ)
Softphone
SIP Fingerprint
Std.-Compliant OPTION
Non-Compliant OPTION
Invalid Version Invalid Via Address
Incorrect Content-Length
Malformed Cseq Missing Call-ID Incompatible
Transport Protocol X-Lite 200 OK 200 OK 200 OK 200 OK 400 Malformed
CSeq header [Malformed Packet] [Malformed Packet: SIP]
NR 200 OK
Zoiper 200 OK 200 OK 200 OK 200 OK 400 Malformed CSeq header [Malformed Packet] [Malformed Packet: SIP]
NR 200 OK
Linphone NR NR NR NR NR NR NR Phoner NR** NR** NR** NR** NR** NR** NR** หมายเหต : "NR" หมายถง ไมมการตอบรบ (No Response)
104
จากการทดลองในสวนของขนตอน After Regist และ After Invite นน ผลการทดลองออกมาเหมอนกนคอ มการสราง Option message ทตองการ และสงไปไดเปนปกต และผลของการตอบกลบในรปแบบ Status code มลกษณะทเหมอนกนตามในตารางขางตน ** Softphone ยหอ "Phoner" จะแตกตางออกไป คอ ในขนตอนของ After Regist จะมการสง Option ออกไปเปนปกต สวนในขนตอนของ After Invite จะไมมการสง Option ออกไป แตลกษณะของการตอบกลบเหมอนกนคอ ไมมการตอบกลบ จากผลการทดลองในชวงท 2 Active นน เราไดสรปผลการทดลองในสวนของ Allow field ทไดรบการตอบกลบจาก OPTIONS message ทไดทาการทดลองสงออกไปในรปแบบปกต (Standard-Compliant Option) เราสามารถสรปออกมาเปนตารางท 4.17 ดงน ตารางท 4.17 แสดงผลการตอบกลบในสวนของ Allow field ทไดรบการตอบกลบจาก OPTIONS message รปแบบปกต (Standard-Compliant Option) ของ Softphone ทง 7 ตว Softphone SIP Allow field in OPTION Response
ExpressTalk INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 3CXphone INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY,
REFER, INFO, MESSAGE SJphone N/A X-Lite INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE,
SUBSCRIBE, INFO Zoiper INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, MESSAGE, OPTIONS, INFO,
SUBSCRIBE Linphone N/A Phoner N/A
หมายเหต : "N/A" หมายถง ไมมสวนของ Allow (no Allow field) จากในตาราง จะเหนไดวาใน Allow field ไมม Softphone ตวใดทมการจดเรยงของขอความทเหมอนกน และม Softphone 3 ยหอ คอ SJphone , Linphone และ Phoner ทไมสามารถระบขอมลในสวนนได เนองจากขอความทตอบกลบมาไมมขอมลในสวนของ Allow field อย และ Softphone บางยหอกไมมการตอบกลบ ในสวนการทดลองสง OPTION message ในขนตอน "After Regist" และ "After Invite" รปแบบ message ทไดรบการตอบกลบ จะมลกษณะตวขอความหลกเหมอนกน ยกเวนแตรายละเอยดยอยๆทมการเปลยนแปลงทกครงททาการเชอมตอ จากทสงเกตมเพยง Softphone ยหอ Phoner เทานนทแปลกจากตวอน คอ ในขนตอนของ Regist ม OPTION message เกดขน ในขณะทข นตอนของ Invite กลบไมม OPTION message เกดขน แตในทง 2 ขนตอนกยงคงไมมการตอบกลบเชนเดม ดงนนการทดลองในทง 2 ขนตอน สรปไดวาไมไดมความแตกตางอยางมนยยะสาคญ
105
บทท 5 สรปผลการทดลอง
5.1 สรปผลการทดลอง จากการทดลองทาใหเชอไดวารปแบบการเชอมตอ network ,SIP server ทใช และตวโปรแกรม Softphone เดยวกน จะใหผลการทดลองในเรองของรปแบบการจดเรยง Header ของ SIP message แตละประเภท และการตอบกลบ Status code รวมถง Allow field ออกมาเหมอนกนทกครง ดงนนเราสามารถสรปไดวา Softphone แตละตว จะมลกษณะและรปแบบเฉพาะตวทไมเหมอนกน หรอทเรยกวา "Fingerprint" ซงจากการทดลอง เราสามารถแบง Fingerprint ไดเปน 2 รปแบบ 1.) รปแบบของ Passive Fingerprint จากการทดลองแบบ Passive สามารถแสดงออกมาใหเหนในรปแบบของการจดเรยงของ Header ทเราไดทาการทดลองจากการดกจบของ SIP message แตละประเภท (ตารางท 4.2 - 4.15) จะเหนไดวา SIP message ตวทมความแตกตางกนของรปแบบการจดเรยงของ Header คอนขางชดเจน และนาจะนาไปใชในการคาดเดาการเชอมตอได นาจะเปน SIP message ประเภท Invite เนองจากเปน Request message ทใชในการขอเชอมตอจากอกฝ ง 2.) รปแบบของ Active Fingerprint จากการทดลองแบบ Active สามารถอธบายได 2 รปแบบ คอ 1. Status code เปนรหสทไดรบจากการตอบกลบในการทดลองแบบ Active โดยสง OPTION message ทงแบบ Standards-Compliant OPTIONS และ Non-Compliant OPTIONS ลกษณะของ Status code จากการตอบกลบของ Softphone นน มทงเหมอนและแตกตางกน (ตารางท 4.16) 2. Value-based เปนเนอหาทอยภายใน Allow field ของ SIP message ทไดรบการตอบรบจากการทดลองแบบ Active โดยสง OPTION message แบบ Standards-Compliant OPTIONS และเปนขอมลทชวยระบหรอแสดงถง SIP stack หรอ SIP method ท Softphone นนสนบสนนอย ซง Softphone แตละตวจะมการจดเรยงของขอมลนแตกตางกน (ตารางท 4.17) จากการทดลองโดยรวม เนองจากการทดลองในแบบ Passive ม Softphone บางยหอทมรปแบบการจดเรยงของ Header ทเหมอนกนและอยใน SIP message ประเภทเดยวกน ดงนนการทดลองแบบ Active โดยการสง OPTION message เพอดการตอบกลบของ Status
106
code และ Allow field น อาจเปนอกตวชวยหรอเปนการตรวจสอบใหเรามนใจไดยงขนในการคาดเดาวาเปน Softphone ยหอใด ในทางปฏบตเราสามารถนารปแบบ Fingerprint ทงจาก Passive และ Active มาใชรวมกนในการวเคราะห เพอทจะระบตว Softphone ใหแมนยาขน และอาจมการเกบรวบรวมรปแบบทไดมการทดลองไวกอนหนาเหลานนมาบนทกไวในฐานขอมล เพอนารปแบบของ message นนมาใชในการเปรยบเทยบกบ Softphone ทกาลงถกรองขอการเชอมตอหรอเชอมตออย เพอใชระบตว Softphone ไดวาเปน Softphone ทเราไดมการใชอยหรอมความนาเชอถอหรอไม ซงเปนหนงในวธการทชวยใหเราสามารถปองกนหรอกรองการเชอมตอทมาจาก Softphone ทเราไมตองการหรอสงสยวาจะเปนผกอการไมด หรอเปนการกอกวนทมาจาก Spam over Internet (SPIT) และยงเปนวธทชวยลดภาระการทางานใหกบระบบเครอขายไดระดบหนง 5.2 ประโยชนทคาดวาจะไดรบ 1. สามารถศกษาและเขาใจรปแบบเฉพาะ (Fingerprint) ของ Softphone แตละตว 2.สามารถนาขอมลและความรทไดจากการทดลองไปประยกต เพอใชตอยอดในเรองของการปองกนภยคกคาม (Security) ได เชน การปองกน SPIT ,การปลอมตว เปนตน 3. สามารถระบตว Softphone ทไดรบการขอเชอมตอได โดยใชการอางองเปรยบเทยบกบขอมลทไดมการทดลอง และบนทกไวกอนหนา เพอชวยใหสามารถทจะจดการบรหารการเชอมตอ เชน การอนญาตเฉพาะการเชอมตอทนาเชอถอ ,การกดกนหรอการจดทา Black list ไดวาเราจะรบหรอไมรบการเชอมตอนน 4.สามารถนาไปประยกต โดยการเขยนโปรแกรม เพอปองกนหรอปฏเสธการเชอมตอของ Softphone ทเขาขายหรอสงสยวาอาจเปนทมาของ SPIT (กรณทเปนการแฝง spam เขามาใน Softphone ทเราอนญาต อาจใชโปรแกรม captcha เขามาชวย) 5.3 ปญหาและขอเสนอแนะ จากการทดลองไดทาการเลอกใชโปรแกรม Softphone และ SIP server ทเปดใหดาวนโหลดฟรมาเปนตวอยางในการทดลอง ซงในความเปนจรงอาจมการใชโปรแกรม softphone ,Hardphone หรอแมแต SIP server อนๆในทางปฏบต ดงนนควรมการทดลองหลากหลายรปแบบ เพอเกบเปนฐานขอมลไวเปรยบเทยบ ซงการทดลองนอาจสามารถนาไปใชเปนตวอยางหรอชวยเปนแนวทางในการสงเกต และนาไปทดสอบ เพอหาวธพฒนาตอยอดเองได
107
เอกสารอางอง
[1] RFC 3261 SIP: Session Initiation Protocol. June 2002 Copyright (C) The Internet Society (2002). [Online]. Available : http://www.ietf.org/rfc/rfc3261.txt [2] กลวทย วไลลกษณ , สมนตา สภธระ และ อษารตน จยทองหลาง. โปรโตคอล SIP (SIP: Session Initial Protocol). [Online]. Available : https://sites.google.com/site/voipvoipgroup/voip/2-voip-protocal/portokhxl-sip-sip-session-initial-protocol [3] Andrew Prokop. Understanding SIP Headers. [Online]. Available : http://andrewjprokop.wordpress.com/2014/06/09/understanding-sip-headers/ [4] VoIP Community of Thailand - เวบบอรดวโอไอพของไทย โดยคนไทย เพอคนไทย. มาดกนวาโปรแกรม Elastix นทาอะไรไดบาง. [Online]. Available : http://www.voip4share.com/elastix-unified-communications-software-f28/elastix-t6.html [5] H. Yan, K. Sripanidkulchai, H. Zhang, Z. Shae, and D. Saha . Incorporating Active Fingerprinting into SPIT Prevention Systems .Carnegie Mellon University ,NECTEC, Thailand ,IBM T.J. Watson Research [Online]. Available : http://ants.iis.sinica.edu.tw/3bkmj9ltewxtsrrvnoknfdxrm3zfwrr/15/vsw06-incorporating%20active%20fingerprinting%20into%20SPIT%20prevention.pdf [6] VoIP Community of Thailand - เวบบอรดวโอไอพของไทย โดยคนไทย เพอคนไทย. สรางเบอร Extension. [Online]. Available : http://www.voip4share.com/viewtopic.php?f=28&t=26
108
ภาคผนวก
ขนตอนการ1. ตงคาใน V
รตดตงโปรแVMware ใหบ
รป
รปท ก
แกรม Elastiบทจากไฟล i
ปท ก-1 หนา
ก-2 หนาจอแ
ix 2.4.0 iso จาก CD/
าจอแสดงการ
แสดงการโหล
/DVD(IDE)
รตดตงโปรแก
ดตวตดตงโป
กรม Elastix
ปรแกรม Elasstix
109
2. ทาการเลอ
3. ทาการเลอ
อกภาษา "En
อกภาษา "us
nglish" แลวก
รปท ก-3
s" แลวกด OK
รปท ก-4
กด OK
3 หนาจอแสด
K
4 หนาจอแส
ดงภาษาทจะ
ดงภาษาคยบ
ตดตง
บอรด
110
4. ทาการเลอ
5. ทาการเลอแลวกด "OK
อก "Yes" เพ
รป
อกรปแบบในK"
รป
พอกาหนดพา
ท ก-5 หนาจ
นการแบงพาร
ปท ก-6 หนาจ
ารทช น (Part
จอแสดงการส
รทช น (Partit
จอแสดงรปแ
tition)
สรางพารทช น
tion) เลอก "
แบบพารทช น
น (Partition)
Remove all
น (Partition)
partitions o
111
n…"
6. ทาการเลอ
7. ทาการเลอ
อก "Yes" เพ
รปท ก-7
อก "No" ถาไ
รปท ก-8
พอยนยนสงท
หนาจอแสดง
ไมตองการดห
หนาจอแสดง
ทเลอกกอนหน
งเตอนวาพาร
หรอแกไขพา
งวาตองการด
นา โดยพารท
รทช น (Parti
ารทช น (Part
ดหรอแกไขพ
ทชน (Partitio
tion) จะถกล
ition)
พารทช น (Par
on) จะถกลบ
ลบหมด
rtition)
112
หมด
8. ทาการเลอ
รปท
9. ทาการเลอ
รปท
อก "Yes" เพ
ท ก-9 หนาจอ
อก "Activate
ก-10 หนาจ
พอตงคาอนเท
อแสดงความต
e on boot" แ
จอแสดงทางเ
ทอเฟส (Inter
ตองการตงคา
และ "Enable
ลอกการตงค
rface) ของเค
าอนเทอเฟส
IPv4 suppo
คาอนเทอเฟส
ครอขาย
(Interface)
ort" แลวกด "
ส (Interface)
ของเครอขา
"OK"
ของเครอขา
113
ย
ย
10. ทาการเลSubnet Mas
รปท ก-11
11. ทาการต
รปท ก-12 หเครอขาย
ลอก "Manuask จากนนกด
หนาจอแสด
ตงคา Gatewa
หนาจอแสดง
al address cด "OK"
งการตงคา I
ay และ DNS
การตงคา Ga
configuration
P และ Subn
S จากนนกด
ateway และ
n" เพอเลอกต
net ของอนเท
"OK"
DNS ของอน
ตงคาเอง และ
ทอเฟส (Inter
นเทอเฟส (In
ะตงคา IP กบ
rface) ของเค
nterface) ขอ
114
บ
ครอขาย
อง
12. ทาการเล
13. ทาการเล
ลอก "manua
ลอก "Asia /
ally" เพอตงช
รปท ก-13
Bangkok" เป
รปท ก-14 ห
ชอเครอง จาก
3 หนาจอแส
ปน Time zo
หนาจอแสดงก
กนนกด "OK
ดงการตงชอ
one
การตงคา Ti
"
เครอง
me zone
115
14. ทาการต
ตงคาพาสเวร
รปท
ดของ Root ใ
ท ก-15 หนา
รปท ก-16
ใช "rootroot
จอแสดงการ
6 หนาจอแสด
" เพอใชลอก
รตงคาพาสเว
ดงขนตอนกา
อน (Login)
รดของ Root
รตดตง
เขา CentOS
t
116
S
รปท ก
รปท ก-17
ก-18 หนาจอ
7 หนาจอแสด
อแสดงขนตอน
ดงขนตอนกา
นการบทเคร
รตดตง
องใหมอตโนนมต
117
รป
ร
ปท ก-19 หน
รปท ก-20 ห
นาจอแสดงกา
หนาจอแสดงก
ารบทโปรแก
การตรวจสอบ
รม Elastix
บคาตางๆ
118
15. ทาการต โดยยสเซอร
16. ทาการใส
ตงคาพาสเวรเนม (Userna
รปท
สคาพาสเวรด
รปท ก-22
ดของ MySQame) ทใชคอ
ก-21 หนาจ
ดของ MySQ
2 หนาจอแสด
QL Server ใชอ "root"
อแสดงการต
QL Server อก
ดงการยนยน
ช "mysqlroot
ตงคาพาสเวรด
กครง เพอยน
การตงคาพา
t" เพอใชในก
ดของ MySQ
นยนการตงคา
สเวรดของ M
การลอกอน (
QL
า
MySQL
119
Login)
17. ทาการต (Login) โดย
18. ทาการใส
รปท
ตงคาพาสเวรยสเซอรเนม
รปท ก-23
สคาพาสเวรด
ท ก-24 หนา
ดของหนา W (Username
หนาจอแสด
ดของหนา W
จอแสดงการ
Web Interface) ทใชคอ "ad
งการตงคาพ
Web Interface
รยนยนการตง
e ใช "freepbdmin"
พาสเวรดของห
e อกครง เพ
งคาพาสเวรด
bxroot" เพอใ
หนา Web In
อยนยนการต
ดของหนา W
ใชในการลอก
nterface
ตงคา
Web Interface
120
กอน
e
19. ทาการล
ลอกอน (Login) โดยยสเซ
รปท ก-25 ห
ซอรเนมทใชค
หนาจอแสดง
คอ "root" และ
งหนาลอกอน
ะพาสเวรดทใ
น (Login)
ใชคอ "rootro
121
oot"
ขนตอนการ 1. ท
2. ท
รตดตงโปรแ
ทาการเลอก "
รปท ก
ทาการเลอก "
รปท ก
แกรม 3CXp
"Run" เพอทา
ก-26 หนาจอแ
"Next"
ก-27 หนาจอแ
hone
าการเรมตดต
แสดงการเรม
แสดงการเรม
ตง
มตดตงโปรแก
มตดตงโปรแก
กรม 3CXpho
กรม 3CXpho
one
one
122
3. ท
4. ท
ทาการเลอก "
รปท ก-28
ทาการเลอกต
รปท ก-29
"I accept the
8 หนาจอแสด
าแหนงในกา
หนาจอแสด
e terms…."
ดงเงอนไขใน
ารตดตงโปรแ
ดงตาแหนงใน
เพอทาการย
นการตดตงโป
แกรม แลวกด
นการตดตงโป
อมรบเงอนไข
รแกรม 3CX
ด"Next"
ปรแกรม 3CX
ข แลวกด"Ne
Xphone
Xphone
123
ext"
5. ท
ทาการเลอก "
รปท ก-30 ห
รปท
"Install" เพอ
หนาจอแสดงก
ก-31 หนาจ
ยนยนการตด
การยนยนกอ
อแสดงการต
ดตงโปรแกรม
อนการตดตงโ
ตดตงโปรแกร
ม
โปรแกรม 3C
รม 3CXphon
CXphone
ne
124
6. ท
ทาการเลอก "
รปท ก-32 ห
"Launch 3CX
หนาจอแสดง
XPhone" ถา
งการตดตงโป
าตองการเปด
ปรแกรม 3CX
โปรแกรมทน
Xphone เสรจ
นท แลวกด "
จสมบรณ
125
Finish"
126
การแกไขเพมเตม code ใน SIP sever (Lumisoft) 1. ภาพรวมโคด (code) ทเราไดทาการปรบเปลยนเพมเตมลงไปในโคด (code) ปกตของโปรแกรม Lumisoft เพอสราง OPTION message แบบปกต (Standard - Compliant OPTIONS) และแบบปรบเปลยนแกไข 6 จด (Non - Compliant OPTIONS) private void OnRequestReceived(SIP_RequestReceivedEventArgs e) { SIP_Request request = e.Request.Copy(); if (e.Request.RequestLine.Method == SIP_Methods.INVITE) //ดกจบpacketทสง method invite (แก method หลง SIP_Methods.) {SIP_Request optionsRequest = m_pStack.CreateRequest(SIP_Methods.OPTIONS, e.Request.Contact.GetTopMostValue().Address, new SIP_t_NameAddress(m_pStack.Realm)); optionsRequest.Allow.RemoveAll(); //ตวสราง message OPTION สงทเราตองการสง SIP_ClientTransaction optionsTransaction = m_pStack.TransactionLayer.CreateClientTransaction(e.Flow, optionsRequest, true); //ตวทใชสง option //แกไข Invalid Version ในสวนของ Via ,RequestLine //optionsTransaction.Request.Via.GetTopMostValue().ProtocolVersion = "99.0"; //optionsTransaction.Request.RequestLine.Version = "SIP/99.0"; //แกไข Invalid Via Address //HostEndPoint localhost = new HostEndPoint("127.0.0.1", -1); //optionsTransaction.Request.Via.GetTopMostValue().SentBy = localhost; //แกไข Incorrect Content-Length //optionsRequest.ContentLength = 10; //แกไข Malformed CSeq //optionsTransaction.Request.CSeq.RequestMethod = ""; // แกไข Missing Call-ID //optionsTransaction.Request.CallID = null;
127
// แกไข Incompatible Transport Protocol //optionsTransaction.Request.Via.GetTopMostValue().ProtocolTransport = "TCP"; optionsTransaction.Start(); } 2. รายละเอยดของจดทมการแกไขในแตละครงททาการทดลอง (ตามทไดกลาวไวในบทท 4) เลอกขนตอนการสง OPTION message แก method หลง "SIP_Methods." เปนขนตอนทตองการสง
//ถาเราตองการสงขอความในขนตอนหลงจาก Register if (e.Request.RequestLine.Method == SIP_Methods.REGISTER) //ถาเราตองการสงขอความในขนตอนหลงจาก Invite if (e.Request.RequestLine.Method == SIP_Methods.INVITE)
แบบปรบเปลยนแกไข 6 จด (Non - Compliant OPTIONS)
1.) แกไข Invalid Version
//แกไข Version ใน RequestLine optionsTransaction.Request.RequestLine.Version = "SIP/99.0"; //แกไข Version ใน Via optionsTransaction.Request.Via.GetTopMostValue().ProtocolVersion = "99.0";
2.) แกไข Invalid Via Address
HostEndPoint localhost = new HostEndPoint("127.0.0.1", -1); optionsTransaction.Request.Via.GetTopMostValue().SentBy = localhost;
3.) แกไข Incorrect Content-Length
optionsRequest.ContentLength = 10;
4.) แกไข Malformed CSeq
optionsTransaction.Request.CSeq.RequestMethod = "";
5.) แกไข Missing Call-ID
optionsTransaction.Request.CallID = null;
6.) แกไข Incompatible Transport Protocol
optionsTransaction.Request.Via.GetTopMostValue().ProtocolTransport = "TCP";