Công nghệ VoIP và Asterisk
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH VẼ 8
LỜI MỞ ĐẦU 10
LỜI CẢM ƠN 11
CHƯƠNG 1 .12
TỔNG QUAN VỀ VOIP .12
1.1 Giới thiệu 12
1.2 Cấu trúc mạng VoIP 12
1.3 Đặc điểm dịch vụ VoIP 14
1.4 Chất lượng dịch vụ trong mạng VoIP 15
1.5 Các giao thức truyền thông thời gian thực 18
1.5.1 Giao thức RTP 18
1.5.2 Giao thức RTCP 19
CHƯƠNG 2 .21
CÁC GIAO THỨC BÁO HIỆU 21
2.1 Giao thức H323 21
2.1.1 Giới thiệu 21
2.1.2 Các thành phần cơ bản của hệ thống H323 21
Terminal 22
Gateway 23
Gatekeeper 23
MCU 24
2.1.3 Tập giao thức H323 24
Trang 22.1.1 Quá trình thiết lập cuộc gọi H323 26
2.2 Giao thức khởi tạo phiên SIP 27
2.2.1 Giới thiệu 27
2.2.2 Tính năng của SIP 28
2.2.3 Các thành phần trong hệ thống SIP 28
2.2.4 Các bản tin của SIP 30
2.2.5 Quá trình thiết lập cuộc gọi 32
32
33
2.3 So sánh với H.323 35
CHƯƠNG 3 .37
MẠNG THẾ HỆ MỚI NGN 37
3.1 Sự hình thành mạng NGN 37
3.2 Các đặc điểm của NGN 38
3.3 Những vấn đề mà mạng thế hệ mới cần giải quyết 38
3.4 Công nghệ chuyển mạch mềm – Softswitch 39
3.4.1 Những hạn chế của tổng đài chuyển mạch kênh 39
3.4.2 Định nghĩa chuyển mạch mềm (Softswitch) 40
3.4.3 Những lợi ích của Softswitch 41
3.5 Kiến trúc của mạng NGN 43
3.5.1 Lớp truyền tải 44
3.5.2 Lớp điều khiển và báo hiệu cuộc gọi 45
3.5.3 Lớp ứng dụng và dịch vụ 45
3.5.4 Lớp quản lý 45
Trang 3CHƯƠNG 4 .47
TÌM HIỂU ASTERISK 47
4.1 Giới thiệu 47
4.2 Kiến trúc Asterisk 49
4.3 Một số tính năng cơ bản 51
4.4 Các ngữ cảnh ứng dụng 53
4.5 Tổ chức thư mục của Asterisk 57
/etc/asterisk/ 57
/usr/lib/asterisk/modules/ 57
/var/lib/asterisk 57
Các thư mục con của thư mục /var/lib/asterisk/ bao gồm: 57
/var/spool/asterisk/ 58
/var/run/ 59
/var/log/asterisk/ 59
/var/log/asterisk/cdr-csv 59
4.6 Một số lệnh thao tác trên hệ thống asterisk 60
#/etc/init.d/asterisk (start|stop) 60
#CLI>reload 60
#CLI> sip show users 60
4.7 Cách thức cấu hình trên các tập tin cơ bản 61
Tất cả các file cấu hình cho hệ thống Asterisk đều nằm tại thư mục etc/asterisk ngoại trừ file zaptel.conf cấu hình cho phần cứng TDM nằm tại thư mục /etc Cách thức cấu hình giống như tập tin ini của Window Các nội dung sau dấu chấm phảy “;”là nội dung chú thích trong file cấu hình Tất cả các khoảng trắng trong file cấu hình đều được bỏ qua và không có ý nghĩa.Cú pháp thực hiện giống nhau 61
4.8 Cách thức hoạt động của tập tin cấu hình 61
4.9 Giới thiệu dialplan 63
Trang 4Một ví dụ cụ thể như sau: 64
exten => 7325010,2,Voicemail(u7325010) 64
exten => Tương ứng với mỗi ứng dụng thực hiện 64
7325010 là con số nhận được khi thuê bao chủ gọi quay số 64
1, 2 là các “priority” thứ tự được thực hiện 1 rồi tới 2… 64
XÂY DỰNG HỆ THỐNG CALLCENTER TRÊN NỀN ASTERISK 67
5.1 Giới thiệu 67
Sự bùng nổ của Internet, việc ứng dụng ngày càng rộng rãi của thương mại điện tử và các ứng dụng đa phương tiện (multimedia) đã làm cho nhu cầu về trao đổi thông tin một cách trong suốt (transparent) giữa khách hàng với các cơ sở dữ liệu (Database) ngày càng tăng 67
Call center là khái niệm chỉ dịch vụ/trung tâm chăm sóc khách hàng (CSKH) qua điện thoại, websites đang hứa hẹn trở thành một lĩnh vực hoạt động kinh doanh đầy tiềm năng tại Việt Nam, trong bối cảnh hội nhập với thế giới 67
Hệ thống Call Center là điểm tiếp nhận mọi thông tin, yêu cầu từ phía khách hàng dưới mọi hình thức: thoại, e-mail, SMS, web, fax và không phụ thuộc vào vị trí xuất phát của nguồn thông tin để phục vụ công tác CSKH, tiếp nhận yêu cầu, giải quyết khiếu nại Ví dụ như một khách hàng muốn truy cập vào tài khoản ngân hàng của mình họ sẽ được hệ thống Call Center kết nối trực tiếp tới cơ sở dữ liệu (CSDL) của ngân hàng đó Sau đó khách hàng sẽ tương tác trực tiếp với CSDL để thực hiện các yêu cầu của mình 67
5.2 Mục đích Yêu cầu 67
Trong đồ án này sẽ tập trung xây dựng một hệ thống Callcenter với 3 chức năng chính Khi khách hàng gọi tới tổng đài 1900 sẽ được nghe lời chào và hướng dẫn bấm phím .67
Bấm phím 1 67 Cho phép khách hàng tra cứu thông tin kết quả xổ số một ngày bất kỳ, ngày tháng
năm được nhập từ bàn phím có dạng xxyyzzz Trong đó xx là ngày, yy là tháng và zzzz là năm Nếu khách hàng nhập sai ngày tháng năm sẽ được thông báo và yêu cầu nhập lại.Ngày tháng năm được coi là sai khi khách
Trang 5Bấm phím 2 67
Sử dụng dịch vụ quà tặng âm nhạc, cho phép khách hàng có thể gửi tặng một bản
nhạc tới những người thân của mình cùng với lời nhắn của chính người gửi, thời điểm gửi sẽ do người gửi quyết định.khách hàng sẽ được hướng dẫn để nhập mã quà tặng,số điện thoại người nhận và thời gian gửi quà tặng, nếu khách hàng nhập sai sẽ được thông báo và yêu cầu nhập lại.Mã quà tặng sẽ là một chuỗi số có 4 chữ số, bị coi là không đúng khi chuỗi số chưa ký tự *,# hoặc là không tồn tại quà tặng này.Số điện thoại sẽ là một chuỗi số khách hàng nhập tùy ý cho tới khi nhấn phím # Khách hàng sẽ được nghe lại số điện thoại vừa nhập và lời hướng dẫn nhấn phím # để đi đến bước tiếp theo, nhấn phím bất kỳ để nhập lại số điện thoại.Thời gian gửi quà tặng sẽ là một chuỗi số có dạng xxyyzztt, trong đó xx là phút, yy là giờ, zz là ngày và tt là tháng gửi quà tặng Thời gian được coi là không đúng khi chuỗi số khách hàng nhập vào chứa ký tự *, # hoặc là một thời điểm trong quá khứ so với thời gian hiện tại của hệ thống Cuối cùng khách hàng sẽ ghi âm lại lời nhắn của chính mình để gửi tới người nhận Sau đó là lời cảm ơn và kết thúc quá trình gửi quà tặng 68 Bấm phím 0 68 Cho phép kết nối trực tiếp khách hàng với nhân viên tư vấn chăm sóc khách hàng
68
Hệ thống xây dựng đáp ứng được các chức năng đã đề ra, giải quyết tối đa các yêu
cầu gọi đến và đảm bảo chất lượng âm thanh thoại 685.3 Phân tích thiết kế 685.3.1 Kịch bản cho hệ thống 68
Trang 65.3.1 Biểu đồ luồng dữ liệu mức đỉnh 77
78 5.3.1 Cơ sở dữ liệu 79
Cớ sở dữ liệu phục vụ cho hệ thống cũng khá đơn giản 79
79 79 Trong đó bảng KQXS dùng để lưu kết quả xổ số, trường date dùng dể lưu ngày tháng năm, trường ketqua dùng để lưu kết quả của ngày tháng năm đó Trường ketqua sẽ có dạng: 79
5.4 Triển khai hệ thống 80
5.4.1 Mô hình hệ thống 80
80 Trong hệ thống thực tế triển khai trong đồ án gồm có: 81
1 Server Linux (CentOS 5) trên đó cài đặt phần mềm Asterisk version 1.6.0 81
1 Server cài Microsoft SQL Server 2005 81
2 Softphone (X-lite) 81
Cấu hình đề nghị đối với PC cài đặt server Asterisk: 81
CPU P4 2.4 Ghz 81
RAM 512 81
HDD 40G 81
5.4.1 Cài đặt các gói phần mềm 81
Hệ Điều Hành CENTOS 5.2 81
Sử dụng đĩa cài đặt CentOS version 5.2 và cài đặt mặc định các gói của hệ thống Sau khi cài xong thì cần cài thêm các gói nhỏ sau để có thể cài và chạy được phần mềm Asterisk: 81
Cài đặt phần mềm Asterisk 82
Trang 7Phần mềm hỗ trợ lập trình giao tiếp với Asterisk 82
5.4.2 Cấu hình hệ thống Asterisk 82
Cấu hình các file conf như sau: 82
Musiconhold.conf 85
random=yes 85
Agent.conf 85
agent=>2222,2222,hungbd 85
Queue.conf 85
86 5.4.1 Lập trình cho hệ thống 87
Giới thiệu AGI 87
Asterisk Gateway Interface ( AGI ) là một chuẩn giao tiếp với Asterisk AGI cho phép Astersik gọi thực thi một chương trình ngoài để mở rộng nhiều chức năng của Astersik như điều khiến các kệnh thoại , phát âm thanh , đọc số DTMF , liên kết với cơ sở dữ liệu … Các chương trình ngoài được gọi là AGI Script , ta có thể lập trình ra các AGI Script bằng nhiều ngôn ngữ lập trình khác nhau như Perl, PHP, C, C#, Java 87
Các file code 88
Các Script được viết bằng ngôn ngữ PHP, sử dụng thư viện PHPAGI để giao tiếp với Asterisk 88
Khi gọi đến số 1900, hệ thống sẽ đưa người gọi đến mainmenu, là ngữ cảnh chính, ở đây người gọi sẽ được nghe một lời chào mừng cùng lời hướng dẫn bấm phím Hệ thống sẽ chờ người dùng bấm phím trong vòng 30 giây, nếu người dùng không bấm phím trong khoảng thời gian đó thì hệ thống sẽ phát ra lời cảm ơn và kết thúc cuộc gọi, còn ngược lại nếu người dùng bấm phím 1 sẽ được đưa đến ngữ cảnh [kqxs] để tra cứu thông tin về kết quả xổ số, phím 2 sẽ được đưa đến ngữ cảnh [qtan ] để gửi quà tặng âm nhạc, phím 0 sẽ được đưa đến ngữ cảnh [nvtv] để gặp nhân viên tư vấn Còn phím bất kỳ không phải 3 phím trên sẽ được đưa đến ngữ cảnh [saimenu], ở đây người gọi sẽ được nghe thông báo không tồn tại menu vừa nhập, sau đó được đưa trở lại menu [mainmenu] với priority là 2 để tiếp tục nhập phím khác 88
File ketquaxoso.php 88
Trang 85.5 Kết quả thực nghiệm 94
Vào chế độ dòng lệnh của Asterisk từ terminal của Linux 94
94 94 95 95 96 5.6 Đánh giá hệ thống 96
5.7 Hướng phát triển 97
Hoạt động với mạng PSTN 97
Xây dựng thêm các dịch vụ mới như tra cứu thông tin chứng khoán,Tỷ giá đô la, dự báo thời tiết… 97
DANH MỤC HÌNH VẼ Hình 1 : Cấu trúc mạng VoIP 13
Hình 2 Một số chuẩn mã hóa tín hiệu 16
Hình 3 Gói RTP 17
Hình 4 Cấu trúc gói tin RTP 18
Hình 5 Cấu trúc gói tin RTCP 20
Hình 6: Các thành phần mạng H323 22
Hình 7: Tập giao thức H323 24
Hình 8 Quá trình thiết lập cuộc gọi trong H323 27
Hình 9 :Các thành phần hệ thống SIP 29
Hình 10 Một số trường header đơn giản 31
Hình 11 : Hoạt động của Proxy server 32
Trang 9Hình 14 : Topo mạng NGN .39
Hình 15 : Cấu trúc mạng và báo hiệu PSTN 40
Hình 16 So sánh chuyển mạch kênh và chuyển mạch mềm 43
Hình 17 : Kiến trúc NGN .44
Hình 18 : Mô hình mạng NGN .47
Hình 19 : Sơ đồ tổng quan Asterisk .49
Hình 20 : Kiến trúc Asterisk 50
Hình 21 : IP PBX .54
Hình 22 : Kết nối IP PBX với PBX 55
Hình 23 : Kết nối giữa các Server Asterisk .55
Hình 24 : Triển khai server IVR, VoiceMail, Hội Thoại .56
Hình 25 : Phân phối cuộc gọi hàng đợi 57
Hình 26 Cấu trúc cây thư mục 59
Hình 27 Kịch bản Menu chính của hệ thống 69
Hình 28 Quy trình tra cứu kết quả xổ số 71
Hình 29 Quy trình gửi quà tặng âm nhạc 74
Hình 30 Gặp nhân viên tư vấn 75
Hình 31 Biểu đồ phân cấp chức năng 75
Hình 32 Biểu đồ ngữ ảnh 76
Hình 33 Biểu đồ luồng dữ liệu mức đỉnh 78
Hình 34 Cơ sở dữ liệu 79
Hình 35 Mô hình logic hệ thống 80
Hình 36 Cấu hình Softphone 86
Hình 37 Màn hình Asterisk CLI 94
Hình 38 Softphone đăng ký vào hệ thống 94
Hình 39 Gọi tới 1900 95
Trang 10Hình 40 Người gọi chọn tra cứu kết quả xổ số 95 Hình 41 Người gọi chọn Gửi quà tặng âm nhạc 96
LỜI MỞ ĐẦU
Sự phát triển của mạng Internet là một bước ngoặt lớn mang đậm tính lịch sử trong lĩnh vực công nghệ thông tin Nó có những tác động to lớn và tích cực không chỉ riêng trongl lĩnh vực công nghệ thông tin mà còn cả trong mọi lĩnh vực của đời sống xã hội Nó làm thay đổi tư duy, khả năng nhận thức, tăng cường mở rộng khả năng hiểu biết về thế giới quan, thúc đẩy xã hội phát triển một cách nhanh chóng
Sự bùng nổ của Internet không chỉ là sự gia tăng số lượng các nhà khai thác dịch
vụ, số người tham gia mà còn gia tăng về số lượng dịch vụ và chất lượng dịch vụ Nếu trước đây chúng ta biết đến Internet như là một nguồn để tìm kiếm thông tin, giải trí thì ngày nay, Internet còn đưa thêm rất nhiều dịch vụ mới và đa phần những dịch vụ này rất gần gũi thân thiết với con người như dịch vụ thư điện tử, dịch vụ đa phương tiện, dịch vụ thương mại điện tử…Và gần đây nhất là dịch vụ điện thoại Internet (VoIP)
Bắt đầu từ năm 1994, truyền thông Internet đã bắt đầu được thử nghiệm và phát triển mạnh mẽ từ năm 1995 Hiện nay truyền thông qua mạng Internet đã phát triển rất mạng và với rất nhiều ứng dụng như điện thoại, thư thoại, fax, hội nghị video, chia sẻ tài liệu…
Trang 11Điện thoại IP sẽ là một xu thế không thể tránh khỏi, sẽ dần dần thay thế điện thoại truyền thống Việc tìm hiểu và xây dựng các ứng dụng dựa trên công nghệ VoIP là điều cần thiết và sẽ mang lại những lợi ích to lớn
Vì những lý do trên mà em đã đi đến thực hiện đồ án tốt nghiệp của mình với
đề tài : “Tìm hiểu công nghệ VoIP và xây dựng hệ thống Callcenter trên nền Asterisk”
LỜI CẢM ƠN
Để có thể hoàn thành đồ án tốt nghiệp của mình, Em xin gửi lời cảm ơn chân thành nhất tới tập thể các thầy giáo, cô giáo trường Đại học Bách Khoa Hà Nội nói chung, khoa Công nghệ thông tin, bộ môn truyền thông và mạng nói riêng,
đã đào tạo cho em những kiến thức, những kinh nghiệm qúy báu trong suốt thời gian học tập và rèn luyện.
Em xin gửi lời cảm ơn tới Thầy Giáo Hồ Sĩ Bàng- Giảng viên bộ môn Truyền thông và Mạng, khoa Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội đã tận tình hướng dẫn, cho em những nhận xét góp ý quý báu trong quá trình làm đồ
án tốt nghiệp
Tuy nhiên, do thời gian và trình độ có hạn nên đồ án này chắc chắn không tránh khỏi những thiếu sót, em rất mong được sự đóng góp ý kiến của các thầy, các
cô và toàn thể các bạn em xin chân thành cảm ơn.
Hà Nội ngày 25 tháng 05 năm 2009
Sinh viên: Lê Hồng Trường
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ VOIP
1.1 Giới thiệu
VoIP ( Voice Over IP ) là công nghệ cho phép truyền thông tin thoại từ nơi này sang nơi khác thông qua các mạng sử dụng giao thức IP ( Internet Protocol ) để truyền tải thông tin VoIP cũng thường được biết đến dưới một số tên khác như : điện thoại Internet, điện thoại IP, điện thoại dải rộng ( Broadband Telephony ) vv…
Ở điện thoại thông thường, tín hiệu thoại được lấy mẫu với tần số 8 KHz sau
đó lượng tử hóa 8 bit/mẫu và được truyền với tốc độ 64 KHz đến mạng chuyển mạch rồi truyền tới đích Ở phía thu, tín hiệu này sẽ được giải mã thành tín hiệu ban đầu
Công nghệ VoIP cũng không hoàn toàn khác với điện thoại thông thường Đầu tiên , tín hiệu thoại cũng được số hóa , nhưng sau đó thay vì truyền trên mạng PSTN qua các trường chuyển mạch , tín hiệu thoại được nén xuống tốc độ thấp rồi đóng gói , truyền qua mạng IP Tại bên thu, các luồng thoại sẽ được giải nén thành các luồng PCM 64 rồi truyền tới thuê bao bị gọi
1.2 Cấu trúc mạng VoIP
Trang 13chuyển mạch kênh chính là mạng điện thoại thông thường mà ta vẫn sử dụng Còn mạng chuyển mạch gói là một mạng IP, trong đó Internet là mạng IP mà ta vẫn quen thuộc.
Mạng VoIP phải có khả năng thực hiện các chức năng mà mạng điện thoại công cộng thực hiện, ngoài ra phải thực hiện chức năng của một gateway giữa mạng
IP và mạng điện thoại công cộng Thành phần của mạng điện thoại IP có thể gồm các phần tử sau đây:
Trang 14• Gatekeeper: Có thể xem gatekeeper như là bộ não của hệ thống mạng điện thoại IP Nó cung cấp chức năng quản lý cuộc gọi một cách tập trung và một
số các dịch vụ quan trọng khác như là: nhận dạng các đầu cuối và gateway, quản lý băng thông, chuyển đổi địa chỉ (từ địa chỉ IP sang địa chỉ E.164 và ngược lại), đăng ký hay tính cước Mỗi gatekeeper sẽ quản lý một vùng bao gồm các đầu cuối đã đăng ký, nhưng cũng có thể nhiều gatekeeper cùng quản
lý một vùng trong trường hợp một vùng có nhiều gatekeeper
Ta cũng thấy rằng có thể có 3 ngữ cảnh cuộc gọi:
• Phone to Phone: gọi giữa 2 máy điện thoại Nếu 2 máy cùng thuộc một tổng đài thì không cần thông qua mạng IP Nếu 2 máy nằm ở các mạng các nhau thì phải sử dụng các gateway chuyển tiếp vào mạng IP
• PC to Phone: gọi giữa PC và Phone Cần có ít nhất một gateway chuyển tiếp
• PC to PC: gọi giữa PC và PC Trong ngữ cảnh này thì cuộc gọi hoàn toàn nằm trong mạng IP, không cần sử dụng gateway
1.3 Đặc điểm dịch vụ VoIP
Sự phát triển của dịch vụ VoIP đã đem lại rất nhiều lợi ích Dưới đây là một
số ưu điểm của nó:
• Dịch vụ gọi điện đường dài giá rẻ với chi phí chấp nhận được, chỉ tương đương với chi phí truy nhập Internet
• Các kĩ thuật nén đã giảm tốc độ bit từ 64kps (kênh thoại thường) xuống dưới 8kps (theo tiêu chuẩn nén thoại G.729A của ITU-T) Nhờ vậy, khả năng sử dụng kênh sẽ cao hơn Các bộ vi xử lý của máy tình có tốc độ xử lý nhanh Điều này làm độ trễ của cuộc gọi giảm xuống, chất lượng cuộc gọi tăng lên
• Tích hợp mạng thoại, mạng số liệu và mạng báo hiệu Với mạng điện thoại thông thường thì kênh báo hiệu là hoàn toàn tách biệt với kênh thoại Với mạng VoIP thì chỉ có một kênh duy nhất, nhờ vậy có thể tiết kiệm được cơ
sở hạ tầng
• Dễ dàng mở rộng hệ thống
• Mạng VoIP không cần thông tin điều khiển để thiết lập kênh truyền vật lý : việc điều khiển cuộc gọi trong mạng IP chỉ cần tập trung vào chức năng cuộc gọi mà không phải tập trung vào chức năng thiết lập kênh
Trang 15• Khả năng Multimedia : trong một cuộc gọi, người dùng có thể vừa nói chuyện vừa sử dụng các dịch vụ khác như truyền file, chia sẻ dữ liệu, hay xem hình ảnh của người nói chuyện.
Nhưng mạng VoIP cũng có những nhược điểm sau đây :
• Kĩ thuật phức tạp : truyền tín hiệu theo thời gian thực trên mạng IP là rất khó thực hiện do mất gói trong mạng là khó tránh và độ trễ Chất lượng dịch vụ chưa cao
• Vấn đề bảo mật : mạng Internet có tính toàn cầu và hỗn hợp nên việc bảo vệ các thông tin liên qua như số liên lạc truy nhập sử dụng dịch vụ là rất quan trọng
1.4 Chất lượng dịch vụ trong mạng VoIP
Mạng truyền tín hiệu thoại có đòi hỏi khắt khe về chất lượng dịch vụ để đảm bảo cuộc gọi có chất lượng chất nhận được Dưới đây là các đặc điểm về chất lượng dịch vụ (QoS) của mạng VoIP:
• Delay/ Latency : độ trễ Đây là khoảng thời gian tính từ lúc tiếng nói được phát ra đến khi người nhận nghe thấy Hội thoại đòi hỏi tính chất thời gian thực nên cần thiết phải giảm độ trễ xuống thấp nhất Có thể phân loại trể thành các loại sau:
• Propagation delay : trễ truyền do tốc độ truyền âm trong cáp Loại trễ này hầu như không tránh khỏi
• Handling delay/processing delay : trể xử lý, do các thiết bị xử lý gói tin Trễ này có thể giảm bằng việc sử dụng các thiết bị phần cứng tốt cũng như thuật toán xử lý tối ưu
• Serialization delay : trễ tuần tự hóa khi dữ liệu được đưa ra thiết bị vật lý Loại trễ này có ảnh hướng ít, chiếm vai trò nhỏ hoặc hầu như không đáng kể
• Queuing delay : trễ hàng đợi xảy ra khi nhiều gói tin đến cùng lúc tại một nút mạng Trễ này do cấu hình mạng không đáp ứng đủ nhu cầu phục vụ nhiều người dùng hoặc cài đặt không tốt dẫn tới việc xử lý gói tin tại nút mạng không tốt
• Jitter : là hiện tượng các gói tin không đến nơi trong những khoảng thời gian đều nhau Hiện tượng này làm cho cuộc hội thoại bị giật Đây là một đặc điểm của mạng IP khi mà các gói tin có thể đi theo các đường khác nhau đến
Trang 16đích Để loại bỏ hiện tượng này cần phải có các thuật toán đồng bộ gói tin nơi phát và nơi thu.
• Mã hóa đường truyền Pulse Code Modulation (PCM): thuật toán mã hóa đường truyền của mạng VoIP cũng tương tự như mạng chuyển mạch kênh PCM là thuật toán có tần số lấy mẫu là 8Khz (125ms/mẫu) Ngoài ra nó có thể sử dụng ADPCM : adaptive differential PCM(chuẩn G.726 ITU-T), với 4 bit mẫu, tốc độ 32kps Các thuật toán này khác nhau ở tần số lấy mẫu và số bit mẫu, do đó chất lượng cuộc gọi cũng khác nhau
• Các chuẩn mã hóa tín hiệu được sử dụng trong VoIP có rất nhiều, trong đó
có thể kể tới G.711, G.726, G.728, G.729, G.232.1 Bảng dưới đây thể hiện chất lượng cảm nhận (MOS) đối với mỗi loại thuật toán mã hóa tín hiệu
Hình 2 Một số chuẩn mã hóa tín hiệu
• Echo : tiếng vọng Đây là hiện tượng âm thanh phát qua bị quay trở lại đúng nơi phát làm cho người nói luôn nghe lại được tiếng do mình phát ra Lý do
là các gói tin đi qua các mạng có cấu hình khác nhau và không đến được đích, quay lại điểm phát Để xóa tiếng vọng thì thiết bị mà người nói dùng (có thể là router) sẽ lưu giữ ảnh ngược của đoạn hội thoại trong một khoảng thời gian nào đó (inverse speech) “Bộ loại bỏ tiếng vọng” (echo canceller) này sẽ lắng nghe âm thanh đáp lại và loại bỏ thành phần vọng bằng không
• Mất gói tin là hiện tượng dễ xảy ra trong mạng VoIP Packet loss Chuẩn G729 đề xuất một kĩ thuật để giảm sự ảnh hưởng tới chất lượng cuộc gọi là concealment strategy: khi một gói tin bị mất trên đường truyền thì gói tin cuối cùng nhận được sẽ được phát lại bù vào chỗ trống Vì khoảng thời gian giữa các packet chỉ là khoảng 20ms nên người nghe sẽ không có cảm nhận rõ ràng Nếu nhiều packet mất thì việc này chỉ thực hiện1 lần và đợi packet
Trang 17• Khả năng kiểm soát hoạt động hội thoại Trong hội thoại thì thông thường, một người nói một người nghe thì lãng phí băng thông tối thiểu là 50% do một kênh truyền cố định được thiết lập dành cho cuộc gọi Sử dụng VoIP có thể tinh chỉnh băng thông lãng phí này để dùng cho mục đích khác nếu chức năng VAD (Voice Activity Detection) được bật Khi mạng bận thì băng thông dành cho cuộc hội thoại sẽ được giảm đi, ngược lại khi mạng rỗi thì băng thông cũng sẽ tăng lên, nhờ đó mà tăng chất lượng cuộc gọi.
• Hội thoại đòi hỏi phải có các bộ chuyển đổi Số - Tương tự Khi chuyển đối analog-digital và ngược lại thì chất lượng âm thanh giảm đáng kể Do đó càng ít bộ chuyển đổi D/A trong mạng càng tốt VoIP sử dụng PCM codec (G.711) tương tự các mạng điện thoại cổ điển
• Tandem Encoding là hiện tượng gói tin được mã hóa và giải mã nhiều lần để xác định nơi nhận trước khi đến đích làm giảm chất lượng hội thoại Để loại
bỏ hiện tượng này cẩn thiết lập các dial plan (kịch bản cuộc gọi) một cách hợp lý Các kịch bản này là các file dùng để điều khiển cuộc gọi ở các gateway controller
• Về giao thức truyền tin, VoIP sử dụng bộ giao thức RTP/ UDP/ IP Tầng giao vận sử dụng giao thức UDP để đảm bảo gói tin được truyền liên tục Tính chất thời gian thực được đảm bảo nhờ giao thức RTP (Real-time Transport Protocol) Gói tin RTP chứa các trường như nhãn thời gian và số thứ tự gói để đảm bảo sự đồng bộ thời gian giữa các gói tin
có thể được mở rộng thành RUDP (Reliable UDP) thêm tính tin cậy cho UDP bằng cách gửi cùng một gói tin nhiều lần và điểm nhận sẽ loại bỏ các gói tin không cần thiết
Trang 181.5 Các giao thức truyền thông thời gian thực
Tương tự như các giao thứ truyền dẫn khác, gói tin RTP (RTP packet) bao gồm hai phần là header (phần mào đầu) và data (dữ liệu) Nhưng không giống như các giao thức truyền dẫn khác là sử dụng các trường trong header để thực hiện các
chức năng điều khiển, RTP sử dụng một cơ chế điều khiển độc lập trong định dạng của gói tin RTCP để thực hiện các chức năng này.
Cấu trúc gói tin RTP
Hình 4 Cấu trúc gói tin RTP
• Version (2 bit): version của RTP (hiện tại là version 2)
• Padding (1 bit): có vai trò như bit cờ được sử dụng để đánh dấu khi có một
số byte được chèn vào trong gói
• Extension (1 bit): cũng có vai trò như một bit cờ được sử dụng để đánh dấu khi có header mở rộng tiếp theo header cố định
Trang 19• Marker (1 bit): có vai trò như một bit cờ, trạng thái của nó được phụ thuộc vào trường payload type
• Payload Type (7 bit): chỉ rõ loại thông tin được chứa trong các gói.Serquence Number (16 bit): cung cấp số thứ tự của các gói Cách này như một cơ chế giúp bên thu có thể thu đúng thứ tự các gói tin, nhận ra gói tin bị mất
• Time-stamp (32 bit): là tham số đánh dấu thời điểm byte đầu tiên được lấy mẫu trong gói RTP Giá trị time-stamp khởi đầu là ngẫu nhiên, các gói RTP phát đi liên tiếp có thể có cùng giá trị time-stemp nếu chúng cùng được phát
đi một lúc
• Syschronisation source (SSRC) identifier: số nhận dạng nguồn của gói dữ liệu Nếu ứng dụng muốn truyền dữ liệu có nhiều dạng khác nhau trong cùng một thời điểm (ví dụ là tín hiệu audio và video) thì sẽ có những phiên truyền riêng cho mỗi dạng dữ liệu Sau đó ứng dụng sẽ tập hợp các gói tin có cùng nhận dạng SSRC Số nhận dạng này được gán một cách ngẫu nhiên
• Contribute source (CSRC) identifer (độ dài thay đổi): tại một điểm đích nào
đó mà những tín hiệu audio đến đích cần trộn lại với nhau thì giá trị CSRC sẽ
là tập hợp tất cả các giá trị SSRC của các nguồn mà gửi tín hiệu đến điểm đích đó Trường CSRC có thể chứa tối đa là 15 số nhận dạng nguồn SSRC
• Extension header (độ dài thay đổi): chứa các thông tin thểm của gói RTP
1.5.2 Giao thức RTCP
Mặc dù RTP là một giao thức độc lập nhưng thường được hỗ trợ bởi giao thức RTCP RTCP trả về nguồn các thông tin về sự truyền thông và các thành phần đích Giao thức điều khiển này cho phép gửi về các thông số về bên thu và tự thích
nghi với bên phát cho phù hợp vời bên phát Mỗi người tham gia một phiên truyền RTP phải gửi định kỳ các gói RTCP tới tất cả những người khác cũng tham gia phiên truyền Tuỳ theo mục đích mà RTCP thực hiện 4 chức năng:
• RTCP cung cấp một sự phản hồi chất lượng của dữ liệu Các thông tin đó giúp cho ứng dụng thực hiện chức năng điều khiển luồng và quản lý tắc nghẽn
• RTCP cung cấp sự nhận dạng mà được sử dụng để tập hợp các kiểu dữ liệu khác nhau (ví dụ audio và video) Điều này là cần thiết vì khả năng này không được RTP cung cấp
Trang 20• Nhờ việc định kỳ gửi các gói tin RTCP mà mỗi phiên truyền có thể theo dõi được số người tham gia RTP không thể sử dụng được cho mục đích này khi một ai đó không gửi dữ liệu mà chỉ nhận từ những người khác.
• Cuối cùng là một chức năng lựa chọn cho phép có thêm thông tin về những người tham gia vào phiên truyền
Tuỳ thuộc vào giao thức RTP được sử dụng cho loại dữ liệu nào mà RTCP cung cấp các thông báo điều khiển khác nhau Có 4 loại thông báo điều khiển chính
được giao thức RTCP cung cấp là:
• Sender report (SR): thông báo này chứa các thông tin thống kê liên quan đến kết quả truyền như tỷ lệ tổn hao, số gói dữ liệu bị mất, khoảng trễ Các thông báo này phát ra từ phía phát trong một phiên truyền thông
• Receiver report (RR): thông báo này chứa các thông tin thống kê liên quan đến kết quả nhận giữa các điểm cuối Các thông báo này được phát ra từ phía thu trong một phiên truyền thông
• Source description (SDES): thông báo bao gồm các thông số mô tả nguồn như tên, vị trí,
• Application (APP): thông báo cho phép truyền các dữ liệu ứng dụng
Cấu trúc gói tin RTCP
Hình 5 Cấu trúc gói tin RTCP
• Version (2 bit): version RTP hiện tại (version 2)
• Padding (1 bit): có chức năng như một bit cờ chỉ rõ xem trong gói có các byte được chèn thêm hay không
• Report counter (5 bit): số thông báo chứa trong gói
• Packet type (8 bit): xác định loại thông báo của gói (SR hoặc RR hoặc APP)
• Length (16 bit) : Chỉ rõ độ dài của gói tin
Trang 21CHƯƠNG 2 CÁC GIAO THỨC BÁO HIỆU
IP Tập giao thức H.323 được thiết kế để hoạt động trên tầng vận chuyển của các mạng cơ sở Tuy nhiên, khuyến nghị H.323 rất chung chung nên ít được coi là tiêu chuẩn cụ thể Trong thực tế, hoàn toàn có thể thiết kế một hệ thống thoại tuân thủ H.323 mà không cần đến IP Khuyến nghị này chỉ đưa ra yêu cầu về “giao diện mạng gói” tại thiết bị đầu cuối Ban đầu, H.323 dự định dành cho X.25, FrameRelay sau đó là ATM, nhưng giờ đây lại là TCP/IP, trong khi đó có rất ít H.323 được vận hành trên mạng X.25 và ATM
2.1.2 Các thành phần cơ bản của hệ thống H323
• Các thiết bị đầu cuối (Terminal)
• Cổng kết nối (Gateway)
• Thiết bị điều khiển cổng kết nối (Gatekeeper)
• Khối điều khiển đa điểm MCU (Mutilpoint Control Units)
Trang 22Hình 6: Các thành phần mạng H323Sau đây chúng ta sẽ tìm hiểu kỹ hơn về thành phần của mạng H323.
Terminal
Dùng trong liên lạc đa truyền thông song hướng thời gian thực , một thiết bị đầu cuối H323 có thể là một máy tính PC, camera, điện thoại IP… hay một thiết bị đơn lẻ chạy các ứng dụng H323 Nó là thiết bị trực tiếp tham gia kết nối để cung cấp dịch vụ như: audio, video, data hoặc fax
Một thiết bị đầu cuối sẽ có ba giao tiếp cơ bản là: giao tiếp với màn hình để hiển thị hình ảnh hội nghị, giao tiếp Camera và giao tiếp âm thanh với Microphone Bên cạnh đó còn có giao tiếp dữ liệu với hệ thống mạng làm việc để trao đổi và truyền dữ liệu
Các tính năng của đầu cuối H.323 như:
• H.245: điều khiển sắp xếp sử dụng kênh truyền
• Q.931 : báo hiệu và thiết lập cuộc gọi
• RAS: giao thức liên lạc với gatekeeper
• RTP/RTCP: sắp xếp các gói âm thanh và hình ảnh
• Ngoài ra, H.323 còn có các tính năng khác như mã hoá/ giải mã tín hiệu âm thanh và hình ảnh, giao thức cho các ứng dụng số liệu (T.120), hội nghị đa
Trang 23Các chức năng của GK được chia thành: các chức năng bắt buộc và các chức năng tùy chọn.
Các chức năng bắt buộc của GateKeeper:
• Dịch địa chỉ: Gatekeeper sẽ thực hiện chuyển đổi địa chỉ hình thức (dạng tên gọi hay địa chỉ hộp thư) của một đầu cuối hay Gateway sang địa chỉ truyền dẫn (địa chỉ IP) Việc chuyển đổi được thực hiện bằng cách sử dụng bản đối chiếu địa chỉ được cập nhật thường xuyên bởi các bản tin đăng ký
• Điều khiển chấp nhận đầu vào: Gatekeeper cho phép một truy cập mạng LAN bằng cách sử dụng các bản tin H.225 là ARQ/ACF/ARJ Việc điều khiển này dựa trên sự cho phép cuộc gọi, băng thông, hoặc một vài thông số khác do nhà sản xuất quy định Nó có thể là chức năng rỗng có nghĩa là chấp nhận mọi yêu cầu truy nhập của đầu cuối
• Điều khiển băng thông: Gatekeeper hỗ trợ các bản tin BRQ/BRJ/BCF cho việc quản lý băng thông Nó có thể là chức năng rỗng nghĩa là chấp nhận mọi yêu cầu thay đổi băng thông
• Quản lý vùng: Ở đây chữ vùng là tập hợp tất cả các phần tử H.323 gồm thiết
bị đầu cuối, Gateway, MCU có đăng ký hoạt động với Gatekeeper để thực hiện liên lạc giữa các phần tử trong vùng hay từ vùng này sang vùng khác
Các chức năng tuỳ chọn của gatekeeper
• Tín hiệu điều khiển gọi
Trang 24• Bộ điều khiển đa điểm (MC):MC là bộ phận không thể thiếu trong MCU Nó
có thể điều khiển hội nghị điểm - điểm,sau đó phát triển thành hội nghị đa điềm MC thiết lập các giao thức chung cho tất cả các đầu cuối muốn tham gia vào hội nghị và quyết định hội nghị theo kiểu Multicast hay Unicast v.v
MC không trực tiếp xử lý các chuỗi âm thanh, hình ảnh hoặc số liệu trong hội nghị đa điểm
• Bộ xử lý đa điểm (MP):MP là phần tử tuỳ chọn trong MCU Nó thực hiện
trộn, chuyển mạch các chuỗi tín hiệu âm thanh, hình ảnh hoặc dữ liệu do MC điều khiển Tuỳ thuộc vào loại hội nghị mà MP có thể xử lý một hay nhiều chuỗi tín hiệu này
2.1.3 Tập giao thức H323
Hình 7: Tập giao thức H323
Trang 25Cung cấp các thủ tục điều khiển tiền cuộc gọi trong mạng H.323 có GK Kênh báo hiệu RAS được thiết lập giữa các đầu cuối và các GK trước các kênh khác Nó độc lập với kênh báo hiệu cuộc gọi và kênh điều khiển H.245 Các bản tin RAS được truyền qua mạng thông qua kết nối UDP, thực hiện việc đăng ký, cho phép, thay đổi băng thông, trạng thái và các thủ tục huỷ bỏ cuộc gọi Báo hiệu RAS gồm những quá trình sau:
• Tìm GateKeeper
• Đăng ký : Đăng ký là một quá trình cho phép GW, các đầu cuối và MCU
tham gia vào một vùng và báo cho GK biết địa chỉ truyền vận và địa chỉ bí danh của nó
• Định vị đầu cuối
• Cho phép, thay đổi băng thông, trạng thái và huỷ quan hệ
Báo hiệu điều khiển cuộc gọi H.225
Trong mạng H.323, thủ tục báo hiệu cuộc gọi được dựa trên khuyến nghị H.225 của ITU Khuyến nghị này chỉ rõ cách sử dụng và trợ giúp của các bản tin báo hiệu Q.931 Sau khi khởi tạo thiết lập cuộc gọi Các bản tin điều khiển cuộc gọi
và các bản tin giữ cho kênh báo hiệu cuộc gọi tồn tại (keepalive) được chuyển tới các cổng
Các bản tin Q.931 thường được sử dụng trong mạng H.323:
• Setup: Được gửi từ thực thể chủ gọi để thiết lập kết nối tới thực thể H.323 bị gọi
• Call Proceeding: chỉ thị rằng thủ tục thiết lập cuộc gọi đã được khởi tạo
• Alerting: chỉ thị rằng chuông bên đích bắt đầu rung
• Connect: thông báo rằng bên bị gọi đã trả lời cuộc gọi
• Release Complete: chỉ thị rằng cuộc gọi đang bị giải phóng
• Facility: Đây là một bản tin Q.932 dùng để yêu cầu hoặc phúc đáp các dịch
vụ bổ sung Nó cũng được dùng để cảnh báo rằng một cuộc gọi sẽ được định tuyến trực tiếp hay thông qua GK
Giao thức H.245
H245 xử lý các bản tin điều khiển từ đầu cuối đến đầu cuối giữa các thực thể H.323 Các thủ tục H.245 thiết lập các kênh logic cho việc truyền tín hiệu âm thanh, hình ảnh, dữ liệu và thông tin kênh điều khiển Báo hiệu H.245 được thiết lập giữa 2
Trang 26đầu cuối, một đầu cuối với một MC hoặc một đầu cuối với GK Đầu cuối chỉ thiết lập duy nhất một kênh điều khiển H.245 cho mỗi cuộc gọi mà nó tham gia Một đầu cuối, MCU, GK có thể hỗ trợ nhiều cuộc gọi cùng một lúc do vậy có nhiều kênh điều khiển H.245 tương ứng Khuyến nghị H.245 định nghĩa một số thực thể giao thức độc lập trợ giúp cho báo hiệu từ đầu cuối đến đầu cuối như sau:
• Trao đổi khả năng
• Quyết định chủ - tớ
• Trễ vòng (Round Trip delay)
• Báo hiệu kênh logic (Logical channel signaling)
• Các thủ tục kết nối nhanh
• H245 ngầm (Tuneling H.245)
2.1.1 Quá trình thiết lập cuộc gọi H323
Một cuộc gọi trải qua các bước như sau :
• Thiết lập cuộc gọi
• Khởi tạo truyền thông và trao đổi khả năng
• Thiết lập kênh truyền thông nghe nhìn
• Dịch vụ cuộc gọi
• Kết thúc cuộc gọi
Trang 27Hình 8 Quá trình thiết lập cuộc gọi trong H323
2.2 Giao thức khởi tạo phiên SIP
2.2.1 Giới thiệu
SIP (Session Initiation Protcol ) là giao thức báo hiệu điều khiển lớp ứng dụng được dùng để thiết lập, duy trì, kết thúc các phiên truyền thông đa phương tiện (multimedia) Các phiên multimedia bao gồm thoại Internet, hội nghị, và các ứng dụng tương tự có liên quan đến các phương tiện truyền đạt (media) như âm thanh, hình ảnh, và dữ liệu
SIP là một công cụ hỗ trợ hấp dẫn đối với điện thoại IP vì các lý do sau :
Trang 28• Nó có thể hoạt động vô trạng thái hoặc có trạng thái Vì vậy, sự hoạt động vô trạng thái cung cấp sự mở rộng tốt do các server không phải duy trì thông tin
về trạng thái cuộc gọi một khi sự thực hiện (transaction) đã được xử lý
• Nó có thể sử dụng nhiều dạng hoặc cú pháp giao thức chuyển siêu văn bản HTTP (Hypertext Transfer Protocol), vì vậy, nó cung cấp một cách thuận lợi
để hoạt động trên các trình duyệt
• Bản tin SIP (nội dung bản tin) thì không rõ ràng, nó có thể là bất cứ cú pháp nào Vì vậy, nó có thể được mô tả theo nhiều cách Chẳng hạn, nó có thể được mô tả với sự mở rộng thư Internet đa mục đích MIME (Multipurpose Internet Mail Extension) hoặc ngôn ngữ đánh dấu mở rộng XML (Extensible Markup Language)
• Nó nhận dạng một người dùng với bộ định vị tài nguyên đồng nhất URL (Uniform Resource Locator), vì vậy, nó cung cấp cho người dùng khả năng khởi tạo cuộc gọi bằng cách nhấp vào một liên kết trên trang web
Nói chung, SIP hỗ trợ các hoạt động chính sau :
• Định vị trí của người dùng
• Định media cho phiên làm việc
• Định sự sẵn sàng của người dùng để tham gia vào một phiên làm việc
• Thiết lập cuộc gọi, chuyển cuộc gọi và kết thúc
2.2.2 Tính năng của SIP
Giao thức SIP được thiết kế với những chỉ tiêu sau:
• Tích hợp với các giao thức đã có của IETF
• Đơn giản và có khả năng mở rộng
• Hỗ trợ tối đa sự di động của đầu cuối
• Dễ dàng tạo tính năng mới cho dịch vụ và dịch vụ mới
2.2.3 Các thành phần trong hệ thống SIP
Hai phần tử cơ bản trong hệ thống SIP là tác nhân người sử dụng (user agent)
và các máy phục vụ mạng (network server) Bên chủ gọi và bị gọi được nhận dạng bằng các địa chỉ SIP
Trang 29• User agent
Client (UAC): Khởi tạo các yêu cầu SIP và đóng vai trò như tác nhân chủ
gọi của người dùng
Server (UAS): Nhận các yêu cầu và thay mặt cho người sử dụng gửi trả các
đáp ứng, đóng vai trò như tác nhân bị gọi
• Network Server
Máy chủ ủy quyền (Proxy server): là một chương trình trung gian, hoạt
động như là một server và một client cho mục đích tạo các yêu cầu thay mặt cho các client khác Các yêu cầu được phục vụ bên trong hoặc truyền chúng đến các server khác Một proxy có thể dịch và nếu cần thiết có thể tạo lại các bản tin yêu cầu SIP trước khi chuyển chúng đến server khác hoặc một UA Trong trường hợp này trường Via trong bản tin đáp ứng, yêu cầu chỉ ra các proxy trung gian tham gia vào tiến trình xử lý yêu cầu
Máy chủ định vị (Location Server): là phần mềm định vị thuê bao, cung
cấp thông tin về những vị trí có thể của thuê bao bị gọi cho các phần mềm máy chủ
ủy quyền và máy chủ chuyển đổi địa chỉ
Máy chủ chuyển đổi địa chỉ (Redirect Server): là phần mềm nhận yêu cầu
SIP và chuyển đổi địa chỉ SIP sang một số địa chỉ khác và gửi lại cho đầu cuối Không giống như máy chủ ủy quyền, máy chủ chuyển đổi địa chỉ không bao giờ hoạt động như một đầu cuối, tức là không gửi đi bất cứ yêu cầu nào Máy chủ chuyển đổi địa chỉ cũng không nhận hoặc huỷ cuộc gọi
Máy chủ đăng ký (Register Server): là phần mềm nhận các yêu cầu đăng
ký Trong nhiều trường hợp máy chủ đăng ký đảm nhiệm luôn một số chức năng an
Hình 9 :Các thành phần hệ thống SIP
Trang 30ninh như xác nhận người sử dụng Thông thường máy chủ đăng ký được cài đặt cùng với máy chủ ủy quyền và máy chủ chuyển đổi địa chỉ hoặc cung cấp dịch vụ định vị thuê bao Mỗi lần đầu cuối được bật lên ( ví dụ máy điện thoại hoặc phần mềm SIP) thì đầu cuối lại đăng ký với máy chủ Nếu đầu cuối cần thông báo cho máy chủ về địa điểm của mình thì bản tin REGISTER cũng được gửi đi Nói chung các đầu cuối đều thực hiện việc đăng ký lại một cách định kỳ.
2.2.4 Các bản tin của SIP
SIP là một giao thức dựa trên ký tự văn bản với cú pháp bản tin và các trường mào đầu đồng nhất với giao thức truyền siêu văn bản HTTP (Hypper Text Transfer Protocol) Các bản tin của SIP truyền trên cùng một kết nối TCP hoặc bó
dữ liệu UDP
Ví dụ:
SIP Header
INVITE sip:5120@192.168.36.180 SIP/2.0 Via: SIP/2.0/UDP 192.168.6.21:5060 From: sip:5121@192.168.6.21 To: <sip:5120@192.168.36.180>
-Call-ID: c2943000-e0563-2a1ce-2e323931@192.168.6.21 CSeq: 100 INVITE
Expires: 180 User-Agent: Cisco IP Phone/ Rev 1/ SIP enabled Accept: application/sdp
Contact: sip:5121@192.168.6.21:5060 Content-Type: application/sdp
Trang 31Hình 10 Một số trường header đơn giản
• INVITE : Để chỉ thị rằng thuê bao hoặc dịch vụ được mời tham gia vào một
phiên Nó bao gồm một mô tả phiên và đối với các cuộc gọi song công thì bên chủ gọi chỉ thị phương thức truyền thông (media) trong bản tin này Theo phương pháp đơn giản này các bên có thể xác định được các khả năng của bên kia và bắt đầu một phiên hội thoại
• ACK : Những yêu cầu này tương ứng với một yêu cầu INVITE Chúng là sự
xác nhận cuối cùng từ một hệ thống cuối và chấm dứt một giao dịch được khởi tạo bởi INVITE
• OPTIONS : Bản tin này cho phép truy vấn và tập hợp các khả năng của user
agent và network server Tuy nhiên yêu cầu này không được dùng để thiết lập phiên
• BYE: Bên chủ gọi và bị gọi sử dụng yêu cầu này để giải phóng cuộc gọi
Trước khi thực sự giải phóng cuộc gọi, user agent gửi yêu cầu này tới server
để cảnh báo rằng nó muốn giải phóng phiên làm việc
• CANCEL: Yêu cầu này cho phép user agent và network server xoá bỏ bất
kỳ một yêu cầu nào đang thi hành
• REGISTER: yêu cầu này được client dùng để đăng ký thông tin với SIP
server
Các bản tin đáp ứng
• 1xx Informational (vd 100 Trying, 180 Ringing)
• 2xx Successful (vd 200 OK, 202 Accepted)
Trang 32• 3xx Redirection (vd 302 Moved Temporarily)
• 4xx Request Failure (e.g 404 Not Found, 482 Loop Detected)
• 5xx Server Failure (e.g 501 Not Implemented)
• 6xx Global Failure (e.g 603 Decline)
2.2.5 Quá trình thiết lập cuộc gọi
Trước tiên ta tìm hiểu hoạt động của máy chủ ủy quyền và máy chủ chuyển đổi
Hoạt động của máy chủ ủy quyền (Proxy Server)
Hình 11 : Hoạt động của Proxy server SIP userA@yahoo.com gửi bản tin INVITE cho userB@hotmail.com để mời tham gia cuộc gọi.Các bước như sau:
• Bước 1: userA@yahoo.com gửi bản tin INVITE cho UserB ở miền hotmail.com, bản tin này đến proxy server SIP của miền hotmail.com (Bản tin INVITE có thể đi từ Proxy server SIP của miền yahoo.com và được Proxy này chuyển đến Proxy server của miền hotmail.com)
• Bước 2: Proxy server của miền hotmail.com sẽ tham khảo server định vị (Location server) để quyết định vị trí hiện tại của UserB
Trang 33• Bước 4: Proxy server gửi bản tin INVITE tới userB@hotmail.com Proxy server thêm địa chỉ của nó trong một trường của bản tin INVITE.
• Bước 5: UAS của UserB đáp ứng cho server Proxy với bản tin 200 OK
• Bước 6: Proxy server gửi đáp ứng 200 OK trở về userA@yahoo.com
• Bước 7: userA@yahoo.com gửi bản tin ACK cho UserB thông qua proxy server
• Bước 8: Proxy server chuyển bản tin ACK cho userB@hostmail.com
• Bước 9: Sau khi cả hai bên đồng ý tham dự cuộc gọi, một kênh RTP/RTCP được mở giữa hai điểm cuối để truyền tín hiệu thoại
• Bước 10: Sau khi quá trình truyền dẫn hoàn tất, phiên làm việc bị xóa bằng cách sử dụng bản tin BYE và ACK giữa hai điểm cuối
Hoạt động của máy chủ chuyển đổi địa chỉ (Redirect Server):
Hình 12 : Hoạt động của Redirect Server được trình bày như hình
Các bước hoạt động như sau:
• Bước 1: Redirect server nhân được yêu cầu INVITE từ người gọi (Yêu cầu này có thể đi từ một proxy server khác)
• Bước 2: Redirect server truy vấn server định vị địa chỉ của B
• Bước 3: Server định vị trả lại địa chỉ của B cho Redirect server
• Bước 4: Redirect server trả lại địa chỉ của B đến người gọi A Nó không phát yêu cầu INVITE như proxy server
Trang 34• Bước 5: User Agent bên A gửi lại bản tin ACK đến Redirect server để xác nhận sự trao đổi thành công.
• Bước 6: Người gọi A gửi yêu cầu INVITE trực tiếp đến địa chỉ đượctrả lại bởi Redirect server (đến B) Người bị gọi B đáp ứng với chỉ thị thành công (200 OK), và người gọi đáp trả bản tin ACK xác nhận Cuộc gọi được thiết lập goài ra SIP còn có các mô hình hoạt động liên mạng với SS7 (đếnPSTN) hoặc là liên mạng với chồng giao thức H.323
Tổng quát lại trong mạng SIP quá trình thiết lập và hủy một phiên kết nối:
1 đăng ký, khởi tạo và định vị đầu cuối
2 xác định phương tiện của cuộc gọi, tức là mô tả phiên mà đầu cuối được mời tham gia
3 xác định mong muốn của đầu cuối bị gọi, trả lời hay không Phía bị gọi phải gửi bản tin xác nhận chấp thuận cuộc gọi hay từ chối
4 thiết lập cuộc gọi
5 thay đổi hay điều khiển cuộc gọi (ví dụ như chuyển cuộc gọi)
6 hủy cuộc gọi
Trang 35Hình 13 Quá trình thiết lập và hủy một phiên kết nối của SIP
2.3 So sánh với H.323
SIP đơn giản hơn nhiều so với H.323 Để hoạt động, H.323 phải sử dụng các giao thức khác nhau như : RTP/RTCP - Giao vận số liệu, H.225.0 và Q.931 - để báo hiệu và thiết lập cuộc gọi, H.245 - để dàn xếp dạng đầu cuối Trong khi đó SIP do được thiết kết theo mô hình Client/Server sử dụng các bản tin dạng văn bản, nên thủ tục xử lý truyền tin đa dịch vụ đơn giản và sáng sủa hơn nhiều so với H.323 Tập bản tin của SIP chỉ bao gồm 6 loại : INVITE, ACK, CANCEL, BYE, REGISTER
và OPTIONS nghĩa là ít hơn rất nhiều so với H.323 Như vậy để hỗ trợ cho việc thiết lập một cuộc gọi, SIP chỉ cần 2 trao đổi (Trường hợp UAC đã đăng ký với UAS), đối với H.323 ít nhất là 8 trao đổi Tuy nhiên cấu trúc các bản tin của SIP lại quá phức tạp so với H.323, vì thế để thực hiện được một trao đổi SIP các UAC và
Trang 36UAS phải có sự sắp xếp và khởi tạo các bản tin trước khi gửi đi, đối với H.323 khi nhận được tín hiệu yêu cầu là gần như nó có tín hiệu trả lời ngay lập tức Nói chung
hạ tầng H.323 có thể đáp ứng các yêu cầu bảo đảm chất lượng dịch vụ của ứng dụng thời thực tốt hơn so với SIP Tuy nhiên nếu các ứng dụng loại này có những thuật toán tìm đường và mô phỏng lưu lượng tối ưu thì SIP có vẻ như chiếm ưu thế hơn H.323
Về báo hiệu: cả H.323 và SIP đều hỗ trợ các chức năng điều khiển và quản
lý thiết lập kết nối, như : khởi tạo kết nối (call set-up), giữ kết nối (call hold), chuyển kết nối (call transfer), chờ thực hiện kết nối (call waiting),
Hỗ trợ QoS: H.323 quy định chi tiết các chức năng điều khiển và quản trị
băng thông cho gatekeeper, bao gồm chuyển đổi địa chỉ, điều khiển truy nhập và quản trị băng thông Thực chất đây chính là các chức năng hỗ trợ cho đảm bảo QoS Trong khi SIP không định nghĩa bất cứ một chức năng hỗ trợ đảm bảo QoS nào
Phát hiện và khắc phục lỗi: Cả H.323 lẫn SIP đều cung cấp cơ chế phát
hiện và khắc phục lỗi H.323 sử dụng các timer khác nhau để giám sát việc phát nhận các thông báo điều khiển thiết lập kết nối, trước khi thực hiện việc phát lại Chỉ sau một số lần phát lại được qui định mà vẫn không nhận đúng thông báo trả lời, kết nối TCP mới được sử dụng Đối với SIP qui định thực thể UA tự động phát lại sau mỗi 0,5s cho đến khi nhận được thông báo trả lời “ứng xử đúng”; thực thể
NS tự động phát lại thông báo “trạng thái cuối cùng OK” cho đến khi nhận được thông báo trả lời ACK
Trang 37so với tốc độ thay đổi và tốc độ chấp nhận liên quan đến công nghiệp máy tính Chuyển mạch kênh là các phần tử có độ tin cậy cao trong kiến trúc PSTN Tuy nhiên, chúng không bao giờ là tối ưu đối với chuyển mạch gói Khi lưu lượng của mạng ngày càng trở nên phong phú và đa dạng thì hiển nhiên phải có một công nghệ, giải pháp mới cho thiết kế chuyển mạch của mạng tương lai, đó là xét về mặt
kỹ thuật Còn khi xem xét ở khía cạnh kinh doanh thu lợi nhuận thì :
• Các Giải pháp mới sẽ mang lại những dịch vụ mới hấp dẫn với khách hàng
• Do thời gian phát triển nhanh và chi phí vận hành cũng như bảo dưỡng các mạng chuyển mạch gói thấp hơn nhiều so với chuyển mạch kênh, nên các nhà điều hành mạng ngày nay tập trung chú ý đến công nghệ chuyển mạch gói IP
Do vậy, khi càng ngày càng nhiều lưu lượng dữ liệu chảy vào mạng qua Internet, thì cần phải có một giải pháp mới, đặt trọng tâm vào dữ liệu, cho việc thiết
kế chuyển mạch của tương lai dựa trên công nghệ gói để chuyển tải chung cả thoại
và dữ liệu Như một sự lựa chọn, các nhà cung cấp dịch vụ đã và đang cố gắng hướng tới việc xây dựng một mạng thế hệ mới Next Generation Network - NGN trên đó hội tụ các dịch vụ thoại, số liệu, đa phương tiện trên một mạng duy nhất - sử dụng công nghệ chuyển mạch gói trên mạng xương sống (Backbone Network) Đây
là mạng của các ứng dụng mới và các khả năng mang lại lợi nhuận mà chỉ đòi hỏi giá thành thấp Và đó không chỉ là mạng phục vụ thông tin thoại, cũng không chỉ là mạng phục vụ truyền số liệu mà đó là một mạng thống nhất, mạng hội tụ đem lại ngày càng nhiều các dịch vụ tiên tiến đáp ứng nhu cầu ngày một tăng, và khắt khe hơn từ phía khách hàng
Mạng thế hệ mới NGN không phải là một cuộc cách mạng về mặt công nghệ
mà nó là một bước phát triển, một xu hướng tất yếu Hạ tầng cơ sở mạng của thế kỷ
20 không thể được thay thế trong một sớm một chiều, vì thế NGN phải tương thích tốt với môi trường mạng sẵn có và phải kết nối hiệu quả với mạng PSTN
Trang 38• Mạng NGN là mạng chuyển mạch gói, dựa trên một giao thức thống nhất.
• Là mạng có dung lượng ngày càng tăng, có tính thích ứng cũng ngày càng tăng, có đủ dung lượng để đáp ứng nhu cầu
3.3 Những vấn đề mà mạng thế hệ mới cần giải quyết
• Vấn đề báo hiệu và điều khiển trên nhiều loại giao thức khác nhau cho hội tụ thông tin thoại, fax, số liệu, đa phương tiện
• Vấn đề kết nối với mạng chuyển mạch kênh hiện hữu, đặc biệt là kết nối phần báo hiệu (mạng SS7)
• Vấn đề phát triển dịch vụ
Giải pháp cốt lõi trong mạng NGN chính là công nghệ Softswitch- công nghệ chuyển mạch mềm
Trang 39Hình 14 : Topo mạng NGN
3.4 Công nghệ chuyển mạch mềm – Softswitch
3.4.1 Những hạn chế của tổng đài chuyển mạch kênh
Hiện nay cơ sở hạ tầng chuyển mạch viễn thông công cộng bao gồm rất nhiều mạng, công nghệ và các hệ thống khác nhau, trong đó hệ thống chuyển mạch kênh sử dụng công nghệ ghép kênh phân chia theo thời gian (TDM-Time Division Multiplex ) đã phát triển khá toàn diện về dung lượng, chất lượng và quy mô mạng lưới Mạng PSTN ngày nay nói chung đáp ứng được rất tốt nhu cầu dịch vụ thoại của khách hàng Tuy nhiên trong lĩnh vực cung cấp dịch vụ thoại còn có nhiều vấn
đề chưa được giải quyết một cách thực sự thoả đáng, chưa nói đến những dịch vụ mới khác
Hiện nay, tất cả các dịch vụ thoại nội hạt đều được cung cấp thông qua các tổng đài nội hạt theo công nghệ chuyển mạch kênh, đơn giản bởi vì chẳng có giải pháp nào khác Chính điều này là cản trở đối với sự phát triển của dịch vụ, bởi những nguyên nhân chính sau đây:
• Giá thành chuyển mạch của tổng đài nội hạt
Trang 40• Không có sự phân biệt dịch vụ
• Giới hạn trong phát triển mạng
Hình 15 : Cấu trúc mạng và báo hiệu PSTN
3.4.2 Định nghĩa chuyển mạch mềm (Softswitch)
Chuyển mạch mềm có thể được định nghĩa như là tập hợp các sản phẩm, giao thức, và các ứng dụng cho phép bất kỳ thiết bị nào truy cập các dịch vụ truyền thông qua mạng xây dựng trên nền công nghệ chuyển mạch gói IP Những dịch vụ
đó bao gồm thoại, fax, video, dữ liệu và các dịch vụ mới có thể được phát triển trong tương lai Những thiết bị đầu cuối truy nhập bao gồm điện thoại truyền thống, điện thoại IP, máy tính, PDAs, máy nhắn tin (pager) Một sản phẩm Softswitch có thể bao gồm một hoặc nhiều phần chức năng, các chức năng có thể cùng nằm trên một hệ thống hoặc phân tán trên những hệ thống thiết bị khác nhau
Softswitch nhìn trung cung cấp các chức năng giống như các chức năng của
hệ thống chuyển mạch kênh, nó chỉ khác là được thiết kế cho mạng chuyển mạch