Truyền text sử dụng giao thức sip
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG - ĐỀ TÀI : TRUYỀN TEXT SỬ DỤNG GIAO THỨC SIP GVHD Sinh viên Mai Văn Quyết Trần Văn Tâm Nguyễn Văn Chương TS.Nguyễn Tài Hưng MSSV Lớp 20102057 ĐTVT6 20102124 ĐTVT6 20101177 ĐTVT6 Khóa 55 55 55 PHẦN I GIỚI THIỆU SIP 1.SIP SIP viết tắt cụm từ “Session Initiation Protocal”, giao thức truyền tín hiệu tầng ứng dụng (application-level) định nghĩa IETF SIP sử dụng để tạo quản lý session thông qua mạng IP Thuật ngữ “Session” phiên làm việc trình trao đổi media (voice, video,….) SIP làm việc với vài giao thức khác tầng ứng dụng để nhận dạng truyền session media Sự nhận dạng thỏa thuận media thực với Session Description Protocol (SDP) Đối với việc truyền media stream (voice, video), SIP sử dụng Real-time Transport Protocol (RTP) hay Secure Real-time Transport Protocol (SRTP) Còn bảo mật trình truyền thông điệp mã hóa Transport Layer Security (TLS) SDP sử dụng để miêu tả media session nhằm mục đích thông báo, mời gọi thỏa thuận tham số dành cho session Do đó, để tạo session, SIP message mang theo SDP mà cho phép bên tham gia đồng ý thiết lập vài thông số cần thiết để trao đổi media, loại media, địa truyền tải,… 2.SIP Addressing (địa SIP) Trong SIP, người sử dụng có SIP URI tương ứng , gọi địa SIP Có dạng sau: sip:username: sip:username:password@host:port Trong đó: - Mỗi địa SIP URI, bắt buộc phải có bổ ngữ sip: - Phần người dùng, gồm có username password, phần không bắt buộc phải có - Phần host, địa bắt buộc phải khai báo để trao đổi media session Ví dụ : sip:khang.dang@ocean.com, sip:khang:34632@112.167.4.9:2008, sip:43.67.23.12, Các thành phần SIP Các thành phần SIP bao gồm : - User Agents (UAs) - Registras - Proxies - Back-to-Back User Agents (B2BUSs) a.User Agents Một SIP User Agent (UA) bao gồm thành phần : User Agent Client (UAC) User Agent Server (UAS) - Nhiệm vụ UAC : tạo SIP request (yêu cầu) gởi cho UAS thu nhận response (phản hồi) gởi từ UAS - Nhiệm vụ UAS : nhận SIP request gởi từ UAC tạo response gởi cho UAC Lưu ý : SIP độc lập với media session SIP không dính líu với loại media session mà cần thực Ví dụ, bạn muốn tăng cường tính cho media bạn phải bổ sung thành phần tích hợp với user interface, SIP User Agent không thay đổi SIP UA phận quan trọng ứng dụng truyền media SIP UA thực nhiều cách khác nhau, là: - Một phần mềm chạy PC - Một ứng dụng mobile phone - Một trạng thái network server : gởi phản hồi tự động có yêu cầu, tự động gởi media chúc mừng sinh nhật,… b Registrar Registrar server mà chấp nhận registration request (các yêu cầu đăng ký) từ UA UA cung cấp vị trí với SIP Message truyền đến Registrar Server SIP UA cần đăng ký trước nhận gọi Khi registrar nhận registration request, đưa thông tin mà nhận vào sở liệu gọi Location Service Tức là, Registrar SIP endpoint mà nhận registration request đưa thông tin nhận request vào location service để xử lý c.Location Service Location Service sở liệu mà chứa tập danh sách ánh xạ Adresses of Record (AORs – địa công khai dành công UA) Contact Addresses (địa để xác định tên domain vị trí người dùng) Khi Registrar nhận registration request từ UA, registrar đưa thông tin nhận vào Location Service Location service liên hệ với Proxy Servcers domain xác để lấy thông tin vị trí thực gọi đến người dùng Ví dụ: Address of Record Sip:khangdang@niit.com Sip:alice@ocean.com … Contact Address Sip:khangdang@212.33.34.2 Sip:alice@217.22.45.1 … d.Proxy Server * Chức Proxy Server Internet Một số hãng công ty sử dụng proxy với mục đích: Giúp nhiều máy tính truy cập Internet thông qua máy tính với tài khoản truy cập định, máy tính gọi Proxy server Chỉ máy Proxy cần modem account truy cập internet, máy client (các máy trực thuộc) muốn truy cập internet qua máy cần nối mạng LAN tới máy Proxy truy cập địa yêu cầu Những yêu cầu người sử dụng qua trung gian proxy server thay cho server thật mà người sử dụng cần giao tiếp, điểm trung gian công ty kiểm soát giao tiếp từ công ty internet từ internet vào máy công ty Sử dụng Proxy, công ty cấm nhân viên truy cập địa web không cho phép, cải thiện tốc độ truy cập nhờ lưu trữ cục trang web nhớ proxy server giấu định danh địa mạng nội gây khó khăn cho việc thâm nhập từ bên vào máy công ty Đối với nhà cung cấp dịch vụ đường truyền internet: Do internet có nhiều lượng thông tin mà theo quan điểm quốc gia, chủng tộc hay địa phương mà nhà cung cấp dịch vụ internet khu vực phối hợp sử dụng proxy với kỹ thuật tường lửa để tạo lọc gọi firewall proxy nhằm ngăn chặn thông tin độc hại trái phong mỹ tục quốc gia, chủng tộc hay địa phương Địa website mà khách hàng yêu cầu truy cập lọc lọc này, địa không bị cấm yêu cầu khách hàng tiếp tục gửi đi, tới DNS server nhà cung cấp dịch vụ Firewall proxy lọc tất thông tin từ internet gửi vào máy khách hàng ngược lại * Chức Proxy Server SIP Tương tự chức Proxy Server Internet, Proxy Server SIP thực thể trung gian, vai trò proxy định tuyến, nghĩa bảo đảm request gởi đến người dùng Proxy Server dùng để kiểm tra, thống kê, tìm đường truyền kế tiếp, sách bắt buộc đó,… Có nhiều loại Proxy khác SIP, loại Proxy thường nhắc đến : outbound proxy inbound proxy + Outbound Proxy : Outbound Proxy giúp đỡ UA để định tuyến request từ UA Các UA thường cấu hình truyền request đến outbound proxy + Inbound Proxy : giúp định tuyến request từ proxy trực tiếp đến UA yêu cầu Khi inbound proxy nhận request yêu cầu gởi đến user, inbound proxy gởi đến Location Service để xác định contact address user đó, sau gởi trực tiếp đến user e Forking Forking SIP request có nghĩa nhiều session media thực từ request Đây tính mạnh mẽ SIP Với SIP Forking, bạn đăng ký Address of Record mà có nhiều Contact Adress location service Ví dụ: Address of Record Sip: john@ocean.com Sip: john@ocean.com Sip: john@ocean.com Contact Address Sip:john@214.25.100.2 Sip:john@198.77.51.2 Sip: john@230.2.47.5 … Khi có request gởi đến inbound proxy để thực gọi đến John, proxy tìm thấy vị trí khác đưa thuật toán để cố gắng liên lạc với John vị trí khác Có thuật toán sử dụng : +Sequential search (tìm tuần tự) : proxy cố gắng tìm vị trí, vị trí xong đến vị trí khác +Parallel search (tìm song song) : proxy tìm tất vị trí lúc f.Redirect Server Redirect Server UAS mà nhận request từ User Agent Clients tự động tạo responses gởi đến UAC Các reponses luôn hướng dẫn UAC tạo request liên lạc với tập địa thay g Back-to-Back User Agents (B2BUA) Một B2BUA thực thể vật lý (là server), nhận request, sau tính toán lại request gởi dạng request Các Response phản hồi lại request tính toán lại gởi theo hướng ngược lại Nó quản lý từ lúc bắt đầu kết thúc B2BUA sử dụng để cung cấp tính nâng cao, ví dụ dịch vụ nặc danh, ẩn thông tin người gọi… PHẦN : CÁCH HOẠT ĐỘNG CỦA GIAO THỨC SIP I Mô hình hoạt động SIP: SIP hoạt động dựa trao đổi SIP Messages SIP Message gồm phần SIP Request SIP Response SIP Request với tất SIP Response kết hợp với gọi transaction Cũng tương tự HTTP, bạn kết nối web site, trình duyệt bạn gởi HTTP request bao gồm địa trang web mà bạn muốn nhìn thấy Server chứa website nhận request tạo response bao gồm nội dung trang web hiển thị trình duyệt SIP requests User Agent Client (UAC) đến User Agent Server (UAS), SIP responses tương tự theo cách ngược lại từ UAS đến UAC 1.SIP Responses Response mã trạng thái có chữ số Số định nghĩa loại response, provisonal response, số khác gọi chung final response Giá trị 1xx 2xx 3xx Ý nghĩa Provisional Success Redirection Miêu tả Request nhận Tiếp tục xử lý request Request xử lý thành công Redirection gởi session chuyển đến địa khác 4xx Client Error Reuqest chứa cú pháp lỗi không xử lý phía server 5xx Server Error Server bị lỗi không xử lý request hợp lệ 6xx Global Failure Request không xử lý server Chữ x đại diện cho số từ 0-> Ví dụ : 100, 202,301,… Không giống HTTP, SIP, request có nhiều response Bất kỳ request phải có final repsonse có nhiều provisional responses 2.SIP Requests Có loại SIP Request thông dụng : REGISTER, INVITE, ACK, CANCEL, BYE, OPTIONS a.REGISTER Register request sử dụng User Agent để thực thủ tục đăng ký UAC xây dựng Register request bao gồm thông tin sau: - Address of Record (AOR) biểu diễn dạng SIP URI trường đầu đề To Ví dụ : To : sip:john@ocean.com To: John Wales - Vị trí người dùng (Contact Address) biễu diễn dạng SIP URI trường đầu đề Contact Ví dụ: Contact: Sip:john@214.25.100.2 Contact: John Wales < Sip:john@214.25.100.2> Ví dụ : John Wales muốn đăng ký để thực trao đổi media John phải cung cấp địa vị trí gởi đến registrar server để đăng ký Địa Registrar server biểu diễn dạng SIP URI sip:registrar.university.com.vn Trong mô hình Registrar kết hợp với location service server Khi đăng ký thành công response phản hồi mã trạng thái 200 OK Sự lưu trữ Location Server có thời gian tồn định, bạn muốn lưu trữ theo ý muốn bạn sử dụng trường tiêu đề Expires Request Register Trường Expires sử dụng tất Request để khoảng thời gian mà request hay message content hợp lệ Ví dụ: Expires : 60 (kể từ lúc đăng ký đến 60 giây) Expires: 15 Sep 2013 00:00:00 GMT (hạn dùng 15 tháng năm 2013) b.INVITE Một UAC tạo INVITE Request để khởi tạo session với UAS Request gởi trực tiếp từ UAC đến UAS hay phải qua hay nhiều proxy mà giúp định tuyến request Một UAS nhận request, tạo vài provision response để thông báo tuyến trình gọi Ví dụ, reponse có mã trạng thái 180 thông báo cho bên gọi Nếu bên gọi nhận được, final response có mã trạng thái 200 OK tạo phản hồi đến người gọi Lưu ý, SIP truyền tín hiệu bên gọi bên gọi, việc trao đổi media stream nhiệm vụ Real-time Transport Protocol (RTP) Sesson Description Protocol (SDP) – bạn đừng lo lắng, RTP SDP không khó hiểu, tìm hiểu chương sau SIP Request dính kèm theo SDP, SDP gọi “SDP offer” Ví dụ, bạn muốn trao đổi voice hay video, bên gọi bên gọi phải có codecs, bên gọi bên gọi phải cung cấp địa IP, Port để trao đổi media stream Codec, IP, Port miêu tả SDP, sau RTP có trách nhiệm truyền media stream Ví dụ, Alice muốn thực voice chat đến John, thông số kèm theo SDP: - Media types : voice - Codec : Adaptive Multirate – AMR, Pulse Code Modulation -PCM -IP Port Alice để thực voice : 23.17.32.16:4000 final response 200 OK phản hồi John nhận thành công, response chứa SDP John, SDP gọi “SDP anwser” bao gồm thông số sau: - Media types : voice - Codec : PCM (John AMR) - IP Port John để thực voice : 45.23.2.5:3000 Một INVITE request gởi đối thoại thực hiện, trường hợp bạn xem INVITE request re-INVITE Thông thường re-INVITE sử dụng để chỉnh sửa hay bổ sung thông số session tồn Ví dụ, Alice voice chat với John, lúc Alice muốn John mở webcam để thấy mặt Trong trường hợp này, Alice phải gởi INVITE đối thoại tồn để bổ sung vào SDP thành phần video SDP thay đổi sau : - Media types : voice video - codecs dành cho voice : AMR - codecs dành cho video : H.261 - IP Port Alice để thực voice : 23.17.32.16:4000 - IP Port Alice để thực video : 23.17.32.16:4001 c ACK ACK Request sử dụng để xác nhận UAC nhận final response từ INVITE request Tức là, sau UAC nhận final response, tự tạo request khác để thông báo với UAS UAC nhận final response, request gọi ACK d.CANCEL UAC tạo CANCEL request để hủy bỏ request chờ xử lý Ví dụ, Alice gọi John, UA Alice tạo INVITE requset Khi INVITE nhận UA John, gởi 180 provisional response bắt đầu thông báo đến John John không tiếp nhận gọi Alice chờ Alice định gác máy Để gác máy, Alice gởi CANCEL request đến John Khi CANCEL request tiếp nhận UA John, UA dừng chuông báo gọi hủy bỏ UA John tạo response phản hồi CANCEL request : 200 OK response (dành cho CANCEL request) 487 “Request terminated” response (dành cho INVITE request) e.BYE BYE Request sử dụng để kết thúc media session thực BYE Chỉ gởi UA tham gia media session Ví dụ, Alice John thực voice chat với nhau, lúc sau Alice (hoặc John) muốn kết thúc ,cô gởi BYE Request để kết thúc trò f.Options OPTIONS Request sử dụng để truy vấn tính thực session media UA hay Server , đồng thời khám phá tính có sẵn OPTIONS sử dụng tìm hiểu thông tin phương thức hổ trợ, codec,… PHẦN : KẾT QUẢ SIMULATIONS [...]... (dành cho INVITE request) e.BYE BYE Request được sử dụng để kết thúc 1 media session đang được thực hiện BYE Chỉ được gởi bởi các UA đang tham gia trong media session Ví dụ, Alice và John đang thực hiện voice chat với nhau, một lúc sau Alice (hoặc John) muốn kết thúc ,cô ấy gởi 1 BYE Request để kết thúc cuộc trò cuộc này f.Options OPTIONS Request được sử dụng để truy vấn về tính năng thực hiện session... 45.23.2.5:3000 Một INVITE request cũng có thể được gởi đi khi một cuộc đối thoại đang được thực hiện, trong trường hợp này bạn có thể xem INVITE request mới này là 1 re-INVITE Thông thường re-INVITE được sử dụng để chỉnh sửa hay bổ sung các thông số của 1 session đang tồn tại Ví dụ, Alice đang voice chat với John, trong lúc này Alice muốn John mở webcam để thấy mặt nhau Trong trường hợp này, Alice phải gởi 1 INVITE... trạng thái 200 OK được tạo ra và phản hồi đến người gọi Lưu ý, SIP chỉ truyền tín hiệu giữa bên gọi và bên được gọi, còn việc trao đổi media stream đó là nhiệm vụ của Real-time Transport Protocol (RTP) và Sesson Description Protocol (SDP) – các bạn đừng quá lo lắng, RTP và SDP không quá khó hiểu, chúng ta sẽ tìm hiểu nó trong những chương sau SIP Request sẽ dính kèm theo SDP, SDP này được gọi là “SDP offer”... cuộc này f.Options OPTIONS Request được sử dụng để truy vấn về tính năng thực hiện session media của 1 UA hay Server , đồng thời khám phá những tính năng có sẵn của nó OPTIONS được sử dụng khi tìm hiểu các thông tin về phương thức hổ trợ, codec,… PHẦN 3 : KẾT QUẢ SIMULATIONS ... codecs dành cho voice : AMR - codecs dành cho video : H.261 - IP và Port của Alice để thực hiện voice : 23.17.32.16:4000 - IP và Port của Alice để thực hiện video : 23.17.32.16:4001 c ACK ACK Request được sử dụng để xác nhận rằng UAC đã nhận được final response từ 1 INVITE request Tức là, sau khi UAC nhận được final response, nó sẽ tự tạo ra 1 request khác để thông báo với UAS rằng UAC đã nhận được final... video, bên gọi và bên được gọi phải có cùng codecs, bên gọi và bên được gọi cũng phải cung cấp địa chỉ IP, Port để trao đổi media stream Codec, IP, Port được miêu tả trong SDP, sau đó RTP có trách nhiệm truyền các media stream Ví dụ, Alice muốn thực hiện voice chat đến John, các thông số được kèm theo trong SDP: - Media types : voice - Codec : Adaptive Multirate – AMR, Pulse Code Modulation -PCM -IP và ...PHẦN I GIỚI THIỆU SIP 1 .SIP SIP viết tắt cụm từ “Session Initiation Protocal”, giao thức truyền tín hiệu tầng ứng dụng (application-level) định nghĩa IETF SIP sử dụng để tạo quản lý session... B2BUA sử dụng để cung cấp tính nâng cao, ví dụ dịch vụ nặc danh, ẩn thông tin người gọi… PHẦN : CÁCH HOẠT ĐỘNG CỦA GIAO THỨC SIP I Mô hình hoạt động SIP: SIP hoạt động dựa trao đổi SIP Messages SIP. .. người sử dụng qua trung gian proxy server thay cho server thật mà người sử dụng cần giao tiếp, điểm trung gian công ty kiểm soát giao tiếp từ công ty internet từ internet vào máy công ty Sử dụng