Trường Đại Học Bách Khoa Hà Nội Viện Điện Tử Viễn Thông ====o0o==== BÀI TẬP LỚN MÔN NỀN TẢNG ĐA DỊCH VỤ Đề tài 8 GIAO THỨC KHỞI TẠO PHIÊN (SIP) Giảng viên hướng dẫn TS Nguyễn Tài Hưng Học viên thực hiện Nguyễn Thành Trung MSHV CB110928 Lớp Kỹ thuật truyền thông 1 Hà Nội MỤC LỤC 1 Giới thiệu 2 2 Thành phần của SIP 3 2 1 User Agent ( UA) 3 2 2 Máy chủ mạng (Network Server ) 4 3 Các bản tin của SIP 7 4 Thiết lập và huỷ cuộc gọi SIP 10 4 1 Phiên gọi SIP giữa 2 điện thoại không qua Proxy 10 4 2 Hoạt.
Trường Đại Học Bách Khoa Hà Nội Viện Điện Tử Viễn Thơng ====o0o==== BÀI TẬP LỚN MƠN NỀN TẢNG ĐA DỊCH VỤ Đề tài 8: GIAO THỨC KHỞI TẠO PHIÊN (SIP) Giảng viên hướng dẫn Học viên thực MSHV Lớp : : : : TS Nguyễn Tài Hưng Nguyễn Thành Trung CB110928 Kỹ thuật truyền thông Hà Nội MỤC LỤC Giới thiệu .2 Thành phần SIP 2.1 User Agent ( UA) 2.2 Máy chủ mạng (Network Server ) Các tin SIP Thiết lập huỷ gọi SIP 10 4.1 Phiên gọi SIP điện thoại không qua Proxy 10 4.2 Hoạt động máy chủ uỷ quyền ( Proxy Server ) : 11 4.3 Hoạt động máy chủ chuyển đổi địa (Redirect Server): 12 Tính SIP 13 5.1 Tích hợp với giao thức có IETF 13 5.2 Đơn giản có khả mở rộng .14 5.3 Hỗ trợ tối đa di động đầu cuối 14 5.4 Dễ dàng tạo tính cho dịch vụ dịch vụ .15 Tài liệu tham khảo 16 Giới thiệu Giao thức khởi tạo phiên (Session Initiation Protocol) giao thức báo hiệu sử dụng để thiết lập phiên mạng IP, phiên đơn giản gọi điện thoại chiều, thông báo danh sách tin nhắn hội nghị sử dụng truyền thông đa chiều + SIP (Session Initiation Protocol-Giao thức khởi tạo phiên) giao thức điều khiển lớp ứng dụng mà thiết lập, chuyển đổi kết thúc phiên đa phương tiện điện thoại Internet SIP mời thành phần tham gia tới phiên tồn tại, hội thảo multicast SIP hỗ trợ suốt việc ánh xạ tên tái định hướng dịch vụ, mà hỗ trợ tính di động người SIP phát triển IETF, coi phần cấu trúc hội thảo đa phương tiện Internet, thiết kế để tương thích với giao thức khác TCP, UDP, IP, DNS…Giao thức báo hiệu cho phép hai hay nhiều đầu cuối thiết lập phiên truyền đa phương tiện Chức giao thức báo hiệu: · Xác định điểm thiết bị hay ứng dụng đầu cuối · Liên lạc tới điểm đầu cuối xác định sẵn sàng để thiết lập phiên kết nối · Trao đổi thông tin media phép phiên kết nối thành lập · Thay đổi phiên tồn · Ngắt kết nối tồn + SIP có khả mở rộng dịch vụ cung cấp thông tin trạng thái online offline Các chức bao gồm: · Công khai upload trạng thái xuất · Phân phát yêu cầu thông tin trạng thái xuất Truyền instant messages Về đặc điểm SIP có nét tương đồng với H.323 hai có khả thiết lập truyền gọi mạng internet Tuy nhiên, khác với H.323, SIP giao thức ngang hàng nên xử lý thơng tin cấu trúc mạng phức tạp, điều khơng thể có mạng ứng dụng chuẩn H.323 Tại Việt Nam, chuẩn SIP đưa vào ứng dụng dịch vụ điện thoại Internet quốc tế kể từ cuối năm 2005 Tiên phong cho ứng dụng dịch vụ Voice777 Trung tâm Viễn thông Thế hệ Việt Nam với nhiều tính vượt trội tạo nên sóng ngành viễn thơng nước nhà Năm 2006, Cơng ty Điện tốn Truyền số liệu (VDC) Saigon Postel đầu tư công nghệ đường truyền đời dịch vụ sử dụng giao thức SIP Thành phần SIP Giao thức SIP gồm hai thành phần là: + Đại lý trạm người dùng (User Agent ) + Máy chủ mạng (Network Server ) Hình 1: Cấu trúc SIP 2.1 User Agent ( UA) - User Agent ( UA) hệ thống cuối hoạt động nhân danh người dùng, User Agent phải có khả thiết lập session phương tiện với user agent khác UA bao gồm User Agent Client (UAC) khởi tạo gọi User Agent Server (UAS) trả lời gọi UAS UAC thực thể logic + UAC phần User Agent mà gửi yêu cầu nhận đáp ứng nhận + UAS phần User Agent mà nhận yêu cầu gửi đáp ứng - User Agent (UA) máy điện thoại SIP máy tính chạy phần mềm đầu cuối SIP ( Điện thoại SIP giống Điện thoại VoIP điện thoại mềm,đây điện thoại cho phép thực gọi cách sử dụng công nghệ VoIP giao thức truyền giọng nói qua Internet, điện thoại SIP chạy phần cứng giống điện thoại để bàn nhận thực gọi qua internet thay hệ thống PSTN truyền thống, điện thoại SIP chạy phần mềm Các tùy chọn cho phép máy tính sử dụng điện thoại qua tai nghe có micrơ card âm Ngồi ra, cần phải kết nối băng thơng rộng kết nối với nhà cung cấp VOIP máy chủ SIP) Các điểm cuối internet mà sử dụng SIP để tìm kiếm lẫn để điều chỉnh đặc trưng tính chất phiên gọi user agents (UA) 2.2 Máy chủ mạng (Network Server ) Máy chủ mạng bao gồm: + Máy chủ ủy quyền (Proxy server) : chương trình trung gian, hoạt động server client cho mục đích tạo yêu cầu thay mặt cho client khác Các yêu cầu phục vụ bên truyền chúng đến server khác Một proxy dịch cần thiết tạo lại tin yêu cầu SIP trước chuyển chúng đến server khác UA Trong trường hợp trường Via tin đáp ứng, yêu cầu proxy trung gian tham gia vào tiến trình xử lý yêu cầu SIP cho phép cấu thành sở hạ tầng host mạng gọi proxy servers User Agents gửi thơng tin tới proxy server Proxy servers thực thể quan trọng sở hạ tầng SIP Chúng cho phép việc định tuyến lời mời session phụ thuộc vào vị trị thời người mời, nhận thực, tính tốn vài chức quan trọng Nhiệm vụ quan trọng Proxy server định tuyến lời mời phiên tới người gọi Lời mời phiên thường để ý kỹ thiết lập proxy mà tìm proxy mà biết vị trí thực người gọi Proxy forward lời mời phiên cách trực tiếp tới người gọi mà người gọi sau chấp nhận khước từ lời mời phiên Có loại SIP Proxy servers stateless stateful - Stateless Servers Stateless server đơn giản xem người chuyển tiếp thông tin Họ chuyển tiếp thông tin cách độc lập với Mặc dù thông tin xếp theo kiểu giao dịch stateless proxies không quan tâm tới vấn đề Chúng đơn giản nhanh stateful Proxy servers Chúng sử dụng load balancer đơn giản, người dịch thông tin, định tuyến Một hạn chế stateless proxies chúng khơng có khả truyền lại thông tin thực công việc định tuyến cao cấp - Stateful servers Chúng phức tạp Trong lúc nhận yêu cầu, stateful proxies tạo trạng thái giữ giao dịch kết thúc Vì stateful proxies phải đảm bảo trạng thái suốt trình giao dịch, nên hoạt động chúng giới hạn Khả kết hợp thông tin SIP thành phiên giao dịch đưa cho stateful proxies vài đặc điểm thú vị Stateful proxies thực chia nhánh, nghĩa nhận tin nhiều tin khác gửi Stateful proxies “hấp thụ” việc truyền lại chúng biết, từ trạng thái phiên giao dịch, chúng nhận thông tin Stateful proxies thực phương pháp phức tạp để tìm user Hầu hết SIP proxies ngày stateful cấu hình chúng thường phức tạp Chúng thường thực việc tính tốn, chia nhánh, tất đặc trưng đòi hỏi stateful proxy + Máy chủ định vị (Location Server) : phần mềm định vị thuê bao, cung cấp thơng tin vị trí thuê bao bị gọi cho phần mềm máy chủ ủy quyền máy chủ chuyển đổi địa + Máy chủ chuyển đổi địa (Redirect Server): phần mềm nhận yêu cầu SIP chuyển đổi địa SIP sang số địa khác gửi lại cho đầu cuối Không giống máy chủ ủy quyền, máy chủ chuyển đổi địa không hoạt động đầu cuối, tức không gửi yêu cầu Máy chủ chuyển đổi địa không nhận huỷ gọi Là thực thể mà nhận yêu cầu gửi trả lại câu trả lời với danh sách vị trí user đặc biệt gọi redirect server Một Redirect server nhận yêu cầu tìm kiếm người nhận vùng sở liệu, sau tạo danh sách vị trí thời user gửi chúng tới người tạo u cầu Người tạo u cầu sau trích danh sách đích gửi yêu cầu khác cách trực tiếp đến chúng Khi user agent hay proxy server nhận request gửi đáp ứng response Mỗi request phải có đáp ứng trừ request ACK Các responses giống với request ngoại trừ dòng Dòng response mang theo version giao thức (SIP/2.0), mã reply (reply code)và cụm từ reason Reply code số nguyên từ 100 đến 699 để phân loại response + Máy chủ đăng ký (Register Server): phần mềm nhận yêu cầu đăng ký, nhiều trường hợp máy chủ đăng ký đảm nhiệm số chức an ninh xác nhận người sử dụng Thông thường máy chủ đăng ký cài đặt với máy chủ ủy quyền máy chủ hay địa cung cấp dịch vụ định vị thuê bao Mỗi lần đầu cuối bật lên ( ví dụ máy điện thoại phần mềm SIP) đầ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ủ địa điểm tin REGISTER gửi Nói chung đầu cuối thực việc đăng ký lại cách định kỳ Chúng ta đề cập đến SIP proxy proxy.b.com biết vị trí thời Bob khơng đề cập đến làm để học vị trí thời user User agent Bob (điện thoại SIP) phải đăng kí với một phận gọi Register Register thực thể SIP đặc biệt, chúng nhận đăng kí từ users, trích thơng tin vị trí địa IP, cổng, hay username… lưu trữ thông tin vào vùng sở liệu Mục đích vùng sở liệu ánh xạ sip:bob@b.com thành thứ tương tự sip:bob@1.2.3.4:5060 Vùng sở liệu sau sử dụng proxy server B Khi Proxy nhận lời mời cho sip:bob@b.com, tìm kiếm vùng sở liệu Nó tìm sip:bob@1.2.3.4:5060 gửi lời mời tới Registrar thực chất thực thể logic Hinh đăng kí SIP điển hình Một thơng tin đăng kí mang theo địa ghi sip:jan@iptel.org liên hệ với địa jan@1.2.3.4:5060 mà 1.2.3.4 địa IP điện thoại, gửi tới Registrar Registrar trích thơng tin lưu trữ vào vùng sở liệu Nếu chuyện thuận lợi Registrar gửi đáp ứng 200 OK tới điện thoại q trình đăng kí kết thúc Hình Tổng quan đăng kí SIP Mỗi đăng kí có vịng đời giới hạn Sự kết thúc trường header kết thúc tham số có liên quan đến trường header xác định đăng kí có hiệu lực Tác nhân user phải refresh lại đăng kí Các tin SIP + INVITE : khởi tạo phiên ( bắt đầu thiết lập gọi cách gửi tin mời đầu cuối khác tham gia) + ACK: tin khẳng định máy trạm nhận tin trả lời tin INVITE +BYE : yêu cầu kết thúc phiên +CANCEL : hủy yêu cầu nằm hàng đợi +REGISTER : đầu cuối SIP sử dụng tin để đăng ký với máy chủ đăng ký +OPTION : sử dụng để xác định lực máy chủ + INFO : sử dụng để tải thông tin âm báo DTMF + Giao thức SIP có nhiều điểm trùng hợp với giao thức HTTP Các tin trả lời tin SIP nêu gồm có : 1xx – tin chung - 100 Đang thử -180 Đang đở chuông -181 Cuộc gọi chuyển hướng -182 Đang xếp hàng đợi - 183 Phiên tiến hành 2xx – thành công - 200 OK - 202 chấp nhận: dùng để tham chiếu 3xx - chuyển địa - 300 Có nhiều lựa chọn - 301 Đã dời vĩnh viễn - 302 Đã tạm thời dời - 305 Dùng Proxy - 380 Dịch vụ thay 4xx – yêu cầu không đáp ứng - 400 Yêu cầu sai - 401 Không quyền: Chỉ sử dụng quan đăng kiểm Các proxy sử dụng yêu cầu cấp phép cho proxy 407 - 402 Yêu cầu trả tiền (Dự trữ để dùng tương lai) - 403 Cấm - 404 Không tìm thấy: Khơng tìm thấy người dùng phải - 405 Phương thức không phép - 406 Không chấp nhận - 407 Cần có cấp phép cho proxy - 408 u cầu bị hết khơng tìm thấy người dùng thời gian cho phép - 410 Đã khơng cịn: Người dùng tồn tại, khơng cịn - 413 Đơn vị u cầu lớn - 414 URI yêu cầu dài - 415 Kiểu phương tiện không hỗ trợ - 416 Giản đồ URI không hỗ trợ - 420 Phần mở rộng không đúng: sử dụng phần mở rộng giao thức SIP không đúng, máy chủ không hiểu - 421 Yêu cầu có phần mở rộng - 423 Quãng ngắn - 480 Tạm thời không hoạt động - 481 Cuộc gọi/Giao dịch không tồn - 482 Phát thấy lặp - 483 Quá nhiều chặng trung chuyển - 484 Địa khơng hồn chỉnh - 485 Tối nghĩa - 486 Đang bận - 487 Yêu cầu bị chấm dứt - 488 Không chấp nhận - 491 Yêu cầu chờ - 493 Không giải mã được: giải mã phần thân S/MIME 5xx – cố máy chủ - 500 Lỗi bên máy chủ - 501 Chưa khai báo: phương thức yêu cầu SIP chưa khai báo - 502 Gateway sai 10 - 503 Dịch vụ khơng có - 504 Máy chủ bị hết - 505 Phiên không hỗ trợ: máy chủ không hỗ trợ phiên giao thức SIP - 513 Thông điệp lớn 6xx - cố toàn mạng - 600 Tất nơi bận - 603 Từ chối - 604 Không tồn đâu - 606 Không chấp nhận + Các tin SIP có khn dạng text, tương tự HTTP Mào đầu SIP tương tự HTTP SIP hỗ trợ MIME (một số Thiết lập huỷ gọi SIP 4.1 Phiên gọi SIP điện thoại không qua Proxy 11 tin chuẩn email) Hình Mơ tả phiên gọi SIP điện thoại không qua Proxy Máy gọi gửi tín hiệu mời ( INVITE) Máy gọi gửi trả thông tin hồi đáp 100 – Thử Khi máy gọi bắt đầu đổ chng, tín hiệu hồi đáp 180 – Đổ chng gửi trả Khi bên gọi nhấc máy, máy gọi gửi tín hiệu hồi đáp 200 - OK Máy gọi hồi đáp với ACK – tiếp nhận Lúc gọi đích thực truyền dạng liệu thông qua RTP Khi người gọi dập máy, yêu cầu BYE gửi đến cho máy gọi Máy gọi phản hồi với tín hiệu 200 - OK 4.2 Hoạt động máy chủ uỷ quyền ( Proxy Server ) : Hình Mơ tả hoạt động máy chủ uỷ quyền + Client SIP userA@yahoo.com gửi tin INVITE cho userB@hotmail.com để mời tham gia gọi + Bước 1: userA@yahoo.com gửi tin INVITE cho UserB miền hotmail.com, tin đến proxy server SIP miền hotmail.com (Bản tin INVITE từ Proxy server SIP miền yahoo.com Proxy chuyển đến Proxy server miền hotmail.com) 12 + Bước 2: Proxy server miền hotmail.com tham khảo server định vị (Location server) để định vị trí UserB + Bước 3: Server định vị trả lại vị trí UserB (giả sử UserB@hotmail.com) + Bước 4: Proxy server gửi tin INVITE tới userB@hotmail.com Proxy server thêm địa trường tin INVITE + Bước 5: UAS UserB đáp ứng cho server Proxy với tin 200 OK + Bước 6: Proxy server gửi đáp ứng 200 OK trở userA@yahoo.com + Bước 7: userA@yahoo.com gửi tin ACK cho UserB thông qua proxy server + Bước 8: Proxy server chuyển tin ACK cho userB@hostmail.com + Bước 9: Sau hai bên đồng ý tham dự gọi, kênh RTP/RTCP mở hai điểm cuối để truyền tín hiệu thoại + Bước 10: Sau q trình truyền dẫn hồn tất, phiên làm việc bị xóa cách sử dụng tin BYE ACK hai điểm cuối 13 4.3 Hoạt động máy chủ chuyển đổi địa (Redirect Server): Hình Mô tả hoạt động máy chủ chuyển đổi địa Hoạt động Redirect Server trình bày hình Các bước sau: + Bước 1: Redirect server nhân yêu cầu INVITE từ người gọi (Yêu cầu từ proxy server khác) + Bước 2: Redirect server truy vấn server định vị địa B + Bước 3: Server định vị trả lại địa B cho Redirect server + Bước 4: Redirect server trả lại địa B đến người gọi A Nó khơng phát u cầu INVITE proxy server + Bước 5: User Agent bên A gửi lại tin ACK đến Redirect server để xác nhận trao đổi thành công 14 + Bước 6: Người gọi A gửi yêu cầu INVITE trực tiếp đến địa trả lại Redirect server (đến B) Người bị gọi B đáp ứng với thị thành công (200 OK), người gọi đáp trả tin ACK xác nhận Cuộc gọi thiết lập Tính SIP + SIP thiết kế phục vụ cho mục đích lâu dài điện thoại Internet hội nghị đa phương tiện Rất nhiều quan tâm tập trung vào việc phát triển SIP để đảm bảo giao thức trở thành sở cho thông tin Internet Dưới số đặc điểm bật tổng quát SIP 5.1 Tích hợp với giao thức có IETF +Các giao thức khác IETF xây dựng để xây dựng ứng dụng SIP SIP hoạt động với nhiều giao thức : - RSVP (Resource Reservation Protocol) : Giao thức giành trước tài nguyên mạng - RTP (Real-time transport Protocol) : Giao thức truyền tải thời gian thực - RTSP (Real Time Streaming Protocol) : Giao thức tạo luồng thời gian thực - SAP (Session Advertisement Protocol) : Giao thức thông báo phiên kết nối - SDP (Session Description Protocol) : Giao thức mô tả phiên kết nối đa phương tiện - MIME (Multipurpose Internet Mail Extension - Mở rộng thư tín Internet đa mục đích) : Giao thức thư điện tử - HTTP (Hypertext Transfer Protocol) : Giao thức truyền siêu văn - COPS (Common Open Policy Service) : Dịch vụ sách mở chung - OSP (Open Settlement Protocol) : Giao thức thỏa thuận mở 5.2 Đơn giản có khả mở rộng +SIP có tin, khơng có chức thừa SIP sử dụng để thiết lập phiên kết nối phức tạp hội nghị… Đơn giản, gọn nhẹ, dựa khuôn dạng văn bản, SIP giao thức đời sau khắc phục điểm yếu nhiều giao thức trước 15 Các phần mềm máy chủ ủy quyền, máy chủ đăng kí, máy chủ chuyển đổi địa chỉ, máy chủ định vị… chạy máy chủ khác việc cài đặt thêm máy chủ hồn tồn khơng ảnh hưởng đến máy chủ có Chính hệ thống chuyển mạch SIP dễ dàng nâng cấp +Simplicity (đơn giản) khơng giống giao thức khác cho Internet thoại, SIP sử dụng tin dạng text nên dễ dàng đọc Thêm vào giao thức vốn có sử dụng ví dụ HTTP Điều làm cho giao thức trở nên dễ khắc phục cố tích hợp với ứng dụng khác +Extensibility (Khả mở rộng): Người thiết kế giao thức khơng thể đốn trước tất yêu cầu cho giao thức Điều cho phép việc cải tiến mở rộng giao thức đảm bảo hoạt động nhịp nhàng với phiên cũ Thêm vào đó, tuỳ chọn khơng sử dụng bị loại bỏ để giao thức không bị cồng kềnh 5.3 Hỗ trợ tối đa di động đầu cuối Do có máy chủ ủy quyền, máy chủ đăng ký máy chủ chuyển đổi địa hệ thống ln nắm địa điểm xác thuê bao Thí dụ thuê bao với địa hsvu86@gmail.com nhận gọi thoại hay thơng điệp địa điểm qua đầu cuối máy tính để bàn, máy xách tay, điện thoại SIP + Support for Mobility (Hỗ trợ di động): Mơ hình SIP cho phép người sử dụng di chuyển từ thiết bị đầu cuối sang thiết bị đầu cuối khác mà không thiết phải loại Giao thức đưa hỗ trợ mạnh cho việc uỷ nhiệm, tái định hướng, người sử dụng tuỳ ý lựa chọn việc che dấu hay khơng vị trí thực tế họ 5.4 Dễ dàng tạo tính cho dịch vụ dịch vụ + Là giao thức khởi tạo phiên mạng chuyển mạch gói SIP cho phép tạo tính hay dịch vụ cách nhanh chóng Ngơn ngữ xử lý gọi (Call Processing Language) Giao diện cổng kết nối chung (Common Gateway Interface) số công cụ để thực điều SIP hỗ trợ dịch vụ thoại chờ gọi, chuyển tiếp gọi, khóa gọi… (call waiting, call forwarding, call 16 blocking…), hỗ trợ thông điệp thống nhất…… Với SIP nhiều dịch vụ di động hỗ trợ + Efficiency (Hiệu quả) giao thức phía SIP có ảnh hưởng nhỏ đến hiệu suất truyền thơng, chức báo hiệu sử dụng phần nhỏ băng thông so với luồng truyền thông +Flexibility (mềm dẻo): Do SIP sử dụng SDP để thoả thuận việc codec, codec sử dụng đăng kí với IANA So sánh điều với H.323, ta thấy khác biệt Bởi H.323 chuẩn codec định nghĩa rõ ràng thay đổi, chuẩn khác chia sẻ trường dành cho chuẩn không sử dụng thường xuyên + User progammabiity (khả lập tr.nh người sử dụng): Ngoài việc hỗ trợ cho điện thoại truyền thống, SIP khai thác tốt ngơn ngữ xử lý gọi (CPL) Điều cho phép người sử dụng đưa quy luật phức tạp cho server mà không cần quan tâm xem liên lạc với họ, vị trí, thời điểm, loại phương tiện truyền dẫn 17 Tài liệu tham khảo Thu thập qua Internet 2: Dương Văn Thành (2006) Chuyển mạch mềm ứng dụng mạng hệ sau (NXB_ Bưu điện ) 18 ... liệu tham khảo 16 Giới thiệu Giao thức khởi tạo phiên (Session Initiation Protocol) giao thức báo hiệu sử dụng để thiết lập phiên mạng IP, phiên đơn giản gọi điện thoại chiều, thông... Initiation Protocol -Giao thức khởi tạo phiên) giao thức điều khiển lớp ứng dụng mà thiết lập, chuyển đổi kết thúc phiên đa phương tiện điện thoại Internet SIP mời thành phần tham gia tới phiên tồn tại,... Streaming Protocol) : Giao thức tạo luồng thời gian thực - SAP (Session Advertisement Protocol) : Giao thức thông báo phiên kết nối - SDP (Session Description Protocol) : Giao thức mô tả phiên kết nối