Thiết kế và xây dựng bảng tính và đưa ra cơ chế thu thập thông tin từ các bản tin trong giao thức SIP
Trang 1LỜI CẢM ƠN
Trước hết, tôi xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, Học Viện Công Nghệ Bưu Chính Viễn Thông cơ sở tại Thành Phố Hồ Chí Minh đã tạo điều kiện tốt cho tôi thực hiện đề tài tốt nghiệp này.
Tôi xin chân thành cảm ơn thầy Trần Phước Nguyên đã tận tình hướng dẫn tôi trong suốt thời gian thực hiện đề tài.
Cuối cùng, tôi xin chân thành cảm ơn quý thầy cô trong khoa đã tận tình giảng dạy, trang bị cho chúng tôi những kiến thức quý báu trong những năm học vừa qua.
Mặc dù tôi đã cố gắng hoàn thành bài báo cáo trong phạm vi và khả năng cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiết sót, kính mong sự thông cảm và chỉ bảo tận tình của quý thầy cô.
TP.Hồ Chí Minh, tháng 12 năm 2012
Sinh viên
Trang 2MỤC LỤC
Trang 3CÁC TỪ, CỤM TỪ VIẾT TẮT
VoIP Voice over Internet Protocol
Giao thức truyền thoại trên IP
SIP Session Initiation Protocol
Giao thức khởi tạo phiên
MGCP Media Gateway Control Protocol
Giao thức điều khiển cổng đa phương tiện
PSTN Public Switch Telephone Network
Mạng chuyển mạch điện thoại công cộng
RTP Realtime Transport Protocol
Giao thức vận chuyển thời gian thực
RTCP Real-time Transport Control Protocol
Giao thức điều khiển vận chuyển thời gian thực
SDP Session Description Protocol
Giao thức mô tả phiên làm việc
QoS Quality of Services
Chất lượng dịch vụ
UDP Unit Datagram Protocol
Giao thức đơn vị dữ liệu
URL Uniform Resource Locator
Tham chiếu tài nguyên trên Internet
PBX Private Branch eXchange
Tổng đài nhánh riêng
Trang 4DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
Trang 5LỜI NÓI ĐẦU
Trong nhiều thập kỷ qua, công nghệ VoIP đã và đang được sử dụng rộng rãi ởnhiều nơi trên thế giới với nhiều tính năng ưu việt so với mạng điện thoại truyền thống
đó là mạng điện thoại truyền thống đươc triển khai trên cơ sở hạ tầng riêng biệt so với
cơ sở hạ tầng của mạng internet, mạng điện thoại truyền thống có giá cước cao và tínhlinh động thấp, trong khi đó mạng VoIP được triển khai trên nền tảng cơ sở hạ tầngsẵn có của internet hoạt động hoàn toàn thông qua internet do vậy cước phí cuộc gọigiảm hơn nhiều so với mạng điện thoại truyền thống và hơn nữa là dễ dàng triển khai,trong bối cảnh mạng internet ngày càng phổ biến trên toàn thế giới và theo đó thì cácdịch vụ cũng như các công nghệ dựa trên Internet cũng phát triển không ngừng côngnghệ VoIP được coi là một bước đột phá trong thông tin liên lạc toàn cầu , nó có vaitrò rất quan trọng trong sự phát triển của đời sống xã hội nói chung và sự phát triểncủa công nghệ thông tin nước nhà nói riêng Một công nghệ được mong đợi với giácước rẻ hơn nhiều so với các mạng điện thoại khác mang lại lợi ích không hề nhỏ đốivới người sử dụng, và điều quan tâm của nhà quản lý là có một bảng tính cước cho hệthống VoIP sao cho tối ưu quản lý, giám sát dễ dàng và chính xác, đảm bảo công bằngcho người sử dụng dịch vụ
Phần lớn các công nghệ hiện nay đều có khả năng chạy trên nhiều giao thứckhác nhau, đối với công nghệ VoIP nói riêng thì chạy trên một số giao thức cơ bảnnhư: H.323, MGCP, SIP…mỗi giao thức khác nhau có hoạt động, vận hành đối với hệthống VoIP khác nhau Trong đó giao thức SIP được xem là có nhiều ưu điểm hơn cả,với quá trình thiết lập một cuộc gọi khá đơn giản qua đó làm tăng khả năng kiểm soát
và hiệu suất của hệ thống, SIP hỗ trợ tích hợp dễ dàng tiếng nói với các dịch vụ Webkhác để thực hiện truyền thông đa phương tiện như hội nghị truyền hình, giao lưu trựctuyến Hiện nay, SIP được sử dụng rộng rãi trong các hệ thống, Cisco và nhiều hãngsản xuất thiết bị tổng đài IP đang đưa SIP vào phần cứng, còn Skype, Yahoo,Microsoft và America Online cũng tích hợp SIP trong hệ thống tin nhắn nhanh của họ.Tập đoàn viễn thông nổi tiếng WorldCom cũng đã mở hẳn một ngành kinh doanhcông nghệ SIP và phối hợp với Microsoft để hỗ trợ giao thức trong bản thử nghiệmWindows XP Server
Bất kỳ công nghệ điện thoại nào ra đời đều phải đi kèm theo đó là một bảngtính cước điện thoại để đảm bảo doanh thu cho doanh nghiệp triển khai hệ thống cungcấp cho người sử dụng Trong đề tài này, tôi quan tâm tới việc thiết kế bảng tính cướccho hệ thống VoIP dùng giao thức SIP không chỉ vì tính hiệu quả và ưu việt của côngnghệ mà còn phương pháp khai thác tính đơn giản của giao thức SIP để tính cước phí.Bằng việc nghiên cứu về SIP và thực hiện khảo sát protocol SIP trên Asterisk, kết quảcho thấy sự khả thi khi thực hiện bảng tính cước dựa vào giao thức SIP
Trang 6Bảng tính cước cho phép lấy thông tin cuộc gọi bằng cách ghi lại những thông
số của các bản tin INVITE, 200OK, BYE, qua đó ghi lại những thông số cần thiết vàchi tiết để đảm bảo tính chính xác cao
Bảng tính cước cho hệ thống VoIP dùng giao thức SIP căn bản có các chứcnăng chính:
• Ghi lại thời gian cuộc gọi (Timer): Chức năng ghi lại thời gian cuộc gọi baogồm ngày phát sinh cuộc gọi, thời gian bắt đầu kết thúc cuộc gọi, thời gian đàmthoại thực của cuộc gọi
• Thông số thuê bao: Chức năng ghi lại thông số thuê bao bao gồm thuê bao gọiđến, thuê bao gọi đi
• Cước phí cuộc gọi: Chức năng tính ra cước phí của cuộc gọi căn cứ vào thờigian đàm thoại thực từ khi bắt đầu đàm thoại đến khi kết thúc cuộc gọi
• Giao diện web để quản trị người dùng user: Người quản trị có thể dễ dàng quảntrị người dùng thông quan giao diện này, giao diện này thể hiện tất cả nhữngthông số cần thiết để người quản trị có thể tối ưu hóa trong việc quản trị hệthống
Trong những yêu cầu trên, tôi sẽ tập trung vào việc thu thập thông tin từ cácbản tin thiết lập cuộc gọi INVITE, 200OK, ACK, BYE để phục vụ cho các chức năngtrên đây
Trong khuôn khổ thời gian cho phép, đề tài này chỉ cho phép dừng lại ở việcthiết kế và xây dựng bảng tính và đưa ra cơ chế thu thập thông tin từ các bản tin tronggiao thức SIP mà chưa đề xuất được hệ thống này một cách tối ưu nhất Trong tươnglai, công việc có thể được tiếp tục với việc thực hiện xây dựng hệ thống hoàn chỉnhvới chức năng thu thập thông tin một cách nhanh nhất Từ đó có thể đưa ra ứng dụngnếu có thể…
Trang 7CHƯƠNG I: GIỚI THIỆU
I.1 Bối cảnh
Ngày nay, trước sự phát triển mạnh mẽ của cơ sở hạ tầng internet đã đưa đếncho thế giới nhiều giải pháp mới trong trao đổi thông tin và dữ liệu Dữ liệu ngày naykhông còn là thông tin mà còn là hình ảnh, âm thanh… Một trong những ứng dụngrất quan trọng và hiệu quả đó là truyền tải tiếng nói trên nền tản cơ sở hạ tầng sẵn cócủa mạng Internet Thoại là một hình thức không thể thiếu trong giao tiếp thườngngày Qua thời gian hệ thống truyền thoại qua mạng chuyển mạch kênh cũ đã bộc lộnhiều hạn chế như: tốc độ đường truyền thấp, giới hạn số lượng trong hội thảo hộinghị, khả năng phục vụ đồng thời ít, khả năng lưu trữ thấp, …Sự ra đời của công nghệVoIP(Voice over Internet Protocol) đã khắc phục được các nhược điểm đó Về bảnchất công nghệ VoIP là công nghệ sử dụng giao thức IP để truyền tín hiệu thoại(voice) dưới dạng các gói tin (packets) trong mạng IP Việc sử dụng chuyển mạch góithay cho chuyển mạch kênh đã tạo ra được sự tối ưu hơn: không phải giữ riêng kênhtruyền trong suốt cuộc gọi, do vậy có thể cùng lúc truyền được nhiều cuộc hội thoạitrên một kênh truyền Công nghệ này cho phép sử dụng một số giao thức như H.323,SIP, MGCP…qua đó ứng dụng vào các lĩnh vực như điện thoại quốc tế, 171, skype…
Một trong những ưu điểm chính khi công nghệ VoIP sử dụng giao thức SIP rađời đó là quá trình thiết lập một cuộc gọi khá đơn giản mà cước phí cực thấp so vớicác hệ thống trước đây Đề tài này sẽ dựa vào hai ưu điểm nổi bật đó để thiết kế chomột chức năng rất quan trọng trong hoạt động của hệ thống VoIP đó là thiết kế bảngtính cước phí cho hệ thống VoIP dùng giao thức SIP
I.2 Động cơ
Trong phần này tôi trình bày một tình huống làm động cơ cho việc đưa ra mộtthiết kế dành cho việc tính cước phí cho một cuộc gọi VoIP dùng giao thức SIP, nócho thấy lợi ích trong việc sử dụng công nghệ VoIP cùng với giao thức SIP để đưa ramột bảng tính cước phí cuộc gọi phục vụ cho việc giám sát hệ thống Sau đây tôi xinđưa ra một ví dụ về ứng dụng của thiết kế này: Hệ thống tổng đài sẽ tính cước cho 1cuộc gọi từ A đến B, thiết kế này sẽ ghi lại những thông số cần thiết rõ ràng qua đóthuận tiện cho việc tính giá thành cuộc gọi bằng cách nhận biết lúc nào A gửi bản tinINVITE cho B, lúc B bắt máy và gửi bản tin 200OK thì bắt đầu tính cước và cuốicùng là bản tin BYE lúc nào được gửi và qua đó tính ra giá cước cho A
Việc phát triển tối ưu và ngày càng hoàn thiện cho bản tính cước này sẽ giúpđáp ứng sự hài lòng của khách hàng cũng như dễ dàng trong việc kiểm soát khâu nàytrong hệ thống VoIP dùng giao thức SIP
Trang 8I.3 Đóng góp của đề tài
Đề tài giúp hiểu rõ về cấu trúc cũng như phương pháp thiết kế bảng tính cướccho hệ thống VoIP dùng giao thức SIP
Đề tài giúp cho một cái nhìn rõ ràng về giao thức SIP trong VoIP thông quaviệc nghiên cứu tổng quan cũng như đi vào từng chức năng, tính năng cụ thể của SIP,thực hiện cài đặt tổng đài Asterisk trên Linux và qua đó thực hiện thao tác một cuộcgọi thực tế và nắm bắt rõ ràng cơ chế của giao thức SIP trong hệ thống này
Việc cài đặt hệ thống với giao thức SIP giúp hiểu về hoạt động của nó, nhậnthấy được SIP là một giao thức thiết lập cuộc gọi đơn giản, vì vậy việc ghi lại cácthông số trong các bản tin INVITE, 200OK, BYE cũng khá dễ dàng ứng với các yêucầu trong bảng thiết kế
Báo cáo đưa ra ý tưởng thiết kế bảng tính cước dựa trên giao thức SIP Trongtương lai có thể phát triển lên hoàn chỉnh và ứng dụng trong thực tế
I.4 Tổ chức
Nội dung của đề tài được chia làm 4 chương:
Chương 1: Giới thiệu.
Nêu lên bối cảnh, động cơ, đóng góp và tổ chức đề tài
Chương 2: Giới thiệu hệ thống SIP.
Giới thiệu về công nghệ VoIP chạy trên nhiều giao thức khác nhau Giới thiệu
cụ thể về giao thức SIP SIP có những ưu điểm nào so với các giao thức khác, từ đónêu lên lợi thế khi dựa vào giao thức SIP để thiết kế bảng tính cước cho hệ thốngVoIP
Chương 3:Kiểm tra hoạt động của hệ thống VoIP dùng Asterisk
Chương này sẽ trình bày quá trình cài đặt một hệ thống VoIP trong mạng LAN,bao gồm một tổng đài Asterisk, 2 máy cài 2 soft phone nằm trong cùng một mạngLAN Sau khi cài đặt sẽ thực hiện 1 cuộc gọi giữa 2 soft phone, dùng công cụwireshark bắt các gói tin INVITE, 200OK, BYE để biết các thông số cần ghi lại vàqua đó làm nền tảng cho việc thiết kế bảng tính cước
Chương 4: Thiết kế và xây dựng mô hình tính cước dùng giao thức SIP dựa trên Asterisk Implementation
Thiết kế và xây dựng cơ chế cập nhật các thông số đã ghi lại được từ các bảntin vào cơ sở dữ liệu
Chương 5: Kết luận
Báo cáo đã trình bày những gì, kết quả đạt được từ báo cáo và dự định mở rộngnhững gì trong tương lai
Trang 9CHƯƠNG II: GIỚI THIỆU VỀ HỆ THỐNG SIP
Đầu năm 1995, công ty VocalTec đưa ra sản phẩm phần mềm qua Internet(Voice over Internet Protocol - VoIP) đầu tiên trên thế giới Sau đó, nhiều công ty đãđầu tư nghiên cứu và đưa ra các sản phẩm thương mại Truyền dẫn tiếng nói quaInternet theo thời gian thực được biết như Internet Telephony hay gọi là thuật ngữchung là VoIP Trong chương này tôi sẽ đưa ra một cái nhìn tổng quan về công nghệVoIP, giới thiệu các giao thức dùng trong VoIP, giới thiệu cụ thể về giao thức SIP.SIP có những ưu điểm nào so với các giao thức khác
II.1 Tổng quan về VoIP
II.1.1 Khái niệm
VoIP viết tắt bởi Voice over Internet Protocol, hay còn được gọi dưới các tênkhác như: Internet telephony, IP Telephony, Broadband telephony, Broadband Phone
và Voice over Broadband là một công nghệ cho phép truyền thoại sử dụng giao thứcmạng IP, trên cơ sở hạ tầng sẵn có của mạng Internet
Hình 1.1: Tổng quan về hệ thống VoIP cùng với PSTN truyền thống
VoIP có thể vừa thực hiện cuộc gọi thoại như trên mạng điện thoại kênhtruyền thống (PSTN) đồng thời truyền dữ liệu trên cơ sở mạng truyền dữ liệu
Trang 10II.1.2 Đặc điểm của mạng VoIP:
II.1.2.1 Ưu điểm
Giảm cước phí: Đây là ưu điểm nổi bật của VoIP so với điện thoại đường dài
thông thường Chi phí cuộc gọi đường dài chỉ bằng chi phí cho truy nhập Internet Do
sử dụng các tiêu chuẩn nén thoại từ tốc độ 64Kbps của chuyển mạch kênh thành luồng
từ 6-8Kbps, tức là một kênh 64Kbps lúc này có thể phục vụ đồng thời 8 kênh thoạiđộc lập Như vậy, lý do lớn nhất giúp cho chi phí thực hiện cuộc gọi VoIP thấp chính
là việc sử dụng tối ưu băng thông
Quản lí băng thông hiệu quả hơn: Trong PSTN, băng thông cung cấp cho
một cuộc gọi là cố định, kỹ thuật chuyển mạch truyền thống của PSTN yêu cầu mộtmạch giữa chuyển mạch của công ty điện thoại và thiết bị khách hàng được mở và nóichiếm trong suốt thời gian cuộc gọi, bất chấp lượng thông tin có được truyền đi haykhông dẫn đến sự hao phí Trong VoIP, không có sự bắt buộc nào về mặt thông lượnggiữa các thiết bị dầu cuối mà chỉ có các chuẩn tuỳ vào băng thông có thể của mình,bản thân các đầu cuối có thể tự điều chỉnh hệ số nén và do đó diều chỉnh được chấtlượng cuộc gọi
Hỗ trợ tốt các ứng dụng và khả năng mở rộng: Trong khi PSTN với các
tổng đài gần như là một hệ thống kín rất khó để tích hợp các ứng dụng cũng như mởrộng VoIP được hứa hẹn sẽ mang đến các lợi ích trong thời gian dài hơn được mongđợi từ các ứng dụng đa phương tiện (multimedia) và đa dịch vụ Tính linh hoạt củamạng IP cho phép tạo ra nhiều tinh năng mới trong dịch vụ thoại Ðồng thời tính mềmdẻo còn tạo khả năng mở rộng mạng và các dịch vụ
Sự phát triển của mạng IP: Với sự phát triển chóng mặt của Internet, web,
ngày nay, các máy tính cá nhân và máy chủ trong Internet, web đều sử dụng giao thức
IP Chính vì xu thế này của IP mà IP trở thành một nền tảng thuận lợi để phát triểnVoIP
II.1.2.2 Nhược điểm
Chất lượng dịch vụ: Các mạng số liệu vốn dĩ không phải xây dựng với
mục đích truyền thoại thời gian thực, vì vậy khi truyền thoại qua mạng số liệu chochất lượng cuộc gọi không được đảm bảo trong trường hợp mạng xảy ra tắc nghẽnhoặc có độ trễ lớn Tính thời gian thực của tín hiệu thoại đòi hỏi chất lượng truyền dữliệu cao và ổn dịnh Một yếu tố làm giảm chất lượng thoại nữa là kỹ thuật nén dể tiếtkiệm đường truyền Nếu nén xuống dung lượng càng thấp thì kỹ thuật nén càng phứctạp, cho chất lượng không cao và dặc biệt là thời gian xử lý sẽ lâu, gây trễ
Một nhược điểm khác của VoIP là vấn đề về tiếng vọng: Nếu như trong
mạng thoại, độ trễ thấp nên tiếng vọng không ảnh huởng nhiều thì trong mạng IP, độtrễ lớn nên tiếng vọng ảnh hưởng nhiều đến chất lượng thoại
Trang 11II.1.3 Kiến trúc và thành phần mạng VoIP
II.1.3.1 Kiến trúc tổng quan
Hình 2.1: Kiến trúc theo mô hình cuộc gọi VoIP
Có 3 thành phần chính đó là:
IP Phone: là thiết bị giao diện đầu cuối phía người dùng với mạng VoIP Cấu
tạo chính của một IP Phone gồm hai thành phần chính:Thành phần báo hiệu mạngVoIP: báo hiệu có thể là H.323 sử dụng giao thức TCP hay SIP sử dụng UDP hoặcTCP làm giao thức truyền tải của mình Thành phần truyền tải media: sử dụng RTP đểtruyền luồng media với chất lượng thời gian thực và được điều khiển theo giao thứcRTCP
VoIP Server: chức năng chính của Server trong mạng VoIP tùy thuộc vào giao
thức báo hiệu được sử dụng Nhưng về mô hình chung thì VoIP Server thực hiện cácchức năng sau:
- Ðịnh tuyến bản tin báo hiệu trong mạng VoIP
- Ðăng kí, xác thực người sử dụng
- Dịch địa chỉ trong mạng
Nói chung, VoIP Server trong mạng nhu là đầu não chỉ huy mọi hoạt động củamạng
Trang 12Telephone PC
Hình 2.2: Thành phần mạng VoIP
Thiết bị đầu cuối: Thiết bị đầu cuối là một nút cuối trong cấu hình của mạng
điện thoại IP Nó có thể được kết nối với mạng IP sử dụng một trong các giao diệntruy nhập Một thiết bị đầu cuối có thể cho phép một thuê bao trong mạng IP thực hiệncuộc gọi tới một thuê bao khác trong mạng chuyển mạch kênh Các cuộc gọi đó sẽđược Gatekeeper mà thiết bị đầu cuối hoặc thuê bao đã đăng ký giám sát
Một thiết bị đầu cuối có thể gồm các khối chức năng sau:
- Chức năng đầu cuối: Thu và nhận các bản tin;
- Chức năng bảo mật kênh truyền tải: đảm bảo tính bảo mật của kênh truyền tảithông tin kết nối với thiết bị đầu cuối
- Chức năng bảo mật kênh báo hiệu: đảm bảo tính bảo mật của kênh báo hiệukết nối với thiết bị đầu cuối
- Chức năng xác nhận: thiết lập đặc điểm nhận dạng khách hàng, thiết bị hoặcphần tử mạng, thu nhập các thông tin dùng để xác định bản tin báo hiệu hay bản tinchứa thông tin đã được truyền hoặc nhận chưa
Trang 13- Chức năng quản lý: giao tiếp với hệ thống quản lý mạng.
- Chức năng ghi các bản tin sử dụng: xác định hoặc ghi lại các thông tin về sựkiện ( truy nhập, cảnh báo ) và tài nguyên
- Chức năng báo cáo các bản tin sử dụng: báo cáo các bản tin đã được sử dụng
ra thiết bị ngoại vi
Mạng truy nhập IP: Mạng truy nhập IP cho phép thiết bị đầu cuối, Gateway,
Gatekeeper truy nhập vào mạng IP thông qua cơ sở hạ tầng sẵn có
Gatekeeper: Gatekeeper là phần tử của mạng chịu trách nhiệm quản lý việc
đăng ký, chấp nhận và trạng thái của các thiết bị đầu cuối và Gateway Gatekeeper cóthể tham gia vào việc quản lý vùng, xử lý cuộc gọi và báo hiệu cuộc gọi Nó xác địnhđường dẫn để truyền báo hiệu cuộc gọi và nội dung đối với mỗi cuộc gọi
Gateway: Là thiết bị có chức năng kết nối hai mạng không giống nhau, hầu hết
các truờng hợp đó là mạng IP và mạng PSTN Có 3 loại gateway là: Gateway truyềntải kênh thoại, Gateway điều khiển truyền tải kênh thoại và Gateway báo hiệu
II.1.3.3 Các mô hình kết nối trong mạng VoIP
Về cơ bản có thể chia cấu trúc kết nối trong các ứng dụng dịch vụ thoại Internetthành ba loại:
- Kết nối PC-PC
- Kết nối PC-Máy thoại
- Kết nối Máy thoại-Máy thoại
Kết nối PC-PC: Khi thực hiện kết nối PC với PC về mặt hình thức có thể chia
làm hai loại:
- Kết nối thông qua mạng LAN hoặc một mạng IP
- Kết nối giữa một PC trong mạng IP này với một PC trong mạng IP khácthông qua mạng PSTN
Trang 14Hình 2.3: Kết nối PC-PC
Kết nối PC-Phone: Mô hình PC to Phone là một mô hình được cải tiến hơn so
với mô hình PC to PC Mô hình này cho phép người sử dụng máy tính có thể thựchiện cuộc gọi đến mạng PSTN thông thường và ngược lại Trong mô hình này mạngInternet và mạng PSTN có thể giao tiếp với nhau nhờ một thiết bị đặc biệt đó làGateway Ðây là mô hình cơ sở để dẫn tới việc kết hợp giữa mạng Internet và mạngPSTN cũng như các mạng GSM hay đa dịch vụ
khác
Hình 2.4: Kết nối PC-Phone
Kết nối Phone-Phone: Trong đó kết nối giữa hai máy điện thoại được thực
hiện thông qua mạng IP thay vì được kết nối trong mạng PSTN
Hình 2.5: Kết nối Phone-Phone
II.1.4 Ứng dụng VoIP
Điện thoại có thể được áp dụng cho gần như mọi yêu cầu của giao tiếp thoại, từmột cuộc đàm thoại đơn giản cho đến một cuộc gọi hội nghị nhiều người phức tạp.Chất lượng âm thanh được truyền cũng có thể biến đổi tuỳ theo ứng dụng Ngoài ra,với khả năng của Internet, dịch vụ điện thoại IP sẽ cung cấp thêm nhiều tính năngmới
Điện thoại thông minh: Hệ thống điện thoại ngày càng trở nên hữu hiệu: rẻ,
phổ biến, dễ sử dụng, cơ động Nhưng nó hoàn toàn “ngớ ngẩn”, chỉ có một số phím
Trang 15để điều khiển Trong những năm gần đây, người ta đã cố gắng để tạo ra thoại thôngminh, đầu tiên là các thoại để bàn, sau là đến các server Nhưng mọi cố gắng đều thấtbại do sự tồn tại của các hệ thống có sẵn.
Internet sẽ thay đổi điều này Kể từ khi Internet được triển khai, nó đã được sửdụng để tăng thêm tính thông minh cho mạng điện thoại toàn cầu Giữa mạng máytính và mạng điện thoại tồn tại một mối liên hệ Internet cung cấp cách giám sát vàđiều khiển các cuộc thoại một cách tiện lợi hơn Chúng ta có thể thấy được khả năngkiểm soát và điều khiển các cuộc thoại thông qua mạng Internet
Dịch vụ điện thoại web: "World Wide Web" đã làm cuộc cách mạng trong
cách giao dịch với khách hàng của các doanh nghiệp Điện thoại Web hay "bấm số"
(click to dial) cho phép các nhà doanh nghiệp có thể đưa thêm các phím bấm lên trang
web để kết nối tới hệ thống điện thoại của họ
Dịch vụ bấm số là cách dễ nhất và an toàn nhất để đưa thêm các kênh trực tiếp
từ trang Web của chúng ta vào hệ thống điện thoại Truy cập các trung tâm trả lời điệnthoại Truy nhập đến các trung tâm phục vụ khách hành qua mạng Internet sẽ thúc đẩymạnh mẽ thương mại điện tử Dịch vụ này sẽ cho phép một khách hàng có câu hỏi vềmột sản phẩm được chào hàng qua Internet được các nhân viên của công ty trả lời trựctuyến
Dịch vụ fax qua IP: Nếu chúng ta gửi nhiều fax từ PC, đặc biệt là gửi ra nước
ngoài thì việc sử dụng dịch vụ Internet faxing sẽ giúp chúng ta tiết kiệm được tiền và
cả kênh thoại Dịch vụ này sẽ chuyển trực tiếp từ PC của chúng ta qua kết nối Internet.Hàng năm, thế giới tốn hơn 30 tỷ USD cho việc gửi fax đường dài Nhưng ngày nayInternet fax đã làm thay đổi điều này Việc sử dụng Internet không những được mởrộng cho thoại mà còn cho cả dịch vụ fax
Khi sử dụng dịch vụ thoại và fax qua Internet, có hai vấn đề cơ bản :
Những người sử dụng dịch vụ thoại qua Internet cần có chương trình phầnmềm được cung cấp bởi các công ty dịch vụ Cấu hình này cung cấp cho người sửdụng khả năng sử dụng thoại qua Internet thay cho sử dụng điện thoại để bàn truyềnthống
Sự phát triển nhảy vọt của mạng chuyển mạch gói IP hiện nay không chỉ đemlại cho chúng ta những dịch vụ mới đa dạng mà còn là cơ hội cải thiện các dịch vụviễn thông truớc kia với chất luợng tốt hơn và giá thành rẻ hơn Trên cơ sở đó, mạngVoIP ra đời và ngày càng đáp ứng tốt hơn các yêu cầu đặt ra như chất lượng dịch vụ,giá thành, số lượng tích hợp các dịch vụ thoại lẫn phi thoại Trong phần tiếp theo tôi
sẽ giới thiệu chi tiết về giao thức SIP, một giao thức khởi tạo phiên trong VoIP và sosánh với các giao thức khác trong hệ thống VoIP
II.2 Giao thức SIP
Công nghệ VoIP là công nghệ truyền tín hiệu thoại trên nền IP, chính vì thế mà
hệ thống VoIP phải được hỗ trợ các giao thức được sử dụng trên mạng Internet và
Trang 16phải có kiến trúc thích ứng với kiến trúc mạng IP Một số giao thức đó như: H.323,MGCP, SIP… được sử dụng Trong phần này tôi xin giới thiệu một giao thức đó làSIP.
II.2.1 Khái niệm
Giao thức SIP (Session Initiation Protocol) là một giao thức điều khiển ở tầng
ứng dụng có thể khởi tạo, thay đổi và kết thúc một phiên truyền thông đa phương tiệnnhư là VoIP SIP còn có thể dùng bản tin mời (INVITE) để thiết lập các phiên vàmang thông tin mô tả phiên truyền dẫn SIP hỗ trợ nhiều thành phần tham gia vào
phiên đã có như là các hội thảo multicast (cuộc gọi đa điểm) hay là cuộc gọi điểm
-điểm Các phương tiện có thể thêm vào hoặc loại bỏ khỏi phiên đang tồn tại
SIP hỗ trợ năm vấn đề thiết lập và kết thúc truyền thông đa phương tiện
- Vị trí người sử dụng: xác định hệ thống cuối sử dụng cho truyền thông, cácuser có thể di chuyển đến các vị trí khác nhau và truy cập vào hệ thống từ
xa Điều này tương tự các dịch vụ được cung cấp bởi RAS trong H.323
- Sự sẵn sàng của người sử dụng: xác định sự sẵn sàng của bên nhận tham giavào truyền thông
- Năng lực người sử dụng: xác định phương tiện và các thông số để sử dụngSIP dùng giao thức SDP để thống nhất tham số truyền thông
- Thiết lập phiên: “gọi”, thiết lập các thông số phiên gọi ở cả bên gọi và bênnhận theo báo hiệu trực tiếp hay thông qua proxy server
- Quản lý phiên gọi: bao gồm chuyển và kết thúc phiên, thay đổi các thông sốphiên và gọi các dịch vụ
II.2.2 Sự ra đời của SIP
Ngày 22/02/1996 Mark Handley và Even Schooler trình lên IETF(International Engineering Task Force) phiên bản SIP V1 (SessionInitiation Protocol Version 1)
Cùng ngày Henning Schulzrinne đệ trình lên IETF phiên bản SCIP(Simple Conference Invitation Protocol)
SIP V2 ra đời tại kỳ họp thứ 37 của IETF là sự kết hợp hai giao thức SIPV1 và SCIP lại với nhau SIP được chuẩn hóa lần đầu tiên vào tháng 3 năm
1999 trong bộ tiêu chuẩn RFC 2543 SIP được sửa đổi vào tháng 5 năm
2002 trong tiêu chuẩn RFC 3261
II.2.3 Vai trò của SIP trong VoIP
SIP không phải là hệ thống truyền thông hợp nhất SIP chỉ là một thành phần
có thể được sử dụng với các giao thức khác của IETF để tạo nên một kiến trúc đaphương tiện hoàn chỉnh, như là giao thức RTP truyền các dữ liệu thời gian thực và
Trang 17cung cấp các phản hồi QoS (Quality of Services), giao thức RTSP điều khiển việc
phân phát các dòng truyền thông, giao thức MEGACO điều khiển các gateway đếnmạng PSTN, và giao thức SDP mô tả các phiên truyền đa phương tiện Vì thế, SIPđược kết hợp với các giao thức khác để cung cấp các dịch vụ hoàn thiện đến người sửdụng Tuy nhiên, các chức năng và hoạt động chính của SIP không bị phụ thuộc vàocác giao thức khác
SIP không cung cấp dịch vụ Đúng hơn, SIP cung cấp các cơ sở để có thể thựchiện nhiều dịch vụ khác nhau Ví dụ, SIP có thể xác định vị trí người sử dụng và gởimột đối tượng dễ nhận biết đến vị trí hiện tại của anh ta Nếu điều này được sử dụngthì các điếm cuối có thể thỏa thuận về các thông số của phiên Còn nếu nó được sửdụng để gởi một hình ảnh của người gọi cũng như là các mô tả của phiên, dịch vụ
“caller ID” có thể dễ dàng được thực hiện Như ví dụ này cho thấy, một điều cơ bảnthường được sử dụng cho nhiều dịch vụ khác nhau
SIP không cung cấp các dịch vụ điền khiển hội nghị như điều khiển cuộc họphoặc biểu quyết và không quy định hội nghị được điều khiển như thế nào SIP có thểđược dùng để khởi tạo một phiên sử dụng các giao thức điều khiển hội nghị khác Mộtkhi SIP truyền thông điệp và phiên mà chúng tạo ra có thể xuyên qua các mạng khácnhau, SIP không thể cung cấp bất kỳ khả năng dành riêng tài nguyên mạng
SIP cung cấp một bộ các dịch vụ bảo mật, bao gồm bảo vệ, xác thực (cả uservới proxy và ngược lại), các dịch vụ bảo vệ toàn diện và mã hóa
SIP làm việc với cả IPv4 và IPv6
Vì thế giao thức SIP có thể ứng dụng cho nhiều hệ thống từ lớn đến nhỏ Mặc
dù việc so sánh giữa SIP và H.323 phải xét đến từng trường hợp cụ thể và chúng tacũng không thể rút ra kết luận ngay được nhưng có thể dự đoán rằng SIP sẽ là giaothức dành cho sự phát triển của thế hệ mạng trong tương lai Chúng ta sẽ so sánh SIP
và H323 cụ thể trong phần sau
II.2.4 Thành phần của SIP
Trang 18Hình 2.6: Thành phần của SIP
User Agent: Là 1 ứng dụng để khởi tạo, nhận và kết thúc cuộc gọi.
- User Agent Clients (UAC) – Khởi tạo cuộc gọi
- User Agent Server (UAS) – Nhận cuộc gọi
Cả UAC và UAS đều có thể kết thúc cuộc gọi
Proxy Server: Là 1 chương trình tức thời hoạt động vừa là client vừa là server.
Chương trình này được sử dụng để tạo ra các yêu cầu (requests) thay cho các client.Mộtproxy server đảm bảo chức năng định tuyến và thực hiện các quy tắc (policy) (ví
dụ như đảm bảo nguời dùng có được phép gọi hay không) Proxy Server có thể biêndịch khi cần thiết, sửa đổi 1 phần của bản tin yêu cầu trước khi chuyển đi
Location Server: Ðược sử dụng bởi SIP redirect hoặc proxy server để lấy
thông tin về địa điểm của người được gọi
Redirect Server: Là server nhận các yêu cầu SIP, sắp xếp các địa chỉ và trả địa
chỉ về phía client Khác với Proxy Server, Redirect server không tự khởi tạo ra cácyêu cầu SIP của riêng nó Ðồng thời nó cũng không chấp nhận hay huỷ cuộc gọi giốngnhư User Agent Server
Registrar Server: Là server chấp nhận các yêu cầu REGISTER, server này có
thể hỗ trợ thêm tính năng xác thực, đồng thời hoạt động với proxy hoặc redirect server
để đưa ra các dịch vụ khác
Trong hình trên, User Agent là thiết bị đầu cuối trong mạng SIP, có thể là mộtmáy điện thoại SIP, có thể là máy điện thoại SIP, có thể là máy tính chạy phần mềmđầu cuối SIP
II.2.5 Các bản tin của SIP
INVITE : bắt đầu thiết lập cuộc gọi bằng cách gửi bản tin mời đầu cuối kháctham gia Thông điệp này chứa các thông tin cơ bản như định danh người gọi và ngườiđược gọi…
ACK: Một phiên SIP đơn giản bắt đầu từ phương thức INVITE Khi ngườiđược gọi xác nhận rằng đã nhận lời gọi INVITE, sẽ có một thông điệp trả lời vớiphương thức ACK Thông điệp này chứa các đặc tả SDP về các thông số thiết lậpphiên truyền thông
OPTION: thông điệp được gửi để truy vấn khả năng của hai bên
BYE : bắt đầu kết thúc cuộc gọi
REGISTER: Cung cấp sự ánh xạ phân giải địa chỉ Ví dụ để server biết vị trícủa người sử dụng khác
CANCEL: Kết thúc một yêu cầu sắp xãy ra nhưng không kết thúc cuộc gọi
Trang 19INFO: Được sử dụng để mang thông tin giữa cuộc gọi INFO không được dùng
để thay đổi trạng thái của một cuộc gọi đã ổn định
Có hai loại thông điệp SIP: yêu cầu và đáp ứng, tương ứng với thông điệp UAC
(User Agent Client) gởi đến UAS (User Agent Server) và thông điệp UAS trả lời
UAC Hai thông điệp này hoàn toàn khác nhau Thông điệp yêu cầu được gởi đểthông tin cho thành phần nhận thực hiện các tác vụ cụ thể, thông điệp đáp ứng đượcgởi trả để báo cáo về kết quả thực hiện các tác vụ đó
Về cấu trúc hai thông điệp khác nhau ở dòng bắt đầu Thông điệp yêu cầu chobiết phương thức và URI mà yêu cầu được gởi đến Thông điệp đáp ứng có dòng bắtđầu chứa mã trả lời mà không có URI vì nó chỉ cần trả lại đúng địa chỉ của yêu cầu
200 OK Yêu cầu được thực thi thành công
400 Bad request Lỗi cú pháp thông điệp
401 User yêu cầu xác thực trước khi thực hiện yêu cầu này
403 Forbidden Nhận được khi cố gắng gọi một số không được chấp nhận từthuê bao của chúng ta
404 Không tìm thấy user
Trang 20Hình 2.7: Ví dụ về bản tin SIP
Một số trường mào đầu đơn giản:
Trang 21Hình 2.8: Một số trường mào đầu đơn giản
II.2.6 Một số giao thức liên quan
II.2.6.1 Giao thức SDP (Session Description Protocol)
SDP là một giao thức miêu tả phiên dùng cho phiên đa truyền thông
Mục đích của SDP là chuyển thông tin về luồng truyền thông trong phiên đatruyền thông để cho phép người nhận biết được các thành phần tham gia vào phiên.SDP được dùng chủ yếu trong mạng tương tác, tuy vậy nó cũng thích hợp cho việcmiêu tả hội nghị trong môi trường mạng khác
SDP bao gồm:
- Tên phiên và mục đích
- Thời gian phiên được kích hoạt
- Thông tin nhận được của quá trình truyền thông đó (địa chỉ, cổng, giao tiếp,định dạng …)
Tuy vậy một tài nguyên tham gia vào phiên có thể được hạn chế hoặc có thểthêm một số thông tin như là: Thông tin về băng thông được sử dụng, thông tin liênlạc với người khác
Nói chung, SDP phải mang đầy đủ thông tin để có thể kết nối đến một phiên.Thông tin truyền thông bao gồm:
- Kiểu truyền thông (video, audio, control)
- Giao thức truyền tải (RTP/UDP/IP, H.320…)
- Định dạng truyền thông (H.261 video, MPEG video…)
Các thành phần trong SDP được miêu tả thông qua các trường sau:
v = (Phiên bản giao thức)
o = (Mô tả người thiết lập phiên)
s = (Tên phiên)
c = * (Thông tin kết nối)
t = (Thời gian phiên bắt đầu kích hoạt)
m = (Tên truyền thông và địa chỉ truyền)
a = * (không có gì hoặc nhiều thuộc tính truyền thông)
- Trường v cho phiên bản của SDP.
Trang 22- Trường o cho biết thông tin khởi đầu của phiên (đây là username và địa chỉ
của máy chủ) cộng với định dạng của phiên và số phiên bản phiên
Gồm các thành phần sau:
o=<username><session id><version><network type><address type><address>
<username> là tên người đăng nhập vào máy chủ, hoặc là “-“ nếu máy chủkhông hỗ trợ nội dụng định danh người sử dụng Trường username phải có giá trị,không được là khoảng trống
<session id> là một chuỗi số mà ứng với các hình thể <username>,<sessionid>, <network type>, <address type> và <address> là một định danh độc nhất chophiên <session id> tuỳ vào công cụ tạo ra nhưng nó xuất phát từ giao thức NTP
(Network Time Protocol)
<version> và 1 chữ số phiên bản cho thông báo này Nó là cần thiết với proxythông báo để dò tìm các dịch vụ thông báo cho phiên giống nhau đã tồn tại
<network type> là một số đại diện cho kiểu mạng Khởi tạo là 1 được địnhnghĩa cho mạng Internet
<addresss type> là một số đại diên cho kiểu địa chỉ cho phép Khởi tạo là 1 choIP4 và 0 cho IP6
<address> là địa chỉ duy nhất của máy nơi phiên được tạo ra
Nói chung trường o dùng như 1 định danh tổng thể duy nhất cho phiên bản của
miêu tả phiên
- Trường s là tên phiên Tên này là duy nhất cho việc miêu tả phiên.
- Trường c chứa thông tin về dữ liệu kết nối Gồm các thành phần sau:
c = <network type><address type><connection address>
Trường đầu tiên là kiểu mạng được định nghĩa như trên
Trường thứ hai là kiểu địa chỉ cũng được định nghĩa như trên
Trường thứ ba là địa chỉ kết nối đến
- Trường t chỉ định thời gian bắt đầu và kết thúc của một phiên.
t = <start time><stop time>
- Trường m miêu tả truyền thông Gồm các thành phần sau:
m = <media><port><transport><fmt list>
Mỗi phiên truyền thông có thể chứa 1 số miêu tả
Trường đầu tiên là kiểu truyền thông.Ví dụ như "audio", "video", "application",
"data" và "control"
Trường thứ hai là cổng vận chuyển
Trang 23Trường thứ ba là giao thứ vận chuyển Giá trị phụ thuộc vào trường địa chỉ c.
- Trường a miêu tả cấu trúc của hình thể rtpmap Gồm các thành phần:
a = rtpmap:<payload type><encoding name>/<clock rate>[/<encodingparameters>]
<payload type>: kiểu payload
<encoding name> tên phương pháp mã hoá
Với luồng audio, <encoding parameters> có thể số kênh audio
Đây là thông số có thể bỏ qua nếu số kênh là một nhà cung cấp
II.2.6.2 Giao thức RTP (Realtime Transport Protocol)
Giao thức truyền thời gian thực Realtime Transport Protocol là một chuẩn
Internet để truyền các luồng thông tin giữa các thành phần tương tác trên mạng RTPcung cấp các dịch vụ về dữ liệu mang tính thời gian thực như video và audio Thôngthường các ứng dụng chạy RTP dựa trên UDP để tận dụng khả năng ghép kênh vàkiểm lỗi RTP hỗ trợ việc truyền dữ liệu đến nhiều địa chỉ đích bằng cách dùng cơ chế
multicast nếu được hỗ trợ bởi hệ thống mạng.
Giao thức RTP là một thủ tục dựa trên kỹ thuật IP tạo ra các hỗ trợ để truyềntải các dữ liệu yêu cầu thời gian thực, ví dụ như các dòng dữ liệu hình ảnh và âmthanh Các dịch vụ cung cấp bởi RTP bao gồm các cơ chế khôi phục thời gian, pháthiện các lỗi, bảo mật và xác định nội dung RTP được thiết kế chủ yếu cho việc truyền
đa đối tượng nhưng nó vẫn có thể được sử dụng để truyền cho một đối tượng RTP cóthể truyền tải một chiều như dịch vụ video theo yêu cầu cũng như các dịch vụ trao đổiqua lại như điện thoại Internet
Hoạt động của RTP được hỗ trợ bởi một thủ tục khác là RCTP để nhận cácthông tin phản hồi về chất lượng truyền dẫn và các thông tin về thành phần tham dựcác phiên hiện thời
Trang 24II.2.6 Quá trình thiết lập cuộc gọi
II.2.6.1 Địa chỉ SIP
Địa chỉ SIP tồn tại dưới dạng user@host
User: tên người dùng hoặc số điện thoại
Host: tên miền hoặc địa chỉ mạng.
Mỗi địa chỉ SIP là duy nhất
Trang 25Hình 2.9: 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 2.10: Hoạt động của Proxy server