Tài liệu tham khảo chuyên ngành viễn thông Phát triển dịch vụ dựa trên giao thức sip cho mạng 3g
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-LUẬN VĂN THẠC SỸ KỸ THUẬT
PHÁT TRIỂN DỊCH VỤ DỰA TRÊN GIAO THỨC SIP CHO MẠNG 3G
CHUYÊN NGÀNH : KỸ THUẬT ĐIỆN TỬMÃ SỐ: 60.52.70
HỌC VIÊN: LÊ SỸ ĐỒNG
NGƯỜI HƯỚNG DẪN KHOA HỌC : TS LÊ NGỌC GIAO
HÀ NỘI - 2010
Trang 3Luận văn được hoàn thành tại:
Học viện Công nghệ Bưu chính Viễn thôngTập đoàn Bưu chính Viễn thông Việt NamNgười hướng dẫn khoa học: TS Lê Ngọc Giao
MỞ ĐẦU
Bắt đầu từ những nước có ngành công nghệ thông tin phát triển, sau hơn một thập kỷ ra đời, ứng dụng công nghệ SIP đã lan rộng toàn cầu, góp phần xã hội hoá ngành viễn thông thế giới, trong đó có Việt Nam Tại Việt Nam, chuẩn SIP chỉ mới được đưa vào ứng dụng trong dịch vụ điện thoại Internet quốc tế từ cuối năm 2005 Để triển khai thành công và khai thác hiệu quả dịch vụ cho mạng 3G, việc sử dụng giao thức SIP được xem là một trong những mấu chốt trong tiến trình cung cấp dịch vụ mạng Chính vì vậy:
Chương 1: Tổng quan về mạng hội tụ cố định – đi động FMC
Nội dung cơ bản của chương 1 đề cập đến các kiến trúc mạng cố định, di động truyền thống và đưa ra xu hướng hội tụ mạng.
Chương 2: Giao thức khởi tạo phiên SIP
Nội dung cơ bản của chương 2 đề cập đến cấu trúc, chức năng của giao thức SIP, nội dung bản tin SIP và hoạt động của giao thức.
Chương 3: Ứng dụng SIP trong quá trình hội tụ mạng cố định và di động
Nội dung chương 3 tập trung vào những nội dung chính là đưa ra kiến trúc và hoạt động của một số dịch vụ cơ bản của mạng 3G như Presence, IPTV, Conferencing và vấn đề đánh giá cũng như phải đảm bảo được chất lượng dịch vụ (QoS) cho các dịch vụ đó.
Trong thời gian thực hiện luận văn, em đã nhận được sự giúp đỡ rất lớn từ thầy giáo hướng dẫn:“ TS Lê Ngọc Giao – Viện khoa học Kỹ thuật Bưu điện - Học viện Công nghệ Bưu chính Viễn thông“, các thầy cô trong Học viện, các bạn cùng lớp và các đồng nghiệp công tác trong VNPT Vì thời gian và kiến thức còn hạn chế nên nội dung luận văn không tránh khỏi những thiếu sót, rất mong nhận được sự đóng góp ý kiến của thầy cô và các bạn, để kết quả của luận văn được tốt hơn, có ý nghĩa lý thuyết cũng như thực tiễn
Em xin chân thành cảm ơn.
MỤC LỤC
Trang 41.2.1 Hội tụ các mạng lõi chuyển mạch gói 3
1.2.2 Cung cấp các dịch vụ đa phương tiện sử dụng SIP 3
2.2.2 Request-Line trong bản tin yêu cầu 4
2.2.3 Status-line trong bản tin trả lời 5
2.2.4 Các trường tiêu đề 6
2.3 Hoạt động của SIP 6
2.3.1 Ví dụ về hoạt động của SIP 6
2.3.2 Hoạt động của SIP Client và SIP Server 6
2.3.3 Hoạt động của UA (User-Agent) 7
2.3.4 Hoạt động của SIP Proxy và Redirect Server 7
CHƯƠNG 3 ỨNG DỤNG SIP TRONG QUÁ TRÌNH HỘI TỤ MẠNG CỐ ĐỊNH VÀ DI ĐỘNG
8
3.1 Dịch vụ Presence 8
3.1.1 Giới thiệu chung 8
3.1.2 Kiến trúc của dịch vụ Presence 8
3.1.3 Hoạt động của dịch vụ Presence 8
3.2 Dịch vụ Cuộc gọi hội nghị (Conferencing) 8
3.2.1 Giới thiệu chung 8
3.4.1 Điều khiển phiên 10
3.4.2 Điều khiển QoS từ đầu cuối đến đầu cuối (End-to-End) 11
Đặc điểm chủ yếu của PSTN là:
analog Không có khả năng di động hoặc di động với cự ly hạn chế.
Thoại + Hình ảnhGateway
Wireless LAN
Thoại + Hình ảnh802.11b/g
Thoại + Hình ảnhThoại + Hình ảnh
Wifi / Wimax / UMTS
Trang 5- Bước 1: Hội tụ mạng lõi chuyển mạch gói của cả mạng cố định và di động
- Bước 2: Cung cấp các dịch vụ đa phương tiện dựa trên SIP
cố định và di động.
1.2.1 Hội tụ các mạng lõi chuyển mạch gói
1.2.2 Cung cấp các dịch vụ đa phương tiện sử dụng SIP
Bước thứ hai bao gồm việc chuẩn bị cho các mạng truy nhập và mạng lõi cung cấp các dịch vụ đa phương tiện dựa trên IP trong khi vẫn đảm bảo được sự phát triển liên tục
1.2.3 Hội tụ toàn bộ mạng
Kiến trúc IMS được thiết kế nhằm thỏa mãn hai mục đích:
- Tái sử dụng năng lực của các giao thức SIP peer-to-peer và các giao thức có liên quan.
- Duy trì sự điều khiển ở phía nhà khai thác nhờ việc quản lý hiệu quả QoS, bảo mật các cơ chế xác thực dựa trên thẻ SIM và thiết lập các thỏa thuận chuyển vùng với các nhà khai thác khác trên toàn cầu.
IP core transport network
Legacy wireless
(2G, 2.5G) Legacy wirelinePSTNSDL, cableIP wireline 3G, WLAN, WiMAXIP wireless
Transport & UserPlane
IPv4 PDN(IPv4 Network)
CS Networks (PSTN, CS PLMN)MGCF
Application Plane
Control Plane
Hình 1.7: Kiến trúc IMS và mặt phẳng điều khiển chung
CHƯƠNG II GIAO THỨC KHỞI TẠO PHIÊN SIP2.1 Cấu trúc giao thức
2.1.1 Chức năng của SIP
SIP là một giao thức điều khiển ở tầng ứng dụng cho phép thiết lập, duy trì và giải phóng các cuộc gọi hoặc các phiên truyền thông đa phương tiện như điện thoại hội nghị, điện thoại Internet và các ứng dụng tương tự khác
2.1.2 Các thành phần của hệ thống SIP
Một hệ thống SIP bao gồm nhiều phần tử logic khác nhau Các phần tử logic này có thể độc lập hoặc được tích hợp với nhau trong cùng một phần tử vật lý Cũng tương tự như H.323, SIP dựa trên kiến trúc phân tán.
Hệ thống SIP
Hình 2.1: Các thành phần của hệ thống SIP
SIP dựa trên ý tưởng và cấu trúc của HTTP Nó là một giao thức Client -Server, nghĩa là các yêu cầu SIP được Client đưa ra và Server sẽ trả lời các yêu cầu này User Agent là thiết bị đầu cuối trong mạng SIP
Proxy Server là một phần mềm trung gian Nó có thể hoạt động như Server hoặc như Client để thực hiện các yêu cầu thay mặt các đầu cuối khác nhau
Trang 6Location Server là phần mềm định vị thuê bao, cung cấp thông tin về vị trí của phía bị gọi cho các phần mềm Proxy Server và Redirect Server.
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ố kiểu địa chỉ khác để gửi lại cho đầu cuối Registrar Server là phần mềm nhận các yêu cầu đăng ký REGISTER
Lớp thứ ba và cũng là thành phần cơ bản nhất của SIP là lớp giao dịch Mỗi giao dịch là một yêu cầu và các trả lời tương ứng cho yêu cầu đó Lớp này quản lý các hoạt động nhưng gửi lại ứng dụng, tìm các trả lời phù hợp với các request hay kiểm soát thời gian Lớp này xuất hiện tại UA và các Stateful Proxy Với các Proxy này, khi xử lý một yêu cầu bất kỳ nó sẽ xét đến trạng thái của các yêu cầu trước đó và nếu có lỗi thì sẽ xử lý lỗi trước khi gửi trả lời đến Client Ngược lại, Stateless Proxy trả lời các yêu cầu một cách độc lập và cũng không chứa lớp giao dịch.
Lớp thứ tư là lớp TU Ngoại trừ, Stateless Proxy, mỗi phần tử SIP đều là một TU, tức đều là đối tượng giao dịch của lớp giao dịch Các yêu cầu gửi bởi TU được coi là các Client của tầng giao dịch và được gửi cùng với địa chỉ IP, địa chỉ port đến đích trả lời yêu cầu
2.2 Bản tin SIP2.2.1 Cấu trúc chung
SIP là giao thức dạng TEXT sử dụng bộ ký tự UTF-8 Điều này tạo cho SIP tính linh hoạt cao và dễ sử dụng cùng với các ngôn ngữ lập trình bậc cao như Java, Tol, Perl Cú pháp của SIP gần giống với giao thức HTTP cho phép đơn giản hóa sự liên kết giữa SIP Server với Web Server.
Một bản tin SIP có thể là một yêu cầu từ Client tới Server hay một trả lời từ Server về phía Client Cấu trúc này được tóm tắt như sau:
generic-message = start-line
2.2.2 Request-Line trong bản tin yêu cầu
Các bản tin SIP được phân biệt với nhau dựa vào dòng khởi đầu Trong đó, các bản tin yêu cầu có dòng khởi đầu là một Request-Line chứa tên phương thức, một Request-URI và phiên bản của giao thức Các thành phần này được ngăn cách với nhau bằng một ký tự trống
2.2.2.1.2 INVITE
Để tạo một cuộc gọi SIP, phía bị gọi định vị tới Server tương ứng và gửi đi một yêu cầu SIP Lúc này bản tin INVITE được dùng để thông báo rằng một người dùng hoặc một dịch vụ được mời tham gia vào một phiên hội thoại
2.2.2.1.3 ACK
Sau khi nhận được trả lời 200 OK rằng phía bị gọi sẵn sàng tham gia hội thoại, bên gọi cần xác nhận đã được trả lời bằng cách gửi đi một yêu cầu ACK 2.2.2.1.4 BYE
Trang 7UAC sử dụng phương thức BYE để thông báo cho Server rằng nó muốn giải phóng cuộc gọi
2.2.2.3 Trường SIP-Version
Tương tự như trong bản tin HTTP, cả bản tin Request và Response đều chứa trường này để chỉ ra phiên bản SIP đang được sử dụng Hiện nay, có hai phiên bản SIP khác nhau là SIP và SIP v2.0.
2.2.3 Status-line trong bản tin trả lời
Các bản tin SIP được phân biệt với nhau dựa vào dòng khởi đầu Nếu trong các bản tin yêu cầu, dòng khởi đầu là một Request-Line thì trong các bản tin trả lời dòng khởi đầu là một dòng trạng thái (Status-Line) Mỗi thành phần cũng được phân biệt với nhau bằng một ký tự trống
Status-Line = SIP-Version Status-Code Reason-Phrase
Mã trạng thái là một số nguyên 3 digit biểu thị kết quả đáp ứng một yêu cầu Trong 3 digit của mã trạng thái, digit đầu tiên được dùng để định nghĩa loại trả lời SIP v2.0 liệt kê 6 giá trị của digit đầu tiên như sau:
- 2xx: Success : hành động được chấp nhận
- 3xx: Redirect : cần thêm các hành động khác để thực hiện yêu cầu
- 4xx: Client Error : yêu cầu bị lỗi cú pháp hoặc gửi sai server
- 5xx: Server Error : yêu cầu hợp lệ nhưng server không thể đáp ứng
- 6xx: Global Failure: yêu cầu không được đáp ứng tại bất kỳ server nào.
2.2.3.1 Provisional 1xx
Trả lời tạm thời (Provisional Response) cho biết Server nhận yêu cầu đang xử lý yêu cầu đó và vẫn chưa đưa ra trả lời cuối cùng Sau đây là một số mã trạng thái phổ biến.
(1) 100 Trying (2) 180 Ringing
(3) 181 Call Is Being Forwarded (4) 182 Queued
2.2.3.5 Server Failure 5xx
Trả lời 5xx được gửi đi khi chính Server bị lỗi
Trang 82.2.3.6 Global Farlures 6xx
Đáp ứng 6xx chỉ ra rằng yêu cầu không được đáp ứng tại mọi Server.
2.2.4 Các trường tiêu đề
2.2.4.1 Định dạng chung
Một trường tiêu đề SIP có cấu trúc chung như sau:
header = header-name: header-value *(, header-value)
Định dạng các giá trị của từng trường tiêu đề phụ thuộc vào bản thân trường tiêu đề đó Tuy nhiên một định dạng chung nhất có thể được sử dụng là:
field-name: field-value *(;parameter-name=parameter-value)
2.2.4.2 Các trường tiêu đề chung
Trường tiêu đề chung có thể xuất hiện ở cả bản tin yêu cầu và bản tin trả lời.
2.2.4.3 Các trường tiêu đề thực thể
Các trường tiêu đề thực thể định nghĩa thông tin về thân bản tin hoặc nếu thân bản tin không có thì nó thể hiện các tài nguyên để định danh theo yêu cầu.
2.2.4.4 Các trường tiêu đề yêu cầu
Các trường tiêu đề yêu cầu cho phép Client chuyển qua các thông tin bổ sung theo yêu cầu và các thông tin về Client đến Server
2.2.4.5 Các trường tiêu đề trả lời
Trường tiêu đề trả lời cho phép Server bỏ qua các thông tin bổ sung về trả lời
khi không thể đặt trong Status-Line Các trường tiêu đề này đưa ra thông tin về Server và về các truy nhập đến tài nguyên được định danh bởi Request-URI.
2.3 Hoạt động của SIP
Một cuộc gọi hay một phiên hội thoại gồm tất cả các thành viên trong
phiên và được nhận biết bởi Call-ID Sự kết hợp giữa Call-ID, To và From tạo thành Call leg và nó chỉ ra một hội thoại duy nhất giữa hai Client.
2.3.1 Ví dụ về hoạt động của SIP
SIP hoạt động theo cơ chế trao đổi các yêu cầu và các trả lời tương ứng Dưới đây là một ví dụ về báo hiệu SIP trong quá trình trao đổi thông tin giữa hai người sử dụng A và B.
INVITE F1
INVITE F2
INVITE F4100 TRYING F3
100 TRYING F5
100 TRYING F6100 TRYING F7
100 TRYING F8
200 OK F9200 OK F10
200 OK F11
ACK F12
Media Session
BYE F13200 OK F14
Hình 2.2: Hoạt động của SIP
2.3.1.1 Định vị người dùng
Phía bị gọi có thể di chuyển giữa các hệ thống đầu cuối khác nhau tại các thời điểm khác nhau Những vị trí đó được đăng ký với SIP server Chức năng định vị người dùng được đảm nhiệm bởi Location Server
2.3.1.2 Thay đổi một phiên hiện tại
Trong trường hợp cần thay đổi các thông số của một phiên hội thoại hiện tại, ví dụ như thêm một thành viên thì cần phải phát lại bản tin INVITE
2.3.2 Hoạt động của SIP Client và SIP Server
SIP có thể sử dụng cả giao thức UDP và TCP như những giao thức truyền tải ở tầng Transport mà không phải thay đổi khuôn dạng bản tin SIP.
Trang 92.3.3 Hoạt động của UA (User-Agent)
2.3.3.1 Phía gọi phát yêu cầu INVITE
Khi một UAC muốn khởi tạo một cuộc gọi, nó sẽ đưa ra một yêu cầu INVITE Trường To trong yêu cầu chứa địa chỉ người được gọi Trường Request-URI chứa cùng địa chỉ đó Trường From chứa địa chỉ của phía gọi
2.3.3.2 Phía bị gọi gửi trả lời
Khi phía bị gọi nhận được yêu cầu INVITE, nó có thể chấp nhận, gửi lại hay huỷ bỏ cuộc gọi
2.3.4 Hoạt động của SIP Proxy và Redirect Server
2.3.4.1 Redirect Server
Redirect Server không thể phát ra các yêu cầu SIP cho chính nó Sau khi nhận được một yêu cầu bất kỳ (trừ yêu cầu CANCEL), nó thu thập danh sách các vị trí thay đổi và trả lại một đáp ứng cuối cùng (3xx) hoặc trừ chối yêu cầu
Trang 10CHƯƠNG 3 ỨNG DỤNG SIP TRONG QUÁ TRÌNH HỘI TỤ MẠNG CỐ ĐỊNH VÀ DI ĐỘNG
3.1 Dịch vụ Presence3.1.1 Giới thiệu chung
Presence có thể được hiểu là trạng thái của một User đối với người khác Nó cho phép các user điều khiển việc truyền thông một cách hiệu quả hơn Presence bao gồm các thông tin về tính sẵn sàng của user và thiết bị đầu cuối, phương thức liên lạc cũng như dịch vụ user đó sử dụng (voice, video,…)
Presence Service
Hình 3.1: Presence - Nền tảng của tất cả các dịch vụ
3.1.2 Kiến trúc của dịch vụ Presence
Kiến trúc tổng quát của dịch vụ Presence có thể được thấy như trong hình 3.2 với các thành phần chính là thực thể Presence, Presence User Agent (PUA), người xem và Presence Agent (PA)
Thực thể Presence
Hình 3.2: Kiến trúc dịch vụ Presence
Access Network
PUA, Watcher
Access Network
(AS) PA (AS) PUA (AS) RLS (AS)
Hình 3.3: Kiến trúc mạng dựa trên SIP
3.1.3 Hoạt động của dịch vụ Presence
Người xem bất kỳ khi muốn xem thông tin hiện diện của một người khác thì phải thực hiện việc đăng ký với thực thể Presence đó
3.2 Dịch vụ Cuộc gọi hội nghị (Conferencing)3.2.1 Giới thiệu chung
Hình 3.6: Kiến trúc dịch vụ cuộc gọi hội nghị
3.3.2 Hoạt động
Hình 3.6 mô tả chi tiết quá trình báo hiệu cho một cuộc gọi hội nghị
Trang 11Presence IMS Feature Successful Subcription (IMS Presence Subscription, Publication and Notification )
Watcher User
Equipment Watcher Presence Proxy Presence Server Presentity Presence Proxy User AgentPresence Watcher Watcher P-CSCF Watcher S-CSCF PS Presentity I-CSCF Presentity S-CSCF Presentity P-CSCF Presentity PUA
Prepare a list of supported voice and
video codecs
(a) INVITE
allocateconference URI
H.248 interaction to modify connection
183 Session Progress
(b)100 Trying
INVITE(d)100 Trying
(e) INVITE(f)100 Trying
H.248 interactions to create IMS connection point for Conference Initiator UE in MRFP and to determine media capabilities of the MRFP
H.248 interactions to create conference connection resource for Conference Initiator UE
183 Session Progress
183 Session Progress
beginResource reservation for
conference session
200 OK (PRACK)
200 OK (PRACK)
200 OK (PRACK)(l)
endResource reservation for
conference session
200 OK (UPDATE)200 OK
(UPDATE)200 OK
200 OK (INVITE)
200 OK (INVITE)
Hình 3.7: Thiết lập cuộc gọi hội nghị
2) Mời thành viên tham gia hội nghị
Để mời thành viên tham gia hội nghị, User thiết lập cuộc gọi gửi bản tin Refer chứa URI của cuộc gọi hội nghị đến thành viên được mời
3) Các bên bị gọi tham gia vào cuộc gọi hội nghị
Nếu đồng ý tham gia vào cuộc gọi hội nghị, người được mời sẽ sử dụng địa chỉ URI của cuộc gọi hội nghị và URI của máy chủ cuộc gọi hội nghị để thực hiện các thủ tục đăng ký tham gia
4) Thông báo cho user thiết lập hội nghị về các thành viên tham gia hội nghị
Mỗi thành viên khi tham gia vào cuộc gọi hội nghị phải thông báo lại cho User thiết lập cuộc gọi hội nghị bằng bản tin NOTIFY.
5) Duy trì và kết thúc cuộc gọi hội nghị
Khi cuộc gọi hội nghị đã được thiết lập, các phần tử mạng đảm bảo dòng truyền thông thời gian thực giữa các thành viên tham gia hội nghị.
3.3 Dịch vụ IPTV3.3.1 Giới thiệu chung
IPTV, còn gọi là truyền hình Internet, Telco TV, TV băng rộng,… cung cấp các dịch vụ truyền hình quảng bá chất lượng cao hay âm thanh và hình ảnh có nội dung theo yêu cầu trên mạng băng thông rộng Đối với người sử dụng đầu cuối, IPTV giống như một dịch vụ truyền hình có trả tiền chuẩn