Truyền thoại qua IP (VoIP) là một trong những công nghệ được chú ý phát triển nhất hiện nay với mục tiêu có thể thay thế chức năng cung cấp dịch vụ thaọi của mạng PSTN, thống nhất hệ thống truyền số liệu và truyền thoại. Nền tảng của công nghệ VoIP là sự kết hợp các quá trình mã hoá, đóng gói các tín hiệu thoại để truyền đi trên mạng IP tương tự như truyền dữ liệu. Tuy vậy, yêu cầu về độ trể trong dịch vụ thời gian thực có những đòi hỏi khắc khe hơn so với truyền dữ liệu. Tiêu biểu là yêu cầu phải thiết lập một lớp giao thức riêng RTP phục vụ cho việc truyền các gói thoại giữa các đầu cuối.
Quá trình truyền thoại qua IP còn đòi hỏi việc thiết lập một hệ thống báo hiệu riêng có thể hoạt động trên các lớp giao thức TCP/IP. Hệ thống báo hiệu này sẽ đóng vai trò trong quá trình trao đổi thông tin giữa các đầu cuối cũng như thông báo các yêu cầu thiết lập giải tỏa và quản lý cuộc gọi.
Một trong những điểm mạnh của hệ thống VoIP hiện nay là khả năng kết nối với mạng PSTN truyền thống để cung cấp các dịch vụ thoại với giá thành thấp hơn bằng cách sử dụng đầu cuối hiện có trên mạng PSTN và đường truyền qua mạng IP. Đây là mô hình đã được triển khai tại nhiều nước trên thế giới trong đó có Việt Nam.
Tuy vậy, các hệ thống VoIP vẫn còn một số nhược điểm chưa khắc phục được để nó có thể thay thế hoàn toàn cho mạng PSTN. Một trong những yếu tố quyết định là chất lượng truyền thaọi do các cơ chế chuyển vận gói trên mạng IP chưa đáp ứng được cho các yêu cầu nghiêm ngặt về tính thời gian thực của dịch vụ thoại.
VoIP là một lĩnh vực rộng lớn, vì vậy trong phạm vi của luận văn tốt nghiệp chúng em chỉ khảo sát một số các kiến thức cơ bản về cơ chế truyền thoại qua mạng IP :
- Các giao thức truyền tải tín hiệu thoại qua mạng IP.
- Giao thức báo hiệu sử dụng trên hệ thống VoIP.
- Mô hình thiết lập các hệ thống truyền thoại VoIP.
- Đánh giá chất lượng truyền thoại qua mạng IP.
Để tăng tính thực tế của đề tài, chúng em cũng xây dựng chương trình demo để truyền thoại qua mạng LAN.
Trong mô hình truyền thoại PC to PC, tiếng nói thu qua micro được xử lý bởi chip xử lý tín hiệu DSP trên soundcard. Tiếng nói sau khi được mã hoá sẽ được chuyển sang networdcard dưới dạng các gói thoại truyền trên mạng đến máy đích. Tại máy đích, các gói thoại được tiếp nhận sau đó được giải mã bởi chip DSP trên soundcard để phát tín hiệu ra loa.
Chương trình thực hiện còn nhiều sai sót, chúng em rất mong sự nhận xét, đóng góp ý kiến từ thầy cô, bạn bè. Đó là nguồn động viên và khích lệ rất lớn cho chúng em.
Chương 1 : GIỚI THIỆU VỀ MẠNG MÁY TÍNH
I. Các kiến thức cơ sơ 2
II. Các loại mạng máy tính thông dụng nhất 2
1. Mạng cục bộ LAN (Local Area Network) 2
2. Mạng đô thị MAN (Metropolitan Area Network) 3
3. Mạng diện rộng WAN (Wide Area Network) 3
4. Mạng Internet 4
III. Các mô hình xử lý mạng 4
1. Mô hình xử lý mạng tập trung 4
2. Mô hình xử lý mạng phân phối 5
3. Mô hình xử lý mạng cộng tác 6
IV. Các mô hình quản lý mạng 6
1. Workgroup 6
2. Domain 6
V. Các mô hình ứng dụng mạng 6
1. Mạng ngang hàng ( peer to peer ) 6
2. Mạng khách - chủ (Client – Server) 7
VI. Kiến trúc mạng cục bộ 8
1. Hình trạng mạng ( Network Topology ) 8
2. Mạng hình sao ( Star ) 9
3. Mạng trục tuyến tính ( Bus ) 9
4. Mạng hình vòng ( Ring ) 10
Chương 2 : MÔ HÌNH OSI & MÔ HÌNH TCP/IP
I. Mô hình tham chiếu OSI 12
II. Mô hình tham khảo TCP/IP 21
Chương 3 : ĐỊA CHỈ IP
I. Tổng quan về địa chỉ IP 34
II. Giới thiệu các lớp địa chỉ 35
1. Lớp A 35
2. Lớp B 36
3. Lớp C 37
4. Lớp D và E 37
Chương 4 : PHƯƠNG TIỆN TRUYỀN DẪN & CÁC THIẾT BỊ MẠNG
I. Gới thiệu về môi trường truyền dẫn 44
1. Khái niệm 44
2. Tần Số truyền thông 44
3. Các đặc tính của phương tiện truyền dẫn 44
II. Các loại cáp 45
1. Cáp đồng trục (coaxial) 45
2. Cáp xoắn đôi 46
3. Cáp quang (Fiber-optic cable) 48
III. Các thiết bị mạng 48
1. Card mạng (NIC hay Adapter) 48
2. Modem 49
3. Repeater 49
4. Hub 49
5. Bridge(cầu nối) 50
6. Switch 50
7. Router 51
8. Gateway (Proxy) 52
Chương 5 : TỔNG QUAN VỀ CÔNG NGHỆ VoIP
I. Cấu trúc phân lớp của hệ thống VoIP 55
1. Các thành phần cơ bản của mạng VoIP 55
2. Các phương thức thực hiện cuộc gọi 56
II. Mạng IP 58
III. Quá trình thiết lập cuộc gọi qua mạng VoIP 60
IV. Một số tiêu chuẩn mã hoá trong mạng VoIP 61
V. Các hệ thống báo hiệu sử dụng trên mạng VoIP 63
1. Chuẩn H.323 64
2. Chuẩn SIP (Session Initiation Protocol) 65
3. MGCP (Media Getway to Media Controller Protocol) 66
VI. Chất lượng của dịch vụ thoại trên mạng VoIP 67
VII. Ưu điểm vủa mạng VoIP 69
Chương 6 : CÁC GIAO THỨC SỬ DỤNG TRONG HỆ THỐNG TRUYỀN THOẠI VoIP
I. Các giao thức lớp truyền tải 72
1. Giao thức TCP (Transmission Control Protocol) 72
2. Giao thức UDP (User Data Protocol) 77
3. Giao thức thời gian thực RTP (Real Time Protocol) 78
II. Các giao thức lớp mạng 80
1. Giao thức Internet (Internet Protocol-IP) 80
2. Các giao thức định tuyến 84
3. Giao thức ICMP (Internet Control Message Protocol) 91
Chương 7 : H.323 & HỆ THỐNG BÁO HIỆU TRONG VoIP
I. Các thành phần trong hệ thống H.323 95
1. Terminal 96
2. Gateway 97
3. Gatekeeper 97
4. Đơn vị điều khiển đa điểm (MCU) 99
II. Các giao thức báo hiệu 100
1. Kênh báo hiệu RAS 100
2. Kênh báo hiệu cuộc gọi H.225 103
3. Kênh điều khiển cuộc gọi H.245 106
III. Các bước thực hiện cuộc gọi 109
Chương 8 : CHẤT LƯỢNG DỊCH VỤ (QoS)
I. Các yếu tố ảnh hưởng đến chất lượng dịch vụ 131
1. Trễ 131
2. Jitter 134
3. Mất gói 135
II. Các phương thức xác lập thông số chất lượng dịch vụ 136
1. Các phương pháp xử lý yêu cầu về băng thông đối với tín
hiệu thoại 136
2. Định mức ưu tiên cho các luồng lưu lượng 140
III. Các thuật toán xử lý hàng đợi 144
1. Xử lý hàng đợi cân bằng trong số (Weighted Fair Queuing-WFQ) 144
2. Xử lý hàng đợi tùy chọn (Custom Queuing – CQ) 144
3. Xử lý hàng đơi ưu tiên (Priority Queuing – PQ) 144
4. Xử lý hàng đợi cân bằng trọng số phân lớp ( Class-Based WFQ) 145
5. Xử lý hàng đợi đảm bảo độ trễ thấp (Low Latency Queuing-LLQ) 145
Chương 9 : MÔ HÌNH TRUYỀN THOẠI PC to PC
I. Xử lý thoại qua Soundcard 147
II. Truyền thoại giữa các PC trên mạng LAN 150
Chương 10 : VOICE CONVERSATION
I. Cách thiết lập kết nối 155
II. Bẩy lỗi trong lập trình 155
III. Các hàm được sử dụng trong thư viện .OCX 155
Chương 11 : GIỚI THIỆU CHƯƠNG TRÌNH THỰC HIỆN CUỘC GỌI PC TO PC
(trang 157)
154 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2640 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Tìm hiểu công nghệ voip xây dựng mô hình truyền thoại pc to pc (phần truyền), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
y khi cuoäc goïi ñoù coù söï chuyeån tieáp töø maïng PSTN sang maïng LAN hoaëc ngöôïc laïi. Vì vaäy veà cô baûn coù theå phaân bieät cuoäc goïi qua Gateway thaønh 2 loaïi: cuoäc goïi töø moät thueâ bao ñieän thoaïi vaøo maïng LAN vaø cuoäc goïi töø moät maùy trong maïng LAN ra moät thueâ bao trong maïng thoaïi.
è Böôùc 2 - Thieát laäp keânh ñieàu khieån
Trong giai ñoaïn 1 sau khi trao ñoåi caùc baûn tin thieát laäp cuoäc goïi, caùc ñaàu cuoái seõ thieát laäp keânh ñieàu khieån H.245. Keânh ñieàu khieån naøy coù theå do thueâ bao bò goïi thieát laäp sau khi noù nhaän ñöôïc baûn tin Set-up hoaëc do thueâ bao chuû goïi thieát laäp khi noù nhaän ñöôïc baûn tin Alerting hoaëc Call Proceeding. Trong tröôøng hôïp khoâng nhaän ñöôïc baûn tin Connect hoaëc moät ñaàu cuoái göûi Release Complete, thì keânh ñieàu khieån H.245 seõ bò ñoùng. Chi tieát veà chöùc naêng vaø hoaït ñoäng cuûa keânh ñieàu khieån H.245 ñaõ ñöôïc trình baøy trong muïc giao thöùc H.245.
è Böôùc 3 - Thieát laäp keânh truyeàn thoâng aûo
Sau khi trao ñoåi khaû naêng (toác ñoä nhaän toái ña, phöông thöùc maõ hoaù..) vaø xaùc ñònh master-slave trong giao tieáp trong giai ñoaïn 2, thuû tuïc ñieàu khieån keânh H.245 seõ thöïc hieän vieäc môû keânh logic ñeå truyeàn thoâng tin. Caùc keânh naøy laø keânh H.225. Sau khi môû keânh logic ñeå truyeàn tín hieäu laø aâm thanh vaø hình aûnh thì moãi ñaàu cuoái truyeàn tín hieäu seõ truyeàn ñi moät baûn tin h225MaximumSkewIndication ñeå xaùc ñònh thoâng soá truyeàn.
a)Thay ñoåi cheá ñoä hoaït ñoäng
Trong giai ñoaïn naøy caùc thieát bò ñaàu cuoái coù theå thöïc hieän thuû tuïc thay ñoåi caáu truùc keânh, thay ñoåi khaû naêng vaø cheá ñoä truyeàn cuõng nhö nhaän.
b)Trao ñoåi caùc luoàng tín hieäu video
Vieäc söû duïng chæ thò Video Indicate Ready To Active ñöôïc ñònh nghóa trong khuyeán nghò H.245 laø khoâng baét buoäc, nhöng khi söû duïng thì thuû tuïc cuûa noù nhö sau.
Ñaàu tieân thueâ bao chuû goïi seõ khoâng ñöôïc pheùp truyeàn video cho ñeán khi thueâ bao bò goïi chæ thò saün saøng ñeå truyeàn video. Thueâ bao chuû goïi seõ truyeàn baûn tin videoIndicateReadyToActive sau khi keát thuùc quaù trình trao ñoåi khaû naêng, nhöng noù seõ khoâng truyeàn tín hieäu video cho ñeán khi nhaän ñöôïc baûn tin videoIndicateReadyToActive hoaëc nhaän ñöôïc luoàng tín hieäu video ñeán töø phía thueâ bao bò goïi.
c)Phaân phoái caùc ñòa chæ luoàng döõ lieäu
Trong cheá ñoä moät ñòa chæ, moät ñaàu cuoái seõ môû moät keânh logic tôùi MCU hoaëc moät ñaàu cuoái khaùc. Ñòa chæ cuûa caùc keânh chöùa trong baûn tin openLogicalChannel vaø openLogicalChannelAck.
Trong cheá ñoä ñòa chæ nhoùm, ñòa chæ nhoùm seõ ñöôïc xaùc ñònh bôûi MC vaø ñöôïc truyeàn tôùi caùc ñaàu cuoái trong baûn tin communicationModeCommand. Moät ñaàu cuoái seõ baùo cho MC vieäc môû moät keânh logic vôùi ñòa chæ nhoùm thoâng qua baûn tin openLogicalChannel vaø MC seõ truyeàn baûn tin ñoù tôùi taát caû caùc ñaàu cuoái trong nhoùm.
è Böôùc 4 - Dòch vuï
a)Thay ñoåi ñoä roäng baêng thoâng
Ñoä roäng baêng thoâng cuûa moät cuoäc goïi ñöôïc Gatekeeper thieát laäp trong khoaûng thôøi gian thieát laäp trao ñoåi. Moät ñaàu cuoái phaûi chaéc chaén raèng toång taát caû luoàng truyeàn, nhaän aâm thanh vaø hình aûnh ñeàu phaûi naèm trong ñoä roäng baêng thoâng ñaõ thieát laäp.
Taïi moïi thôøi ñieåm trong khi hoäi thoaïi, ñaàu cuoái hoaëc Gatekeeper ñeàu coù theå yeâu caàu taêng hoaëc giaûm ñoä roäng baêng thoâng. Moät ñaàu cuoái coù theå thay ñoåi toác ñoä truyeàn treân moät keânh logic maø khoâng yeâu caàu Gatekeeper thay ñoåi ñoä roäng baêng thoâng neáu nhö toång toác ñoä truyeàn vaø nhaän khoâng vöôït quaù ñoä roäng baêng thoâng hieän taïi. Trong tröôøng hôïp ngöôïc laïi thì ñaàu cuoái phaûi yeâu caàu Gatekeeper maø noù ñaêng kyù thay ñoåi ñoä roäng baêng thoâng.
Thuû tuïc thay ñoåi ñoä roäng baêng thoâng truyeàn
Thuû tuïc thay ñoåi ñoä roäng baêng thoâng truyeàn ñöôïc theå hieän ôû hình treân. Khi ñaàu cuoái 1 muoán taêng toác ñoä truyeàn treân keânh logic tröôùc heát noù phaûi xaùc ñònh xem coù theå vöôït quaù ñoä roäng baêng thoâng cuûa cuoäc goïi hieän taïi khoâng. Neáu coù theå thì noù seõ göûi baûn tin BRQ (1) tôùi Gatekeeper 1. Khi nhaän ñöôïc baûn tin BCF (2) coù nghóa laø coù ñuû ñoä roäng baêng thoâng cho yeâu caàu, ñaàu cuoái 1 seõ göûi baûn tin closeLogicalChannel (3) ñeå ñoùng keânh logic. Sau ñoù noù seõ môû laïi keânh logic baèng caùch göûi baûn tin openLogicalChannel (4) coù chöùa giaù trò toác ñoä môùi tôùi ñaàu cuoái 2. Tröôùc heát noù phaûi xaùc ñònh xem giaù trò ñoù coù vöôït quaù ñoä roäng baêng thoâng cuûa keânh hay khoâng, neáu chaáp nhaän giaù trò naøy thì noù seõ trao ñoåi baûn tin yeâu caàu thay ñoåi ñoä roäng baêng thoâng BRQ (5)/BCF (6) vôùi Gatekeeper 2. Neáu ñoä roäng baêng thoâng ñuû cho yeâu caàu thay ñoåi thì ñaàu cuoái 2 seõ traû lôøi ñaàu cuoái 1 baèng baûn tin openLogicChannelAck (7), trong tröôøng hôïp ngöôïc laïi noù seõ töø choái baèng baûn tin openLogicChannelReject.
•Thuû tuïc thay ñoåi ñoä roäng baêng thoâng nhaän ñöôïc theå hieän ôû hình döôùi. Khi ñaàu cuoái 1 muoán taêng toác ñoä nhaän treân keânh logic cuûa mình, tröôùc heát noù phaûi xaùc ñònh xem coù theå vöôït quaù ñoä roäng baêng thoâng cuûa cuoäc goïi hieän taïi khoâng. Neáu coù theå thì noù seõ göûi BRQ (1) tôùi Gatekeeper 1, khi nhaän ñöôïc BCF (2) thì noù seõ göûi baûn tin flowControlCommand (3) coù chöùa giôùi haïn toác ñoä môùi cuûa keânh tôùi thieát bò ñaàu cuoái 2. Tröôùc heát ñaàu cuoái 2 phaûi xaùc ñònh xem baêng thoâng môùi coù vöôït quaù khaû naêng cuûa keânh khoâng, neáu chaáp nhaän ñöôïc thì noù seõ göûi baûn tin yeâu caàu thay ñoåi ñoä roäng baêng thoâng BRQ (4) tôùi Gatekeeper 2. Khi nhaän ñöôïc BCF (5) thì ñaàu cuoái 2 seõ göûi baûn tin closeLogiclChannel (6) ñeå ñoùng keânh logic sau ñoù môû laïi keânh logic baèng baûn tin openLogicalChannel (7) coù chöùa toác ñoä bit môùi tôùi ñaàu cuoái 1. Ñaàu cuoái 1 seõ xaùc ñònh toác ñoä môùi vaø traû lôøi ñaàu cuoái 2 baèng baûn tin openLogicalChannelAck (6).
Thuû tuïc thay ñoåi ñoä roäng baêng thoâng nhaän
b)Traïng thaùi
Ñeå giaùm saùt traïng thaùi hoaït ñoäng cuûa ñaàu cuoái, Gatekeeper lieân tuïc trao ñoåi caëp baûn tin IRQ/IRR vôùi caùc ñaàu cuoái do noù kieåm soaùt . Khoaûng thôøi gian ñeàu ñaën giöõa caùc laàn trao ñoåi caùc baûn tin coù theå lôùn hôn 10 giaây vaø giaù trò cuûa noù do nhaø saûn xuaát quyeát ñònh.
Gatekeeper coù theå yeâu caàu moät thieát bò ñaàu cuoái göûi cho noù baûn tin IRR moät caùch ñeàu ñaën nhôø giaù trò cuûa tröôøng irrFrequency trong baûn tin ACF göûi cho thieát bò ñaàu cuoái ñoù ñeå xaùc ñònh toác ñoä truyeàn baûn tin IRR. Khi xaùc ñònh ñöôïc giaù trò cuûa tröôøng irrFrequency, thieát bò ñaàu cuoái seõ göûi baûn tin IRR vôùi toác ñoä ñoù trong suoát khoaûng thôøi gian cuûa cuoäc goïi. Trong khi ñoù Gatekeeper coù theå vaãn göûi IRQ tôùi thieát bò ñaàu cuoái vaø yeâu caàu traû lôøi theo cô cheá nhö ñaõ trình baøy ôû treân.
Trong khoaûng thôøi gian dieãn ra cuoäc goïi, moät ñaàu cuoái hoaëc Gatekeeper coù theå ñeàu ñaën hoûi traïng thaùi töø ñaàu cuoái beân kia baèng caùch söû duïng baûn tin Status Enquiry. Ñaàu cuoái nhaän ñöôïc baûn tin Status Enquiry seõ traû lôøi baèng baûn tin chæ thò traïng thaùi hieän thôøi. Thuû tuïc hoûi ñaùp naøy coù theå ñöôïc Gatekeeper söû duïng ñeå kieåm tra moät caùch ñeàu ñaën xem cuoäc goïi coù coøn ñang hoaït ñoäng khoâng. Coù moät löu yù laø caùc baûn tin naøy laø baûn tin H.225.0 ñöôïc truyeàn treân keânh baùo hieäu cuoäc goïi khoâng aûnh höôûng ñeán caùc baûn tin IRR ñöôïc truyeàn treân keânh RAS.
è Böôùc 5 - Keát thuùc cuoäc goïi
Moät thieát bò ñaàu cuoái coù theå keát thuùc cuoäc goïi theo caùc böôùc cuûa thuû tuïc sau:
1) Döøng truyeàn luoàng tín hieäu video khi keát thuùc truyeàn moät aûnh, sau ñoù ñoùng taát caû caùc keânh logic phuïc vuï truyeàn video.
2) Döøng truyeàn döõ lieäu vaø ñoùng taát caû caùc keânh logic duøng ñeå truyeàn döõ lieäu.
3) Döøng truyeàn audio sau ñoù ñoùng taát caû caùc keânh logic duøng ñeå truyeàn audio.
4) Truyeàn baûn tin H.245 endSessionCommand treân keânh ñieàu khieån H.245 ñeå baùo cho thueâ bao ñaàu kia bieát noù muoán keát thuc cuoäc goïi. Sau ñoù noù döøng truyeàn caùc baûn tin H.245 vaø ñoùng keânh ñieàu khieån H.245.
5) Noù seõ chôø nhaän baûn tin endSessionCommand töø thueâ bao ñaàu kia vaø seõ ñoùng keânh ñieàu khieån H.245
6) Neáu keânh baùo hieäu cuoäc goïi ñang môû, thì noù seõ truyeàn ñi baûn tin Release Complete sau ñoù ñoùng keânh baùo hieäu.
7) Noù cuõng coù theå keát thuùc cuoäc goïi theo caùc thuû tuïc sau ñaây.
Moät ñaàu cuoái nhaän baûn tin endSessionCommand maø tröôùc ñoù noù khoâng truyeàn ñi baûn tin naøy, thì noù seõ laàn löôït thöïc hieän caùc böôùc töø 1 ñeán 6 treân ñaây chæ boû qua böôùc 5.
Keát thuùc moät cuoäc goïi khoâng coù nghóa laø keát thuùc moät hoäi nghò (cuoäc goïi coù nhieàu ñaàu cuoái tham gia), moät hoäi nghò seõ chaéc chaén keát thuùc khi söû duïng baûn tin H.245 dropConference. Khi ñoù caùc ñaàu cuoái seõ chôø MC keát thuùc cuoäc goïi theo thuû tuïc treân.
Thieát bò ñaàu cuoái keát thuùc cuoäc goïi coù söï tham gia cuûa Gatekeeper
Trong moät cuoäc goïi khoâng coù söï tham gia cuûa Gatekeeper thì chæ caàn thöïc hieän caùc böôùc töø 1 ñeán 6.
Nhöng trong cuoäc goïi coù söï tham gia cuûa Gatekeeper thì caàn coù hoaït ñoäng giaûi phoùng baêng taàn, thuû tuïc naøy ñöôïc theå hieän ôû hình treân. Vì vaäy sau khi thöïc hieän caùc böôùc töø 1 ñeán 6, moãi ñaàu cuoái seõ truyeàn ñi baûn tin DRQ (3) tôùi Gatekeeper. Sau ñoù Gatekeeper seõ traû lôøi baèng baûn tin DCF (4). Sau khi göûi DRQ, thì ñaàu cuoái seõ khoâng göûi baûn tin IRR tôùi Gatekeeper nöõa vaø khi ñoù cuoäc goïi keát thuùc.
•Treân ñaây laø thuû tuïc keát thuùc cuoäc goïi coù söï tham gia cuûa Gatekeeper do ñaàu cuoái thöïc hieän. Thuû tuïc keát thuùc cuoäc goïi do Gatekeeper thöïc hieän ñöôïc theå hieän ôû hình döôùi. Ñaàu tieân Gatekeeper göûi baûn tin DRQ tôùi ñaàu cuoái, khi nhaän ñöôïc baûn tin naøy ñaàu cuoái seõ laàn löôït thöïc hieän caùc böôùc töø 1 ñeán 6 sau ñoù traû lôøi Gatekeeper baèng baûn tin DCF. Thueâ bao ñaàu kia khi nhaän ñöôïc baûn tin endSessionCommand seõ thöïc hieän thuû tuïc giaûi phoùng gioáng tröôøng hôïp ñaàu cuoái chuû ñoäng keát thuùc cuoäc goïi. Neáu cuoäc goïi laø moät hoäi nghò thì Gatekeeper seõ göûi DRQ tôùi taát caû caùc ñaàu cuoái tham gia hoäi nghò
Keát thuùc cuoäc goïi baét ñaàu töø gatekeeper
CHÖÔNG 8
CHAÁT LÖÔÏNG DÒCH VUÏ
(QoS)
------------eYf------------
Heä thoáng VoIP söû duïng maïng IP ñeå truyeàn daãn caùc goùi thoaïi neân caùc thoâng soá truyeàn daãn nhö ñoä treã, jitter, hay maát goùi… ñoái vôùi tín hieäu thoaïi cuõng gioáng nhö caùc loaïi tín hieäu khaùc. Maët khaùc maïng IP truyeàn daãn tín hieäu cuûa nhieàu öùng duïng khaùc nhau nhö audio, video, data… trong ñoù caùc öùng duïng khaùc nhau coù nhöõng yeâu caàu veà thoâng soá chaát löôïng truyeàn daãn khaùc nhau, nhaát laø caùc loaïi tín hieäu thôøi gian thöïc ñoøi hoûi chaát löôïng truyeàn daãn raát cao. Ñeå giaûi quyeát vaán ñeà naøy ngöôøi ta ñaët ra khaùi nieäm “chaát löôïng dòch vuï” (Quality of Service – QoS).
Chaát löôïng dòch vuï laø moät vaán ñeà raát quan troïng trong heä thoáng thoaïi VoIP. Ñeå caûi thieän chaát löôïng thoaïi cho caùc cuoäc goïi, phaûi giaûi quyeát ñöôïc vaán ñeà chaát löôïng dòch vuï cuûa maïng VoIP.
I. CAÙC YEÁU TOÁ AÛNH HÖÔÛNG ÑEÁN CHAÁT LÖÔÏNG DÒCH VUÏ CUÛA MAÏNG THOAÏI :
Coù nhieàu yeáu toá aûnh höôûng ñeán chaát löôïng dòch vuï cuûa maïng VoIP, nhöng ba yeáu toá sau ñaây laø ñaùng quan taâm hôn caû:
Ñoä treã (Delay).
Cheânh leäch thôøi gian treã (Jitter).
Maát goùi (Packet loss).
1. Treã
Dòch vuï thoaïi cuõng nhö caùc dòch vuï thôøi gian thöïc khaùc coù giôùi haïn nghieâm ngaët veà ñoä treã trong vieäc truyeàn taûi caùc goùi thoaïi giöõa caùc ñaàu cuoái. Neáu ñoä treã quaù lôùn coù theå gaây ra caùc aûnh höôûng xaáu ñeán chaát löôïng cuûa tín hieäu thoaïi nhö ngaét quaõng quaù trình ñaøm thoaïi hay gaây ra tieáng vang (echo).
Caùc nguyeân nhaân gaây treã treân maïng VoIP:
Treã thuaät toaùn (Codec delay)
Ñaây laø ñoä treã do caùc boä codec taïo ra vaø laø thôøi gian thöïc thi cuûa caùc thuaät toaùn maõ hoùa. Ñoä treã maõ hoùa phuï thuoäc vaøo töøng loaïi thuaät toaùn maõ hoùa. Caùc thuaät toaùn maõ hoùa caøng ñôn giaûn vaø cho toác ñoä bit lôùn thì thôøi gian thöïc thi caøng ngaén, do ñoù ñoä treã thaáp.
Treã thuaät toaùn cuûa moät soá tieâu chuaån maõ hoùa.
Tieâu chuaån maõ hoùa
Giaûi thuaät neùn
Toác ñoä bit (Kbit/s)
Treã maõ hoùa (ms)
Treã giaûi maõ (ms)
G.711
PCM
64
0
0
G.729
CS_ACELP
8
7.5
7.5
G.723.1
ACELP
5.3/6.4
18.75
18.75
Treã do taïo goùi (Packetization delay)
Caùc loaïi goùi thöôøng bao goàm hai hay nhieàu maãu thoaïi, do vaäy maø phía phaùt phaûi chôø trong khoaûng thôøi gian baèng boäi soá thôøi gian taïo maãu thoaïi tröôùc khi coù theå phaùt goùi ñi. Ñaây laø ñoä treã gaây ra do quaù trình goùi hoùa thoaïi. Quaù trình ñoùng goùi thoaïi ñöôïc thöïc hieän nhaèm giaûm söï hao phí baêng thoâng cho phaàn tieâu ñeà ñöôïc gôûi keøm theo caùc tín hieäu thoaïi.
Ñeå giaûm ñoä treã, caùc goùi thoaïi trong maïng VoIP thöôøng coù kích thöôùc nhoû. Tuy vaäy neáu kích thöôùc cuûa goùi thoaïi quaù nhoû seõ laøm taêng söï hao phí baêng thoâng treân maïng do phaàn tieâu ñeà gôûi keøm theo moãi goùi chieám tæ leä lôùn treân toång kích thöôùc cuûa moãi goùi.
Chuaån RFC qui ñònh raèng chu kì goùi hoùa ngaàm ñònh ñoái vôùi dòch vuï treân maïng VoIP laø 20ms. Tuy vaäy moät soá tieâu chuaån maõ hoùa coù theå coù caùc qui ñònh khaùc, nhö tieâu chuaån G.723.1 taïo caùc khung thoaïi coù ñoä daøi 30ms vaø moãi khung seõ ñöôïc phaùt ñi nhö moät goùi thoaïi vôùi söï boå sung phaàn tieâu ñeà cuûa keânh RTP.
Treã do lan truyeàn (Propagation delay)
Ñoä treã do lan truyeàn laø thôøi gian ñeå caùc tín hieäu lan truyeàn treân ñöôøng truyeàn giöõa caùc ñaàu cuoái. Thoâng thöôøng ñoä treã naøy laø khoâng ñaùng keå vì toác ñoä lan truyeàn cuûa tín hieäu töông ñoái lôùn. Ñoä treã naøy chæ ñöôïc tính ñeán trong ñoä treå cuûa toaøn maïng khi cöï ly cuûa ñöôøng truyeàn lôùn.
Treã chuyeån phaùt goùi (Serialization delay)
Quaù trình chuyeån phaùt goùi cuõng laø moät nguyeân nhaân gaây ra ñoä treã lôùn treân maïng. Noù laø thôøi gian caàn thieát ñeå chuyeån phaùt moät goùi döõ lieäu leân ñöôøng truyeàn vaät lyù töø moät nuùt maïng. Ñoä treã naøy phuï thuoäc vaøo toác ñoä giao tieáp cuûa caùc ñöôøng truyeàn vaät lyù maø heä thoáng söû duïng. Toác ñoä cuûa caùc ñöôøng vaät lyù caøng cao thì ñoä treã caøng thaáp.
Theâm vaøo ñoù ñoä treã naøy coøn taêng leân theo soá nuùt maïng maø goùi seõ ñi qua, vì moãi nuùt maïng ñeàu thöïc thi quaù trình chuyeån phaùt goùi leân ñöôøng lieân keát giöõa noù vôùi nuùt maïng laân caän.
Maëc duø ñoä treã do chuyeån phaùt goùi laø khoâng loaïi boû ñöôïc nhöng neáu söû duïng caùc giao tieáp coù toác ñoä cao, vaø haïn cheá caùc ñöôøng lieân keát maø caùc goùi ñi qua thì coù theå toái thieåu ñöôïc ñoä treã naøy.
Treã haøng ñôïi (Queuing delay)
Ñoä treã haøng ñôïi laø thôøi gian maø caùc goùi thoaïi phaûi naèm chôø trong caùc boä ñeäm tröôùc khi noù ñöôïc phaùt ñi. Thôøi gian treã naøy laø moät ñaïi löôïng bieán thieân ñöôïc qui ñònh bôûi löu löôïng taûi treân maïng. Khi löu löôïng taûi qua maïng thaáp, caùc goùi thoaïi coù theå ñöôïc chuyeån phaùt ñi ngay maø khoâng caàn phaûi ñöa vaøo boä ñeäm. Tuy vaäy khi löu löôïng ñi qua moät nuùt maïng lôùn, toác ñoä xöû lyù cuûa caùc nuùt maïng khoâng ñaùp öùng ñöôïc toác ñoä luoàng löu löôïng ñeán, caùc goùi phaûi chôø trong caùc haøng ñôïi, ñoä treã haøng ñôïi coù theå laøm cho toång ñoä treã treân toaøn maïng lôùn.
Ñeå ñaûm baûo ñoä treã ñoái vôùi caùc goùi thoaïi laø thaáp nhaát,maïng IP caàn xaùc laäp cô cheá öu tieân trong vieäc xöû lyù vaø phaân phaùt goùi thoaïi.
2. Jitter
Nhö ñaõ ñeà caäp ôû chöông 5, jitter laø ñoä cheânh leäch veà khoaûng caùch giöõa caùc goùi ôû ñaàu thu so vôùi khoaûng caùch chuaån qui ñònh. Khi caùc khung ñöôïc phaùt qua moät maïng IP, toång thôøi gian treã maø moãi khung traûi qua coù theå khaùc nhau. Sôû dó nhö vaäy laø vì caùc goùi thoaïi ñöôïc xöû lyù hoaøn toaøn ñoäc laäp neân toång ñoä treã haøng ñôïi, thôøi gian xöû lyù, truyeàn phaùt goùi coù theå bieán ñoåi tuøy thuoäc vaøo taûi toång theå trong maïng cuõng nhö caáu truùc cuûa maïng. Do ñoù maëc duø caùc khung thoaïi ñeàu do cuøng moät nguoàn taïo ra taïi caùc khoaûng thôøi gian ñeàu ñaën, thì phía ñích thöôøng vaãn khoâng thu ñöôïc caùc khung naøy trong caùc khoaûng thôøi gian baèng nhau vì söï cheânh leäch veà ñoä treã cuûa caùc goùi trong maïng.
Jitter seõ laøm cho caùc ñaàu cuoái thu khoâng xöû lyù kòp trong tröôøng hôïp khoaûng caùch giöõa caùc goùi thoaïi quaù ngaén vaø ñoàng thôøi cuõng coù theå laøm cho phía thu hieåu nhaàm caùc goùi bò maát khi khoaûng caùch giöõa caùc goùi quaù lôùn.
Phöông phaùp chung ñeå xöû lyù ñoái vôùi jitter laø giöõ caùc khung thoaïi taïi boä ñeäm cho pheùp caùc khung chaäm nhaát cuõng tôùi kòp thôøi ñeå ñöôïc ñoïc theo moät thöù töï ñuùng trong nhöõng khoaûng thôøi gian xaùc ñònh. Löôïng jitter caøng lôùn thì moät soá khung caøng ñöôïc giöõ laâu trong boä ñeäm vaø seõ taïo ra theâm thôøi gian treã. Ñoä treã naøy goïi laø ñoä treã gaây ra do boä ñeäm jitter.
Ñeå giaûm thieåu ñoä treã gaây ra do boä nhôù ñeäm, boä nhôù ñeäm jitter thích nghi ñöôïc söû duïng. Nguyeân taéc hoaït ñoäng cuûa boä nhôù naøy laø neáu löôïng jitter trong maïng nhoû thì kích thöôùc boä ñeäm seõ nhoû. Neáu jitter taêng leân do taûi cuûa maïng taêng thì kích thöôùc boä ñeäm seõ töï ñoäng taêng ñeå buø laïi.
Nhö vaäy, jitter trong maïng seõ laøm xaáu chaát löôïng thoaïi ôû möùc ñoä noù laøm taêng treã töø ñaàu cuoái tôùi ñaàu cuoái do coù boä ñeäm. Ñoâi khi neáu jitter quaù lôùn, boä nhôù ñeäm coù theå cho pheùp maát moät soá khung ñeå duy trì thôøi gian treã gaây ra bôûi hieän töôïng jitter khoâng quaù lôùn.
3. Maát goùi
Aûnh höôûng cuûa maát goùi
Nhö ñaõ ñeà caäp ôû phaàn ñaàu, maát goùi laø hieän töôïng khoâng theå traùnh ñöôïc do cô cheá phaân phoái khoâng keát noái cuõng nhö khoâng ñaûm baûo tính tin caäy cuûa maïng IP. Khaùc vôùi caùc dòch vuï truyeàn döõ lieäu, maát goùi coù theå ñöôïc khaéc phuïc nhôø caùc cô cheá phaùt laïi goùi ñöôïc thieát laäp ôû lôùp truyeàn taûi, nhö söû duïng giao thöùc TCP chaúng haïn. Trong thoâng tin thoaïi, do tính chaát thôøi gian thöïc cuûa chuùng, khoâng cho pheùp söû duïng cô cheá phaùt laïi vì seõ laøm taêng ñoä treã cuûa maïng.
Trong thoâng tin thoaïi, maëc duø xaùc suaát maát goùi coù theå ñöôïc chaáp nhaän ôû moät möùc ñoä nhaát ñònh tuy vaäy maát goùi ñoàng nghóa vôùi vieäc maát ñi caùc maãu thoaïi coù theå daãn ñeán ñöùt quaõng trong quaù trình ñaøm thoaïi. Do vaäy maø chaát löôïng cuûa maïng thoaïi coøn chòu aûnh höôûng bôûi caùch xöû lyù cuûa caùc ñaàu cuoái ñoái vôùi phaàn khung bò xoùa.
Phöông phaùp xöû lyù maát goùi
Trong tröôøng hôïp ñôn giaûn nhaát, caùc ñaáu cuoái seõ boû qua caùc khe troáng trong doøng thoaïi neáu moät maãu thoaïi bò maát. Nghóa laø caùc noäi dung thoaïi chöùa trong caùc maãu thoaïi bò maát seõ bò boû qua. Ñieàu naøy coù theå chaáp nhaän ñöôïc neáu xaùc suaát maát goùi thaáp vì thoâng tin thoaïi khoâng yeâu caàu ñoä chính xaùc cao.
Tuy nhieân neáu quaù nhieàu khung bò maát, tieáng noùi seõ bò ñöùt ñoaïn vôùi caùc aâm tieát hoaëc caùc töø bò maát, moät phöông phaùp coù theå ñöôïc söû duïng ñeå khoâi phuïc laïi caùc ñoaïn thoaïi bò maát laø phaùt laïi maãu thoaïi ngay tröôùc ñoù. Phöông phaùp naøy laøm vieäc toát neáu chæ coù vaøi maãu bò maát trong toaøn boä quaù trình ñaøm thoaïi vaø khoâng lieân tuïc. Ñeå ñoái phoù vôùi caùc loãi nhoùm, töông öùng nhieàu maãu thoaïi bò maát, ngöôøi ta thöôøng phaûi duøng phöông phaùp noäi suy. Döïa vaøo caùc maãu thoaïi tröôùc ñoù, boä giaûi maõ seõ döï ñoaùn caùc khung bò maát coù theå laø gì. Kó thuaät naøy ñöôïc goïi laø kyõ thuaät che daáu söï maát goùi (Packet Loss Concealment).
II. CAÙC PHÖÔNG THÖÙC XAÙC LAÄP THOÂNG SOÁ CHAÁT LÖÔÏNG DÒCH VUÏ CHO LÔÙP IP :
Nhö treân ñaõ khaûo saùt moät soá caùc yeáu toá chính aûnh höôûng ñeán chaát löôïng truyeàn thoaïi qua maïng IP. Neáu maïng IP ñôn thuaàn chæ xöû lyù caùc goùi thoaïi töông töï nhö caùc goùi döõ lieäu thì vieäc truyeàn thoaïi qua maïng IP seõ khoâng ñaûm baûo ñöôïc caùc thoâng soá chaát löôïng dòch vuï. Do vaäy caàn phaûi xaùc laäp caùc cô cheá xöû lyù ôû lôùp IP cho pheùp caùc giao thöùc ôû lôùp naøy coù theå nhaän bieát ñöôïc caùc thoâng soá chaát löôïng ñoái vôùi töøng loaïi löu löôïng ñi qua noù ñeå coù caùc phaûn öùng thích hôïp ñoái vôùi caùc goùi thoaïi coù yeâu caàu cao veà chaát löôïng phaân phoái goùi treân maïng ñeå giaûi quyeát caùc vaán ñeà thôøi gian thöïc, jitter, … Vaán ñeà xaùc laäp QoS cho maïng IP coù theå ñöôïc tieán haønh theo hai phöông phaùp sau:
Döï tröõ taøi nguyeân cho töøng loaïi dòch vuï.
Xaùc ñònh öu tieân cho caùc luoàng löu löôïng.
1. Caùc phöông phaùp xöû lyù yeâu caàu veà baêng thoâng ñoái vôùi tín hieäu thoaïi
a) Giao thöùc neùn tieâu ñeà goùi thoaïi (Compressed Real-Time Protocol – cRTP)
Do vieäc söû duïng theâm phaàn tieâu ñeà goùi neân ñoái vôùi moät maïng ñieän thoaïi qua IP neáu söû duïng cuøng moät phöông phaùp maõ hoùa nhö maïng thoaïi PSTN thì baêng thoâng caàn thieát cho maïng IP seõ lôùn hôn maïng chuyeån maïch keânh. Tuy vaäy neáu aùp duïng caùc thuaät toaùn maõ hoùa neùn thoaïi hay loaïi boû caùc khoaûng laëng, ñoàng thôøi söû duïng moät caùch linh hoaït, chia seõ phaàn baêng thoâng ñöôïc caáp phaùt giöõa caùc keânh thoaïi thì maïng thoaïi IP cho pheùp vieäc söû duïng baêng thoâng toái öu hôn so vôùi maïng phaân keânh coá ñònh TDM.
Moät phöông phaùp höõu hieäu ñeå giaûm löôïng baêng thoâng ñöôïc yeâu caàu bôûi dòch vuï thoaïi treân maïng laø neùn tieâu ñeà goùi. Quaù trình neùn tieâu ñeà goùi seõ laøm giaûm kích thöôùc cuûa caùc goùi thoaïi vaø do ñoù giaûm söï tieâu thuï baêng thoâng daønh cho moãi goùi thoaïi ñöôïc truyeàn qua maïng.
Ngöôøi ta neùn phaàn tieâu ñeà cuûa caùc goùi thoaïi baèng vieäc tích hôïp cRTP treân caùc nuùt maïng. cRTP laø moät giao thöùc cho pheùp neùn tieâu ñeà cuûa goùi thoaïi bao goàm tieâu ñeà cuûa caùc giao thöùc RTP, UDP vaø IP coù kích thöôùc 40 byte chæ coøn 2 ñeán 4 byte tuøy theo vieäc söû duïng hay khoâng söû duïng tröôøng checksum treân tieâu ñeà UDP.
Kích thöôùc goùi tröôùc khi neùn
20 bytes 8 bytes 12 bytes
IP
UDP
RTP
Payload
Tieâu ñeà goùi 20 -160 byte
Kích thöôùc goùi sau khi neùn
2-4 byte
Payload
20 -160 byte
Söû duïng cRTP neùn tieâu ñeà goùi thoaïi
Giao thöùc neùn tieâu ñeà goùi cRTP hoaït ñoäng treân cô sôû moät soá tröôøng thoâng tin treân phaàn tieâu ñeà goùi cuûa caùc giao thöùc IP vaø UDP thöôøng khoâng thay ñoåi treân caùc goùi khaùc nhau. Theâm vaøo ñoù caùc tröôøng thoâng tin tieâu ñeà RTP thay ñoåi theo moät qui luaät xaùc ñònh. Do ñoù cRTP chæ truyeàn ñaày ñuû thoâng tin cuûa phaàn tieâu ôû goùi ñaàu tieân vaø tieâu ñeà cuûa caùc goùi sau ñoù seõ bò neùn baèng caùch boû ñi caùc tröôøng thoâng tin laëp laïi hay söû duïng moät soá bit ñeå chæ thò qui luaät thay ñoåi thoâng tin.
Theo ñoù cRTP chæ phaùt ñi caùc tröôøng Packet ID treân tieâu ñeà IP khi coù söï thay ñoåi, checksum cuûa UDP khi caùc öùng duïng ñaàu cuoái coù yeâu caàu. Ñoái vôùi caùc tröôøng soá thöù töï baûn tin hay timestamp treân tieâu ñeà RTP, cRTP seõ thieát laäp caùc tröôøng xaùc ñònh qui luaät thay ñoåi nhö soá thöù töï seõ taêng bôûi 1, coøn TS seõ taêng theo thôøi gian laáy maãu.
Tröôøng quan troïng nhaát trong phaàn tieâu ñeà neùn laø tröôøng nhaän daïng phieân CID (session context identifier) goàm 8 bit xaùc ñònh moät phieân keát noái giöõa hai ñaàu cuoái. CID laø tröôøng ñaïi dieän cho toå hôïp thoâng tin xaùc laäp phieân laøm vieäc treân 3 lôùp IP/UDP/RTP bao goàm:
Ñòa chæ IP.
Soá coång giao thöùc UDP.
Tröôøng xaùc ñònh nguoàn ñoàng boä cuûa luoàng thoâng tin RTP.
Baûng so saùnh baêng thoâng khi söû duïng vaø khoâng söû duïng cRTP
Tieâu chuaån maõ hoùa
Baêng thoâng söû duïng
Baêng thoâng söû duïng khi söû duïng cRTP
G.729(1 maãu 10ms/khung)
40kbit/s
9.6kbit/s
G.729(2 maãu 10ms/khung)
16kbit/s
8.4kbit/s
G.729(4 maãu 10ms/khung)
24kbit/s
11.2kbit/s
G.711(1 maãu 10ms/khung)
112kbit/s
81.6kbit/s
G.711(2 maãu 10ms/khung)
96kbit/s
80.8kbit/s
b) Resource Reservation Protocol (RSVP)
RSVP laø giao thöùc cho pheùp caùc ñaàu cuoái thoâng baùo cho maïng veà thoâng soá chaát löôïng dòch vuï cuûa caùc öùng duïng ñöôïc gôûi qua chuùng, treân cô sôû ñoù maïng seõ xaùc laäp caùc phöông thöùc xöû lyù ñoái vôùi töøng loaïi löu löôïng khaùc nhau. Theâm vaøo ñoù RSVP coøn mang thoâng tin veà nhu caàu baêng thoâng cuûa töøng loaïi löu löôïng ñeán caùc nuùt maïng tröôùc khi keânh thoâng tin ñöôïc thieát laäp, theo ñoù caùc nuùt maïng coù theå chaáp nhaän hay töø choái vieäc gôûi caùc goùi tin ñeán chuùng. Caùc goùi tin seõ phaûi gôûi ñi treân moät ñöôøng daãn khaùc neáu khoâng nhaän ñöôïc caùc ñaùp öùng töø moät nuùt maïng cho caùc yeâu caàu veà söû duïng taøi nguyeân treân maïng.
Nhö vaäy RSVP laø moät giao thöùc ñònh höôùng cho vieäc thieát laäp caùc ñöôøng truyeàn thoâng tin treân maïng cuõng nhö cho vieäc xaùc laäp caùc cô cheá xöû lyù thoâng tin treân moãi nuùt maïng. RSVP thieát laäp moät keânh thoâng tin rieâng ñôn höôùng ñeå phaùt caùc baûn tin cuûa noù song song vôùi keânh truyeàn döõ lieäu . Baûn tin PATH seõ mang thoâng tin moâ taû luoàng löu löôïng ñeán ñaàu cuoái ñích, coøn baûn tin RESV seõ thoâng baùo cho ñaàu cuoái phaùt bieát ñaàu cuoái ñích tieáp nhaän thoâng tin vaø phaàn baêng thoâng toái thieåu seõ caáp phaùt cho luoàng döõ lieäu.
Moät öùng duïng cuûa RSVP laø cho pheùp caùc Gateway thöïc thi cô cheá ñieàu khieån vieäc chaáp nhaän cuoäc goïi. Theo ñoù baûn tin Alerting chæ ñöôïc gôûi ñi sau khi ñaõ xaùc laäp ñöôïc caùc taøi nguyeân maïng seõ caáp phaùt cho cuoäc goïi ôû caû hai ñaàu cuoái baèng vieäc thieát laäp hai keânh RSVP treân hai höôùng. Neáu moät trong hai keânh RSVP bò töø choái, cuoäc goïi seõ khoâng ñöôïc thieát laäp.
2. Ñònh möùc öu tieân cho caùc luoàng löu löôïng
Thoâng soá chaát löôïng dòch vuï QoS ñöôïc thieát laäp treân maïng IP nhaèm ñaûm baûo lôùp maïng IP coù theå phaân loaïi caùc lôùp dòch vuï ñi qua noù vaø nhôø ñoù coù theå xaùc laäp caùc cô cheá öu tieân trong vieäc xöû lyù caùc goùi thoaïi. Nguyeân lyù cuûa moâ hình phaân lôùp dòch vuï naèm ôû choã lôùp maïng IP seõ phaûi phaân loaïi luoàng löu löôïng ñi qua noù ñöïa treân thoâng soá veà chaát löôïng dòch vuï khaùc nhau maø lôùp IP seõ xaùc ñònh caùc phöông thöùc xöû lyù goùi khaùc nhau. Caùc phöông thöùc xöû lyù goùi bao goàm caùc quaù trình xaùc ñònh baêng thoâng seõ caáp phaùt cho lôùp dòch vuï, thöù töï vaø thôøi gian phuïc vuï cuûa lôùp maïng IP ñoái vôùi moãi lôùp dòch vuï. Ñoàng thôøi phöông thöùc naøy cuõng xaùc ñònh phöông phaùp xöû lyù ñoái vôùi caùc goùi khi coù taéc ngheõn xaûy ra.
a) Caáu truùc phaân lôùp dòch vuï (Diffirentiate Service)
Ñeå coù theå phaân loaïi luoàng löu löôïng ñi qua, caùc nuùt maïng ñöôïc caáu hình caáu truùc phaân lôùp dòch vuï. Döïa vaøo caùc bit maõ hoùa ñöôïc xaùc laäp treân tröôøng ToS (Type of Service) ôû phaàn tieâu ñeà IP ñeå ñaùnh daáu caùc luoàng löu löôïng töông öùng vôùi caùc möùc yeâu caàu chaát löôïng dòch vuï khaùc nhau.
Theo caùch naøy, 6 bit cao cuûa tröôøng ToS seõ ñöôïc söû duïng vaø ñöôïc goïi laø Differentiated Service Code Point (DSCP). Caùc bit DSCP treân caùc goùi IP seõ phaân loaïi löu löôïng thaønh hai lôùp chaát löôïng dòch vuï chính bao goàm:
Expedited Forwarding (EF).
EF laø lôùp dòch vuï coù möùc öu tieân cao nhaát, caùc goùi tin ñöôïc xaùc laäp ôû lôùp naøy ñöôïc xöû lyù tröôùc tieân ôû caùc haøng ñôïi. Dòch vuï thoaïi VoIP thöôøng ñöôïc caáu hình ôû lôùp naøy.
Assured Forwarding (AF).
AF laø lôùp dòch vuï coù ñoä öu tieân keá tieáp. Trong AF coøn chia thaønh 4 lôùp con vaø trong moãi lôùp con coøn phaân chia thaønh 3 möùc öu tieân.
b) Chuyeån maïch nhaõn ña giao thöùc MPLS (MultiProtocol Label Switch)
Ñeå xaùc ñònh ñoä öu tieân cho caùc goùi, quaù trình vaän chuyeån phaùt goùi treân maïng IP chòu söï taùc ñoäng cuûa caùc thoâng soá QoS. QoS bao goàm caùc thoâng soá ñieàu khieån doøng nhö ñoä treã, jitter, vaø xaùc suaát maát goùi. MPLS laø phöông thöùc ñaùp öùng ñöôïc caùc yeâu caàu treân thoâng qua vieäc ñieàu khieån caùc tieán trình thieát laäp ñöôøng daãn giöõa nguoàn vaø ñích baèng caùc thoâng tin treân caùc nhaõn cuûa goùi thoâng tin.
Ñoái vôùi caùc maïng Ethernet, MPLS xaùc ñònh moät nhaõn môùi cho caùc goùi IP, caùc nhaõn naøy seõ ñöôïc cheøn vaøo giöõa phaàn tieâu ñeà Ethernet vaø caùc goùi IP. Nhaõn MPLS bao goàm 32 bit, vôùi 20 bit ñaàu chöùa thoâng tin chính cuûa nhaõn,8 bit cuoái laø Time to live, 3 bit Exp ñöôïc xaùc ñònh ñeå keát hôïp giöõa DS vôùi MPLS. Bit S xaùc ñònh nhaõn cuoái cuøng trong chuoãi nhaõn cuûa MPLS.
Caáu truùc khung khoâng söû duïng MPLS
Tieâu ñeà Ethernet
IP datagarm
Caáu truùc khung söû duïng MPLS
Tieâu ñeà Ethernet
Nhaõn MPLS
(4 byte)
IP datagarm
Nhaõn MPLS (4 byte)
Nhaõn
(0:19)
EXP
(20:22)
S
23
Time to live
24:31
Caáu truùc goùi trong chuyeån maïch nhaõn MPLS
Döïa treân thoâng tin veà caùc thoâng soá QoS ñoái vôùi moãi loaïi dòch vuï qua maïng, MPLS seõ xaùc ñònh caùc lôùp chuyeån tieáp FEC (Forwarding Equipvalent Class). FEC laø doøng caùc goùi ñöôïc chuyeån tieáp theo cuøng moät phöông thöùc, vôùi cuøng moät cô cheá xöû lyù haøng ñôïi vôùi möùc ngöôõng ñoä treã, jitter cho pheùp ñeå ñaûm baûo chaát löôïng dòch vuï.
Vieäc xaùc ñònh ñöôøng chuyeån maïch nhaõn cuûa moät lôùp FEC cho moät doøng goùi ñöôïc thöïc hieän ôû ngoõ vaøo cuûa maïng MPLS. Baèng quaù trình xaùc laäp moät nhaõn mang thoâng soá QoS coù yù nghóa treân toaøn maïng cho doøng löu löôïng ñoù. Khi ñi qua moãi nuùt chuyeån maïch nhaõn LSR (Label Switch Router), phaàn nhaõn treân moãi goùi tin seõ ñöôïc thay theá baèng moät nhaõn môùi ñeå xaùc laäp ñöôøng ñi keá tieáp cho chuùng. Quaù trình xaùc laäp caùc ñöôøng chuyeån maïch nhaõn LSP (Label Switching Path) seõ ñöôïc thieát laäp moät caùch töï ñoäng baèng caùc thoâng tin ñöôïc cung caáp töø caùc giao thöùc ñònh tuyeán hay seõ ñöôïc thieát laäp tónh baèng vieäc chæ ñònh moät caùch baét buoäc.
c) IP Precedence vaø Type of Service:
TANDBERG ñöa ra ñòa chæ IP öu tieân ( IP Precedence ) vaø kieåu phuïc vuï ( Type Of Service ToS ). IP Precedence cho pheùp video vaø audio ñöôïc quyeàn öu tieân truyeàn ñi tröôùc.
Giaù trò tính hieäu baùo hieäu, video, data coù theå ñoäc laäp treân GateWay.
Giaù trò ToS coù nhöõng ñaëc tröng: toái ña baêng thoâng (Maximum throughput), haïn cheá toái thieåu chi phí(Minimum monetaty cost), ñoä treã thaáp (Minimum delay), ñoä tin caäy cao (Maximum reliable). Ñaây laø nhöõng ñaëc tröng ñeå router ñöa ra nhöõng quyeát ñònh ñeå traùnh söï ngheõn maïch trong maïng.
Khaû naêng QoS cuûa TANDBERG GATEWAY coù theå söû duïng ñeå quaûn trò maïng LAN vaø maïng WAN moät caùch hieäu quaû. IP Precedence vaø ToS ñöa ra nhöõng öu tieân veà ñòa chæ IP, ñieàu khieån söï ngheõn maïch vaø cho pheùp sö töông thích toát nhaát veà hoäi nghò truyeàn hình (Video Conference) trong maïng LAN. Trong xu theá phaùt trieån nhanh choùng cuûa maïng hieän nay, nhöõng ñaëc tröng ôû treân coù theå haïn cheá nhöõng döõ lieäu coù quyeàn öu tieân thaáp ñeå taêng tính linh hoaït cuûa router vaø cuõng cung caáp nhöõng khaû naêng cao nhaát cho döõ lieäu cuûa hoäi nghò truyeàn hình coù theå truyeàn ñi ñöôïc ñeán ñuùng ñích.
III. CAÙC THUAÄT TOAÙN XÖÛ LYÙ HAØNG ÑÔÏI :
1. Xöû lyù haøng ñôïi caân baèng trong soá (Weighted Fair Queuing-WFQ)
WFQ laø phöông phaùp xöû lyù luoàng löu löôïng ñeán moät nuùt maïng baèng caùch phaân chia luoàng löu löôïng naøy thaønh nhieàu haøng ñôïi vaø caáp phaùt cho moãi haøng ñôïi moät löôïng baêng thoâng baèng nhau. Vôùi cô cheá naøy, ñaûm baûo raèng moïi luoàng löu löôïng ñeàu ñöôïc caáp phaùt baêng thoâng vaø khoâng moät luoàng löu löôïng naøo coù quyeàn chieám duïng baêng thoâng cuûa toaøn boä maïng.
Hoaït ñoäng cuûa WFQ töông töï nhö TDM trong chuyeån maïch keânh. Tuy vaäy WRQ coù öu ñieåm hôn trong vieäc söû duïng baêng thoâng nhôø coù khaû naêng thu hoài baêng thoâng ñaõ caáp phaùt cho caùc luoàng löu löôïng hieän khoâng coù nhu caàu söû duïng ñeå caáp phaùt cho caùc luoàng löu löôïng khaùc.
2. Xöû lyù haøng ñôïi tuøy choïn (Custom Queuing – CQ)
Cô cheá naøy cho pheùp ngöôøi söû duïng coù theå xaùc ñònh soá löôïng caùc lôùp löu löôïng ñöôïc phaân chia, cuõng nhö löôïng baêng thoâng trung bình ñöôïc caáp cho moãi luoàng löu löôïng. Phöông thöùc xöû lyù naøy ñöôïc thöïc hieän theo cô cheá round robin, moät boä scheduler seõ laàn löôït queùt qua moãi haøng ñôïi vaø quyeát ñònh bao nhieâu goùi treân moãi haøng ñôïi seõ ñöôïc phaùt ñi treân moãi löôït.
3. Xöû lyù haøng ñôïi öu tieân (Priority Queuing – PQ)
Vôùi phöông phaùp xöû lyù naøy luoàng löu löôïng ñeán moät nuùt maïng seõ ñöôïc chia thaønh 4 luoàng löu löôïng vôùi caáp ñoä öu tieân giaûm daàn bao goàm cao, bình thöôøng, trung bình vaø thaáp. Nuùt maïng seõ xöû lyù caùc luoàng löu löôïng theo thöù töï öu tieân töø cao ñeán thaáp. Caùc luoàng löu löôïng ôû möùc öu tieân thaáp hôn chæ ñöôïc xöû lyù khi taát caû caùc goùi treân luoàng löu löôïng coù thöù töï öu tieân cao hôn noù ñaõ ñöôïc truyeàn ñi.
Phöông thöùc naøy ñöôïc xaùc laäp ñeå phuïc vuï cho caùc luoàng löu löôïng yeâu caàu ñoä treã cuõng nhö xaùc suaát maát goùi thaáp, nhö dòch vuï thoaïi chaúng haïn. Khi ñoù caùc luoàng löu löôïng coù thöù töï öu tieân cao seõ luoân ñöôïc caáp phaùt baêng thoâng theo yeâu caàu baát chaáp söï toàn taïi cuûa caùc luoàng löu löôïng khaùc treân maïng.
4. Xöû lyù haøng ñôïi caân baèng troïng soá phaân lôùp (Class-Based WFQ)
CB WFQ laø söï keát hôïp giöõa CQ vaø WFQ, cho pheùp xaùc ñònh chính xaùc soá löôïng baêng thoâng ñöôïc caáp phaùt cho moãi lôùp. CB-WFQ cho pheùp xaùc laäp ñeán 64 lôùp dòch vuï vaø kieåm soaùt baêng thoâng ñöôïc caáp phaùt cho moãi lôùp. Neáu soá löôïng baêng thoâng ñöôïc caáp phaùt cho moãi lôùp trong WFQ phuï thuoäc vaøo soá lôùp dòch vuï treân ngoõ vaøo cuûa moãi nuùt, thì vôùi CB-WFQ , phaàn baêng thoâng caáp phaùt cho moãi nuùt maïng coù theå ñöôïc xaùc laäp ôû moät giôùi haïn nhaát ñònh bôûi ngöôøi söû duïng.
5. Xöû lyù haøng ñôïi ñaûm baûo ñoä treã thaáp (Low Latency Queuing-LLQ)
Laø söï keát hôïp giöõa PQ vaø CB-WFQ, cho pheùp thöïc thi quaù trình phaân lôùp dòch vuï vaø xaùc laäp thöù töï öu tieân cao nhaát cho moät lôùp dòch vuï. Theo ñoù khi coù yeâu caàu, toaøn boä baêng thoâng cuûa maïng seõ ñöôïc caáp phaùt cho lôùp dòch vuï naøy. Baêng thoâng cuûa maïng chæ ñöôïc caáp phaùt cho caùc dòch vuï khaùc khi khoâng coøn baát kì yeâu caàu naøo töø lôùp dòch vuï coù thöù töï öu tieân cao nhaát.
Phöông thöùc xöû lyù haøng ñôïi naøy ñöôïc söû duïng phoå bieán trong caùc heä thoáng VoIP do ñaûm baûo ñoä treã cuõng nhö xaùc suaát maát goùi nhoû trong vieäc truyeàn taûi löu löôïng thoaïi vôùi möùc öu tieân cao nhaát.
CHÖÔNG 9
MOÂ HÌNH TRUYEÀN THOAÏI
PC to PC
------------eYf------------
Moâ hình truyeàn thoaïi VoIP qua maïng LAN ñöôïc xaây döïng nhaèm muïc ñích thieát laäp moät heä thoáng truyeàn thoaïi noäi boä taïi caùc cô quan, taän duïng caùc keát noái saün coù giöõa caùc ñaàu cuoái PC, thay theá cho chöùc naêng cuûa caùc toång ñaøi PABX. Thay vì phaûi xaây döïng heä thoáng chuyeån maïch keânh nhö ñoái vôùi caùc toång ñaøi ñieän töû hay toång ñaøi soá ñeå thöïc thi caùc tieán trình keát noái thöïc hieän cuoäc goïi, thoaïi coù theå ñöôïc truyeàn taûi qua caùc ñöôøng keát noái Ethernet vôùi toác ñoä 10Mbit/s cuøng vôùi caùc thoâng tin döõ lieäu treân maïng LAN.
Trong moâ hình truyeàn thoaïi PC to PC, quaù trình ñaøm thoaïi ñöôïc thöïc hieän ngay treân caùc ñaàu cuoái PC ñöôïc trang bò micro vaø loa. Micro thöïc hieän chöùc naêng chuyeån ñoåi tín hieäu aâm thanh sang daïng tín hieäu ñieän ñeå ñöa vaøo soundcard coøn loa laø thieát bò phaùt thanh.
Trong moâ hình truyeàn thoaïi PC to PC, hai vaán ñeà chính caàn ñöôïc giaûi quyeát:
Xöû lyù qua soundcard.
- Truyeàn thoaïi qua card maïng.
I. XÖÛ LYÙ THOAÏI QUA SOUNDCARD :
Quaù trình xöû lyù tín hieäu thoaïi ñöôïc tieán haønh treân chip DSP cuûa soundcard. Vì baûn chaát cuûa aâm thanh laø moät tín hieäu töông töï ñöôïc thieát laäp töø 3 thaønh phaàn: bieân ñoä, taàn soá vaø pha. Trong khi maùy tính chæ coù theå laøm vieäc vôùi caùc tín hieäu soá, do vaäy ñeå coù theå löu tröõ ñöôïc caùc tín hieäu aâm thanh, boä DSP ñöôïc söû duïng ñeå chuyeån ñoåi aâm thanh sang daïng tín hieäu soá ñeå maùy tính coù theå löu tröõ vaø xöû lyù chuùng döôùi daïng soá lieäu. Ñeå thöïc hieän chöùc naêng treân, DSP ñöôïc caáu hình töø hai thaønh phaàn sau:
- Boä chyeån ñoåi A/D soá hoùa aâm thanh, chuyeån ñoåi tín hieäu töø daïng töông töï sang daïng soá. Ñeå thöïc hieän ñieàu naøy, boä chuyeån ñoåi ADC phaûi laáy maãu caùc tín hieäu trong caùc khoaûng thôøi gian nhaát ñònh. Sau ñoù caùc maãu naøy ñöôïc chuyeån sang moät chuoãi soá töông öùng vôùi giaù trò ñaõ ñöôïc löôïng töû hoùa cuûa chuùng. Toác ñoä laáy maãu caøng lôùn thì ñoä chính xaùc cuûa caùc tín hieäu ñaõ ñöôïc maõ hoùa caøng cao.
- Boä chuyeån ñoåi D/A coù chöùc naêng taùi taïo laïi daïng tín hieäu töông töï cuûa aâm thanh töø chuoãi bit maõ hoùa nhaän ñöôïc. DAC chuyeån ñoåi chuoãi soá sang daïng tín hieäu töông töï vaø chuyeån chuùng ñeán coång audio ñeå ñöa ñeán caùc boä khuyeách ñaïi vaø phaùt ra loa döôùi daïng caùc soùng aân thanh coù theå nhaän bieát ñöôïc.
Coù hai caùch ñeå thu phaùt aâm thanh söû duïng DSP, tröïc tieáp hay thoâng qua vieäc söû duïng DMA.
- Söû duïng DMA (keânh truy xuaát boä nhôù tröïc tieáp) seõ ít tieâu toán thôøi gian cuûa boä xöû lyù. Boä xöû lyù coù theå thöïc thi caùc tieán trình khaùc maø khoâng caàn maát nhieàu thôøi gian cho vieäc thu phaùt aâm thanh.
- Thu phaùt aâm thanh tröïc tieáp treân DSP, cho pheùp thöïc thi taát caû caùc tieán trình ñieàu chænh tín hieäu… Tuy vaäy phöông phaùp naøy ñoøi hoûi phaûi coù söï tham gia xöû lyù cuûa CPU.
Nhö vaäy ñeå thöïc thi caùc quaù trình thu phaùt, xöû lyù aâm thanh treân chip DSP coù theå thöïc hieän theo moät trong hai caùch treân vaø cuõng coù theå söû duïng nhieàu ngoân ngöõ laäp trình khaùc nhau. Tuøy theo moâi tröôøng laøm vieäc vaø coâng suaát cuûa CPU maø löïa choïn phöông phaùp phuø hôïp.
- Hoaëc laäp trình heä thoáng, ñieàu khieån chip DSP treân soundcard, hai keânh DMA cuõng nhö caùc tín hieäu ngaét töø DSP tôùi CPU. Phöông phaùp naøy thöïc hieän chuû yeáu trong moâi tröôøng DOS, coù theå duøng laäp trình ngoân ngöõ assembly ñeå ñôn giaûn cho vieäc dòch maõ leänh cuõng nhö taêng toác ñoä xöû lyù CPU. Tuy nhieân phöông phaùp naøy raát haïn cheá cho khaû naêng phaùt trieån chöông trình chaïy treân nhieàu maùy khaùc nhau coù kieåu soundcard khaùc nhau, vôùi keânh DMA söû duïng vaø caùc ñöôøng ngaét daønh saün khaùc nhau. Neáu khoâng quaûn lyù toát raát deã xaûy ra tranh chaáp veà keânh DMA vaø veà ñoä öu tieân caùc tín hieäu ngaét tôùi CPU khi CPU caàn xöû lyù nhieàu nhieäm vuï khaùc nhau ñoàng thôøi.
- Hoaëc laäp trình treân moâi tröôøng Windows vaø söû duïng caùc haøm ñaëc bieät daønh saün cho soundcard vì moâi tröôøng naøy coù theå quaûn lyù taát caû caùc thieát bò ngoaïi vi nhö caùc chip DSP, caùc keânh DMA. Ngöôøi laäp trình deã daøng giao tieáp vôùi moïi loaïi card aâm thanh thoâng qua giao dieän Windows API maø ñieån hình laø caùc haøm lôùp CWAVE cuõng nhö hoï MMIO bieåu dieãn thuoäc tính file *.wav.
Trong moâ hình thieát keá heä thoáng truyeàn thoaïi qua IP, phöông phaùp thöù hai ñöôïc löïa choïn vì phöông phaùp naøy khoâng ñoøi hoûi phaûi giao tieáp tröïc tieáp vôùi caùc phaàn cöùng beân döôùi, vieäc ñieàu khieån chip xöû lyù DSP coù theå thöïc hieän treân lôùp öùng duïng. Ñieàu naøy mang laïi hai öu ñieåm sau:
- Taùch bieät ñöôïc khoái xöû lyù phaàn cöùng vaø phaàn meàm öùng duïng.
- Laäp trình treân moâi tröôøng Windows cho pheùp xaây döïng caùc giao dieän chöông trình gaàn guõi vôùi ngöôøi söû duïng.
Ñeå thöïc hieän caùc quaù trình xöû lyù tín hieäu treân soundcard, chöông trình thieát laäp caùc ñònh daïng cho tín hieäu aâm thanh thu phaùt ñöôïc CODEC theo chuaån G.711 töùc maõ hoùa PCM, moãi maãu aâm thanh ñöôïc bieåu dieãn bôûi β=8 bit nhò phaân. Trong ñoù bit cao nhaát laø bit daáu, 7 bit coøn laïi bieåu dieãn 256 maãu toå hôïp töø -127 tôùi +127. Neáu tín hieäu aâm thanh laø im laëng, giaù trò cuûa maãu dao ñoäng töø -127 tôùi +125.
Vì baêng thoâng thoaïi laø 4khz, theo tieâu chuaån Nyquist, taàn soá laáy maãu fs=2*BW. Do ñoù aâm thoaïi ñöôïc laáy maãu ôû taàn soá 8khz vaø toác ñoä bit laø Br:
Br = fs*β = 8*8 = 64 Kbps
Buffer thu coù kích thöôùc ñöôïc choïn laø 400 byte. Vieäc löïa choïn kích thöôùc cuûa buffer phaûi ñaùp öùng hai yeâu caàu sau:
- Khoâng gaây ñoä treã quaù lôùn seõ laøm maát ñi tính thôøi gian thöïc cuûa dòch vuï thoaïi.
- Ñaûm baûo chaát löôïng cuûa caùc tín hieäu thoaïi, khoâng gaây hieän töôïng rung hay ngaét quaõng tieáng noùi.
Do ñoù kích thöôùc cuûa buffer khoâng ñöôïc choïn quaù lôùn seõ gaây treã vaø khoâng ñöôïc choïn quaù nhoû, moät maët seõ laøm hao phí baêng thoâng ñöôøng truyeàn maët khaùc laøm giaûm chaát löôïng aâm thoaïi thu ñöôïc. Treân thöïc teá giaù trò cuûa buffer ñöôïc löïa choïn thoâng qua quaù trình chaïy thöû chöông trình ñeå tìm giaù trò toái öu nhaát.
Choïn kích thöôùc boä ñeäm thu laø 400 byte ñoä treã do quaù trình thu tín hieäu thoaïi laø :
tthu = 400/8000 = 50 (ms)
Töông töï kích thöôùc buffer phaùt cuõng laø 400 byte, thôøi gian ñeå phaùt heát buffer cuõng laø:
tphaùt = tthu = 50 (ms)
II. TRUYEÀN THOAÏI GIÖÕA CAÙC PC TREÂN MAÏNG LAN :
Keát noái truyeàn thoaïi giöõa caùc ñaàu cuoái PC treân maïng LAN ñöôïc thöïc hieän thoâng qua lôùp TCP/IP, theo ñoù caùc goùi thoaïi ñöôïc chuyeån qua caùc soket treân ñaàu cuoái PC.
Ñeå ñôn giaûn cho quaù trình laäp trình heä thoáng maïng vaø khoâng phaûi quan taâm ñeán caùc lôùp giao thöùc maïng ôû beân döôùi, heä thoáng truyeàn thoaïi qua maïng LAN ñöôïc thieát keá söû duïng caùc haøm laäp trình trong öùng duïng laäp trình VB6.0 treân Windows API theo moâ hình client server.
Server
Client
Socket ()
Taïo socket
bind()
Ñònh teân cho socket
listen()
Kieåm tra keát noái töø client
Chôø yeâu caàu keát noái töø client
Accept()
Taïo moät socket môùi ñeå chaáp nhaän keát noái, trong khi keát noái ban ñaàu tieáp tuïc chôø keát noái môùi
Send()/Receive()
Thu phaùt döõ lieäu
Closesocket()
Ñoùng socket
Closesocket()
Ñoùng socket
Send()/Receive()
Thu phaùt döõ lieäu
Socket ()
Taïo socket
Connect()
Keát noái ñeán server
Qui trình thieát laäp keát noái vaø truyeàn nhaän döõ lieäu treân socket
Theo moâ hình ñöôïc moâ taû treân, khi thöïc thi chöông trình, caùc ñaàu cuoái seõ môû socket ñeå chôø keát noái ñeán. Khi coù yeâu caàu thieát laäp keát noái, tín hieäu chuoâng ñöôïc thu treân caùc file *.wave seõ ñöôïc phaùt ra loa ñeå thoâng bao cho thueâ bao coù cuoäc goïi ñeán.
Neáu phía bò goïi ñoàng yù chaáp nhaän cuoäc goïi ñeán, soundcard baét ñaàu thöïc thi caùc quaù trình thu tín hieäu thoaïi ñeå chuyeån ra boä ñeäm phaùt. Quaù trình thu thoaïi treân soundcard seõ ñöôïc ngöøng laïi khi phaùt hieän coù söï xuaát hieän cuûa caùc goùi chöùa khoaûng laëng, luùc naøy soundcard seõ chôø nhaän caùc goùi thoaïi ôû ñaàu cuoái xa ñeå phaùt ra loa.
Quaù trình thu phaùt giöõa caùc ñaàu cuoái PC seõ ñöôïc thöïc hieän lieân tuïc baèng vieäc söû duïng caùc message thoâng baùo söï kieän cuûa Window döïa treân traïng thaùi cuûa socket. Khi soundcard thu ñaày boä ñeäm, chöông trình seõ nhaän ñöôïc message yeâu caàu phaùt goùi thoaïi ñi, töông töï nhö vaäy khi caùc goùi thoaïi ñeán ñaàu cuoái PC, Window cuøng seõ phaùt message ñeå chöông trình tieáp nhaän caùc goùi thoaïi vaø phaùt ra loa.
Ñeå taïo ñöôïc caùc aâm hieäu baùo hieäu lieân tuïc, chöông trình phaûi thieát laäp boä ñònh thôøi. Sau moãi khoaûng thôøi gian ñònh thôøi, tín hieäu baùo hieäu seõ ñöôïc phaùt ra loa.
Ñeå chuyeån ñoåi giöõa quaù trình thu vaø phaùt thoaïi chöông trình xaây döïng thuaät toaùn taùch doø khoaûng laëng. Tieán trình phaùt caùc goùi thoaïi seõ ñöôïc döøng laïi ñeå chôø nhaän caùc goùi ñöôïc gôûi ñeán khi phaùt hieän coù baát kì goùi naøo chöùa khoaûng laëng. Treân thöïc teá vôùi thuaät toaùn naøy neáu caùc goùi thoaïi quaù lôùn seõ maát ñi tính song coâng cuûa quaù trình ñaøm thoaïi nhöng neáu choïn kích thöôùc goùi nhoû hôn 50ms thì ngöôøi söû duïng vaãn coù theå caûm nhaän quaù trình thu phaùt ñöôïc thöïc hieän ñoàng thôøi. Ñieàu naøy ñaõ ñöôïc kieåm nghieäm khi chaïy thöû chöông trình.
Nhö ñaõ ñeà caäp ôû treân ñeå chöông trình coù theå thöïc thi theo ñuùng tieán trình cuoäc goïi, töông öùng vôùi vieäc phaùt caùc thoâng tin baùo hieäu cuõng nhö tieán haønh caùc quaù trình thu phaùt thoaïi caàn phaûi söû duïng caùc baûn tin thoâng baùo traïng thaùi socket cuûa Windows. Caùc baûn tin thoâng baùo traïng thaùi cuûa socket bao goàm :
FD-ACCEPT : söï kieän naøy xuaát hieän khi maùy PC ñöôïc goïi tôùi chaáp nhaän socket keát noái coù theå xem töông töï nhö keát noái töø toång ñaøi tôùi thueâ bao thaønh coâng, beân maùy ñöôïc goïi seõ coù tín hieäu baùo chuoâng nhö ñieän thoaïi thoâng thöôøng vaø tín hieäu chuoâng seõ bò ngaét khi ngöôøi ñöôïc goïi chaáp nhaän hoäi thoaïi. Traïng thaùi naøy töông töï nhö traïng thaùi “off hook” khi coù ngöôøi nhaác maùy ñieän thoaïi töø ñaàu ñöôïc goïi.
FD-CONNECT : söï kieän naøy xuaát hieän ngay khi maùy PC goïi keát noái thaønh coâng vôùi maùy bò goïi. Ngöôøi goïi cuõng ñöôïc nghe chuoâng nhö ngöôøi nhaän cuoäc goïi xem nhö ñang nghe chuoâng reo ôû ñaàu kia.
FD-WRITE : söï kieän xuaát hieän khi Windows phaùt hieän coù döõ lieäu caàn gôûi treân moät port baát kì ñang troáng. Döõ lieäu ñöôïc gôûi ñi chính laø buffer aâm thanh vöøa môùi thu ñöôïc daønh cho soundcard ban ñaàu. Kích thöôùc buffer gôûi ñi laø 400 byte. Khi truyeàn trong maïng LAN vôùi toác ñoä töø 10Mbit/s tôùi 100Mbit/s, thôøi gian caàn thieát ñeå gôûi moät buffer ñi laø khoâng ñaùng keå. Buffer thu ñöôïc neáu laø im laëng, döõ lieäu im laëng vaãn gôûi ñi nhöng chöông trình seõ taïm ngöng thu maø saün saøng nhaän buffer tôùi ñeå phaùt thanh. Coù nghóa laø phía noùi taïm ngöng thu ñeå nghe beân kia traû lôøi. Hai quaù trình thu phaùt luaân phieân lieân tuïc nhau moät khi coù phaùt hieän im laëng. Tuy nhieân cuoäc noùi chuyeän vaãn ñöôïc thöïc hieän song coâng vì kích thöôùc buffer nhoû, im laêng coù theå phaùt hieän ngay laäp töùc vaø ngöôøi nghe coù theå cheøn vaøo ngay khi ngöôøi goïi ñang noùi chuyeän.
FD-READ : Söï kieän xuaát hieän khi Windows phaùt hieän coù döõ lieäu caàn nhaän treân moät port ñang troáng. Döõ lieäu ñöôïc nhaän vaøo buffer nhaän vôùi thôøi gian khoâng ñaùng keå. Buffer nhaän ñöôïc seõ chuyeån vaøo buffer DSP treân soundcard ñeå phaùt ra ngay laäp töùc. Quaù trình cuyeån ñoåi qua laïi giöõa thu phaùt dieãn ra töông töï nhö vôùi FD-WRITE ñeå hình thaønh cuoäc noùi chuyeän song coâng.
FD-CLOSE : Söï kieän xuaát hieän ngay khi Windows phaùt hieän coù socket bò ñoùng do leänh closesocket() ñeán töø moät trong hai phía keát noái. Khi nhaän ñöôïc tín hieäu naøy xem nhö moät beân gaùc maùy xuoáng tröôùc, tín hieäu chuoâng baùo nhaän seõ ñöôïc phaùt ra ôû ñaàu coøn laïi ñeå thoâng baùo keát noái ñaõ ñöôïc giaûi toûa.
CHÖÔNG 10
VOICE CONVERSATION
------------eYf------------
Caùch thieát laäp keát noái:
Person A chaïy chöông trình öùng duïng baèng caùch kích baét ñaàu
Person B ñoàng thôøi cuõng chaïy chöông trình öùng duïng cuøng luùc vôùi Person A.
Person A nhaäp ñòa chæ IP cuûa Person B vaø kích keát noái.
Person B khi ñoù nhaän ñöôïc thoâng baùo vaø kích OK ñeå chaáp nhaän keát noái.
Keát noái thaønh coâng, khi ñoù caû Person A vaø Person B coù theà ñaøm thoaïi vôùi nhau vaø cuõng coù theå chat vôùi nhau.
Keát noái chæ huûy boû khi moät trong hai boû keát noái.
II. Baåy loãi trong laäp trình:
Error = 10 : khoâng kích baét ñaàu, phaûi kích baét ñaàu tröôùc.
Error = 11 : ñang keát noái, phaûi boû keát noái tröôùc.
Error = 12 : chuaån bò keát noái, phaûi boû keát noái tröôùc.
Error = 13 : khoâng theå truy nhaäp ngoõ vaøo / thieát bò Mic hoaëc thieát bò ñang söû duïng.
Error = 14 : khoâng theå truy nhaäp ngoõ ra / thieát bò Mic hoaëc thieát bò ñang söû duïng.
Error = 15 : sai ñòa chæ IP.
Error = 19 : aâm luôïng Mic khoâng ñöôïc cung caáp bôûi thieát bò aâm thanh.
Error = 20 : aâm luôïng Speaker khoâng ñöôïc cung caáp bôûi thieát bò aâm thanh.
III. Caùc haøm ñöôïc söû duïng trong thö vieän .OCX :
Connect() :
Keát noái ñeán Person B.
Giaù trò traû veà: khaùc 0 vaø loãi code coù theå laáy töø haøm GetVaxObjectError().
Disconnect() :
Boû keát noái
Giaù trò traû veà: khaùc 0 vaø loãi code coù theå laáy töø haøm GetVaxObjectError().
EnableBusyState() :
Kích hoaït traïng thaùi baän. Tröôøng hôïp naøy xaûy ra khi Person A vaø Person B ñang noùi chuyeän vôùi nhau maø Person A kíck hoaït chöùc naêng naøy thì Person C goïi ñeán Person A seõ bò thoâng baùo baän.
DisableBusyState() :
Huûy boû traïng thaùi baän.
5. EnableNotAvailableState() :
Kích hoaït traïng thaùi khoâng goïi ñöôïc. Ví duï nhö Person A ñang trong traïng thaùi ñang goïi maø Person A kích hoaït haøm naøy thì Person B khoâng theå thieát laäp cuoäc goïi vôùi Person A.
6. DisableNotAvailableState() :
Huûy kích hoaït traïng thaùi khoâng goïi ñöôïc.
7. MuteSpk() :
Taét Speaker.
8. MuteMic() :
Taét Mic.
GetSpkVolume() :
Laáy giaù trò Speaker volume.
Minumum Volume = 1.
Maximum Volume = 255.
10. SetSpkVolume() :
Thieát laäp aâm löôïng ngoõ ra cuûa Speaker.
11. GetMicVolume() :
Laáy giaù trò Mic volume.
Minumum Volume = 1.
Maximum Volume = 255.
12. SetMicVolume() :
Thieát laäp aâm löôïng ngoõ ra cuûa Mic.
13. AcceptIncomingCall() :
Chaáp nhaän cuoäc goïi ñeán. Giaù trò traû veà: khaùc 0 vaø loãi code coù theå laáy töø haøm GetVaxObjectError().
14. CancelIncomingCall() :
Huûy cuoäc goïi ñeán. Giaù trò traû veà: khaùc 0 vaø loãi code coù theå laáy töø haøm GetVaxObjectError().
15. SendTextMsg() :
Göûi ñoaïn Text Messages. Giaù trò traû veà: khaùc 0 vaø loãi code coù theå laáy töø haøm GetVaxObjectError().
16. GetVaxObjectError() :
Baãy loãi. Haøm naøy ñöôïc goïi khi ta laøm khoâng ñuùng quy trình.
CHÖÔNG 11
GIÔÙI THIEÄU CHÖÔNG TRÌNH THÖÏC HIEÄN CUOÄC GOÏI
PC TO PC