Đặt vấn đề và định hướng giải pháp 1) Cac nhiệm vụ cần thực hiện trong đề tài 2. Cơ sở lý thuyết và công cụ sử dụng. PHÀN 2: Các kết quả đạt được 1. Phan tích yêu cầu 2.
Thiết kế hệ thống 3. Danh gia wu, nhuge diém ctia hé théng KET LUAN Két luận chung: tự đánh giá công việc làm được và chưa làm được, định hướng phát triển và hoàn thiện hệ thống trong tương lai. PHAN I: DAT VAN DE VA DINH HUONG GIAI PHAP 1 Tống quan về đề tài 1.1 Cac van dé cần giải quyết Tìm hiểu về kiến trúc của Voip Tìm hiểu về hệ điều hành Android Tìm hiểu thư viện hỗ trợ để lập trình Voip Client trên Android Chọn server để xây dựng hệ thống Dùng thư viện và server đã chọn xây dựng một hệ thống Voip co ban Bảo mật cho tài khoản khi đăng kí với server Tìm hiểu và lựa chọn giao thức vượt NAT 2 Giới thiệu tóm tắt về cơ sở lý thuyết 2.1 Giới thiệu về VOIP Trong một mạng VOIP, có 2 giao thức được sửàdựng chính .Giao thức đầu tiên là Signaling Protocol (giao thức báo hiệu): dừñ§›trông Việc Khởi tạo và quản lý các tương tác giữa cdc user session bao gdm voicesevideos instant messaging. Giao thire thir hai 1a speech transmission protocol; Siaohtre\taayemtiéng noi.
Cả hai giao thức yêu cầu tat cả các thông tin được truyền tảïÏỀtrong cắc bói. Cho tới nay có một vài chuẩn cho signaling protocols, gdm cớ3H.Còn RTP là chuẩn cho speech transmission protocol duge str dung trong céemang’ VOIP .Tin hiéu tiếng nói được số hóa, đóng gói trong các gói tin và được truyền thồng qua mang IP .Ta cần rất nhiều các gói tin mới có thê truyền tải đượềymộàâm đồn do một người phát ra .Tín hiệu voice được số hóa bằng các sử dụng.mộ:tròngcăc chuân G. DNS Server Outgoing Incoming: proxy | proxy (BomainA) (ĐomaainB) SIP User agentA@DomainA User agentB@DomainB starting the call receiving the call Figure 1: Kiến trúc của hệ thong Voip Proxy server là một thiết bị trung gian nhận SIP requếểÊtừ tuột Client và sau đó chuyển tiếp request cho tới khi tới được sip client cần tớiếProxy£seveblà thành phần quan trọng trong hệ thống VoIP, cho phép các user agentstrao.đôï\thông tin, đăng ký người dùng và quản lý trạng thái user agent .Proxy server KHÔNGìthựẻ hiện chuyên mạch điện thoại (telephone switch) .Khi proxy server thiết lập một €uộc goi (peer-to-peer), server sé không tham gia vào quá trìnhẦruYễn tầi tiếng nói .Các gói tin chứa tiếng nói được truyền trực tiếp từ một phone tới một .pRontkháè Ngoài ra còn có Registrar servér Xứ'lý các requests từ các UAC để đăng ký vi tri (ip, port) cua UAC do .RegiStrar server thường được đặt cùng với proxy server 2.1 Giới thiệu về SIP SIP là giao thức tâg)application trong mô hình OSI nó được sử đụng đề thiết lập, thay đổi, vàkếtYhúc cá©-session, SIP là giao thức thuần text (clear text) .Thiết lập các tham số vé media duge sit dung (codec, ip, port) gitta cac UA théng qua Session Description Protocol (SDP) .Giao thức SIP được thiết kế là một phần của một kiến trúc đa phương tiện bao gồm các giao thức khác như RTP, SDP .Tuy nhiên SIP không phụ thuộc vào các giao thức khác để làm viéc .Dia chi SIP giống như một địa chỉ email, ví dụ như: johndoe()sipA. Các phương thức có trong SIP gồm có: INVITE = Thiết lập phiên ACK = Xác nhận yêu cầu INVTTE BYE = Kết thúc phiên CANCEL = Hủy bỏ việc thiết lập phiên REGISTER = Trao déi thông tin địa điểm người dùng (tên may, IP) OPTIONS = Trao đối các thông tin về khả năng của các điện thoại SIP goi va nghe trong phiên Đáp úng cho các phương thức trên dưới dạng là text như trong HTML, có 6 loại Phản hồi SIP: 1xx = phản hồi thông tin, ví đụ 180, có nghĩa là đang đỗ chuông 2xx = phản hồi thành công 3xx = phán hồi chuyển hướng 4xx = yêu cầu bị thất bại 5xx = lỗi máy chủ 6xx = thất bại toàn cục 2.2 Giới thiệu về RTP Giao thức truyền tín hiệu giọng nói, hình ảnh chuân được sử đụng trêÑẾmạng Internet hiện nay là giao thức RTP (Real-time transport protoeol)R'TP được sử dụng rộng rãi trong các ứng dụng liên lạc và giải trí cần tới styéaring đữ liệu Tài liệu đặc tả của RTP mô tả hai giao thức €onì -_ Giao thức truyền dữ liệu; RTP, ¿hịu rách nghiệm truyền đữ liệu thời gian thực.
Thông tin cung cấp chồ;giầo thừc aày Bao gồm timestamps (đề đồng bộ hóa), chuỗi số (cho kiểm tra. gói;tin'bị mat) và tham số chỉ định đạng của đữ liệu. -_ Một giao thức điều khiến,\R GP) dùng đẻ tính toán các tham số trên đường truyền RTP dé téi ưu. đường truyền "Băng thông của RTCP tương đối nhỏ so voi RTP, nằm trongffthoảb 5%.
Có một vài£@huâ›só hóa)đữ liệu âm thanh và một trong số chúng được sử đụng chủ yếu trong V6IR ‘Ba‘sd\cde nha cung cấp dịch vụ và thiết bị hỗ trợ một hoặc nhiều các chuân đưa ra Bởi ITÙnhư dưới đây: e_ G.7IT là chuẩn mặc định cho tất cả các nhà cung cấp (dịch vụ và thiết bi), cũng như cho PSTN. Chuẩn này số hóa voice thành dữ liệu không nén có bitrate là 64 Kbps e G.729 được hỗ trợ bởi nhiều nhà cung cấp cho phép nén dữ liệu âm ở bitrate 8 Kbps. Chất lượng của chuẩn này kém hơn so với G.71 1, nó cũng là chuẩn phố biến thứ 2 sau G.1 là chuân nén được khuyến cáo. Bitrate của dữ liệu theo chuẩn này là 6.
Mặc dù chuẩn này làm giảm gắng nặng băng thông, nhưng chất lượng thấp hơn đáng kề so với G.729 và không được phô biến trong VolP.722 cé bitrate 64kbps nhung cé dé trung thực về tiếng nói cao. Trái với ba chuẩn trước sử dụng tần số lay mau vao khoang 3.722 lay mau với tần số 7 kHz. Chuân này sẽ được sử dụng phô biến trong tương lai. Trong mọi trường hợp, IP phone lấy đữ liệu số của 10 đến 30 ms và đặt nó trong gói tin RTP và truyền đi 2.2 Đăng ký, thiết lập cuộc gọi với SIP proxy server 2.1 Đăng ký mới: Khi User muốn sử dụng IP phone để sử dụng dịch vụ Vo[P họ phải thực hiệngbước đăng ky dia chi sip của họ với một registrar server.Registrar server cung cap cáế thông)tin về user cho location server (location database) dựa trên các request đã nHận;được từ usèr .SIP phone sử đụng phương thức REGISTER để register téi registrar Servel, Server nhận và lưu các thông tin trong request nhận được vào location database .Registrar server cO thể chấp nhận các loại thông tin khác nhau, không chỉ địa €hÌJP của'elient .Database có chứa tất cả các ánh xạ gitta dia chi SIP tong tg voi@ia chi IPcuadclient, vi du: SIP user 8590@ekiga.net dang ky 6 dia chi IP 200.Ie Figure 2: Đăng kí với Sip Server thành công Caller githSIP- REGISTER request téi SIP server .Request này bao gồm trong nó danh sách liên lạc (contact list) của user đó (danh sách các địa chỉ SIP của Caller).
SIP server yêu cầu user nhập thông tin (user ID và password) đề xác thực .SIP client mã hóa thông tin người dùng và gửi tới server .Server xác thực thông tin người dùng, nếu thành công nó trả về chuỗi 200 OK cho SIP client .Với cơ chế này client sử dụng giá trị nonce (Do server sinh ra và gửi cho client và là dãy số chỉ dùng | lần, tương tự như one time password) đề tạo ra thông tin gửi lên server. Thông tin gửi lên server gôm có checksum của username, password, giá trị nonce (username, cnonce, hash (nonce +cnonce + password)) và kêt hợp với một số giá trị khác .Theo cach nay, password ctia người dùng được gửi đi không bao giờ tồn tại đưới dang clear text và cũng không thê giải mã được ra password FI REGISTER sip: 192.193:6060; rport; branch=z9hG4bKBuZ0keykB Max-Forwards: 70 To: <sip:1000@192.193> ;tag=ImzIc5Cd Call-ID: Ne4rmYWF-1295248430029@cn.vinhnk CSeq: 1 REGISTER Contact: sip: 1000@192.193:6060;transport=UDP F2 SIP/2.193:6060,;rport=6060; br To: <sip: 1000192. 193>;tag=b27elald3376 Ie85846Jc9.193>;tag= Imzlc5 Cả Call-ID: NedrmYWF-1295248430029@en. vinh CSeq: 1 REGISTER WWW-Authenticate: Digest realm="4 1 93.", honce="TTPt WU0z7C2nK ObujoCYR89 Y¥fUgq3 YDxC" Server: kamailio (3.
Content-Length: 0 Server doi username va pa: nonce="TTPtWU0z7C2nK: 00@192. 193>;tag=bYwlyuoF` Call-ID; Ne4rmYWF-1295248430029@en.vinhnk CSeq: 2 REGISTER Contact: <sip: 1000@192.193:6060;transport=UDP> Authorization: Digest username="1000", realm="192.193", nonce="TTPtWU0z7C2nK ObujoCYR89 ¥fUg3 YDxC", uri="sip: 192.193", response= "ba7b6b7988a263cba8de358cc3eac7el" Client dùng MD5 tính checksum của password, nonce. rồi gửi response="ba7b6b7988a263cba8de358cc3eac7el" tro lai server.0 200 OK Via: SIP/2. I93:6060;rport=6060;branch=z9hG4bK2LKuGIvwn To: <sip: 1000192.
193>;tag=b27elald3376 Ie85846ƒc98/5/3a7e58.193>;tag=bYwlyuoF Call-ID: Ne4rmYWF-1295248430029@cn.vinhnk CSeq: 2 REGISTER Contact: <sip:1000@192.193:6060;transport=UDP> expires=3600 Server: kamailio (3.0 (i386/linux)) Content-Length: 0 Khi user 1000@192.193 Log out khỏi server 192.193snó tạo request: REGISTER sip: 192.193:6060;rport; branch=z9hG4bKZOmd$4hLG Max-Forwards: 70 To: <sip:1000@192.193>;tag=FLjcVEm6 Call-ID: Ne4rmYWF-1295248430029@en. vinhnk CSeq: 4 REGISTER Contact: <sip: 1000@192. 19326060,ifansport=UDP> ; expires=0 Authorization: Digest usernames 1 0004 realm=tQ2.193", nonce="TTPt+k0z7 M6Bs W/EXuH6wCI9ZHF244HG", uri="sip: 192.193", response="d18e2c81 9303{864d9b09280015267 df" Sau đó server trả về thành công: SIP/2.193:6060;rport=6060, branch=z9hG4bKZOmdS4hLG To2x<Sip: 1000@,192: 168. 193> ;tag=b27e1ald33761e85846fc98/3/3a7e58.193>;tag=FL jcVEm6 Call-ID: NedrmYWF-1295248430029@cn.vinhnk CSeq: 4 REGISTER Server: kamailio (3.
Thiết lập cuộc gọi Khi user thiết lập một cuộc gọi, một SIP request được gửi tới SIP server (một proxy server hoặc một redirect server) .Trong request này bao gồm địa chỉ của người gọi (trường From) và địa chỉ của người nhận (trường To).Khác với phương thức REGISTER, phương thức INVITE được sử dụng đề thiết lập các media session giữa các user agent .Một media session được thiết lập khi các bản tin INVTTE ,200 OK, ACK được trao đối gitta UAC va UAS .Phuong thic BYE dugc str dung boi mot trong cac UA để kết thúc media session đã được thiết lập. UAC mà khởi tạo một INVTTE request sẽ tạo ra một Call-ID duy nhất, sử dụng cho việc xác định thời gian của cuộc gọi. Biến đếm CSeq được khởi tạo (không cần giá trị phải bằng 1, nhưng phải là một số nguyên) và tăng khi có một request mới từ cùng một Call- TD. Trường To và From trong header của request là địa chỉ SIP của người nhận và người gọi.
Trường Expires trong header của một INVTTE request cho UAS biết request này có hiệu lực trong khoảng thời gian bao lâu .Một khi media session được thiết lập thì trường này sẽ không còn ý nghĩa nữa .Trường Session-Expires có thê được sử dụng đê giới hạn thời gian của mot session. | Both Way RTP |<=== = Figure: Thiết lập thành công cuộc gọi Trong phần này sẽ đi chỉ tiết về tiệcìthiết lập cuộc gọi (thiết lập sesssion) giữa hai SIP UA: 1000@192.Su trao déi théng tin vé media cua UA dvroadatttrong SDP payloads .Trong phan này, cuộc gọi được thiết lập và cuối cùnồ›yêu cầu kết thúc cuộc gọi đến từ phía 1000. PI INVITE sip: 1001@)192.193:6060;rport; branch=z9hG4bKrybFW32gj Max-Forwards: 70 To: <sip:1001@192.193>;tag=mXuZXRSC Call-ID: bdpjEqZN-1295245265337@cn.vinknk CSeq: 4 INVITE Content-Length: 218 Content-Type: application/sdp Contact: <sip:1000@192.193:6060;transport=UDP> Proxy-Authorization: Digest username="1000", realm="192.193", nonce= "TTPs/E0z39DX2sC/X:Rzl8POlpKPODIQ", uri= "sip: 1001192. 1 93", response="3e671b21b/e90c3e9c94ec63c229041c" v=0 o=userl 1782520463 2100547947 IN IP4 192.193 00 m=audio 8000 RTP/AVP 0 8 101 a=ripmap:0 PCMU/S000 a=rtpmap:8 PCMA/8000 a=rtpmap: 101 telephone-event/8000 a=sendrecv Nội dung ban tin SDP (tir doan v=0) 6 request nay ch e 000 sẽ nhận RTP audio có loại codec 1a 0, 8, 101 6 192.0 180 Ringing Via: SIP/2.
I 93:64 ainch=z9hG4bKrybFW32gj Contact: <sip:1001@192; 1632922; Pinstance=2/19/079276fe5/9> To: <sip:10 > flag=ca470244 From: <sip:1 1681033.