Giao thức SIP VoIP Trước đề cập đến VoIP, tiêu chuẩn quốc tế thường đề cập đến H.323 Giao thức H.323 chuẩn ITU-T phát triển cho phép truyền thông đa phương tiện qua hệ thống dựa mạng chuyển mạch gói, tập giao thức H.323 bao gồm nhiều giao thức bên H.245, H.225, Q.931 hoạt động dựa H.323 chặt chẽ phức tạp Nhưng năm trở lại giao thức SIP lại chiếm ưu thay hẳn H.323, VoIP dịch vụ phát triển tương lai I-Tổng quan SIP 1) SIP gì: SIP (Session Initiation Protcol ) giao thức báo hiệu điều khiển lớp ứng dụng dùng để thiết lập, trì, kết thúc phiên truyền thông đa phương tiện (multimedia) Các phiên multimedia bao gồm thoại Internet, hội nghị, ứng dụng tương tự có liên quan đến phương tiện truyền đạt (media) âm thanh, hình ảnh, liệu SIP sử dụng tin mời (INVITE) để thiết lập phiên để mang thông tin mô tả phiên truyền dẫn SIP hỗ trợ phiên đơn bá (unicast) quảng bá (multicast) tương ứng gọi điểm tới điểm gọi đa điểm SIP sử dụng kết hợp với chuẩn giao thức IETF khác SAP, SDP MGCP (MEGACO) để cung cấp lĩnh vực rộng cho dịch vụ VoIP Nó bao gồm yêu cầu gởi đến từ người sử dụng SIP client đến SIP server Server xử lý yêu cầu đáp ứng đến client Một thông điệp yêu cầu, với thông điệp đáp ứng tạo nên thực thi SIP 2) Các thành phần mạng SIP: SIP gồm thành phần lớn SIP client (là thiết bị hỗ trợ giao thức SIP SIP phone), SIP server (là thiết bị mạng xử lý tin SIP) Trong SIP server có thành phần quan trọng như: Proxy server, Redirect server, Location server, Registrar server + Proxy Server: thực thể mạng SIP làm nhiệm vụ chuyển tiếp SIP request tới thực thể khác mạng Như vậy, chức mạng định tuyến cho tin đến đích Proxy server cung cấp chức xác thực trước cho khai thác dịch vụ Một proxy lưu (stateful) không lưu trạng thái (stateless) tin trước Thông thường, proxy có lưu trạng thái, chúng trì trạng thái suốt transaction (khoảng 32 giây) + Redirect Server: trả tin lớp 300 để thông báo thiết bị chuyển hướng tin tới địa khác – tự liên lạc thông qua địa trả + Registrar server: server nhận tin SIP REGISTER yêu cầu cập nhật thông tin từ tin request vào “location database” nằm Location Server + Location Server: lưu thông tin trạng thái người dùng mạng SIP II-Các tin SIP, mào đầu đánh số Dưới tin SIP : INVITE : 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 : bắt đầu kết thúc gọi 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 2xx – thành công 3xx - chuyển địa 4xx – yêu cầu không đáp ứng 5xx - cố máy chủ 6xx - cố toàn mạng Các tin SIP có khuôn dạng text, tương tự HTTP Mào đầu tin SIP tương tự HTTP SIP hỗ trợ MIME (một số chuẩn email) III-Thiết lập hủy gọi SIP Trước tiên ta tìm hiểu hoạt động máy chủ ủy quyền máy chủ chuyển đổi + Hoạt động máy chủ ủy quyền (Proxy Server) Hoạt động Proxy server trình bày hình ….Client SIP userA@yahoo.com gửi tin INVITE cho userB@hotmail.com để mời tham gia gọi Các bước sau: + 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) + Bước 2: Proxy server miền hotmail.com tham khảo server định vị (Location server) để định vị trí UserB.// Từ proxy server mien hotmail.com đến location server de dinh vi vị tri hien 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 trình truyền dẫn hoà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 + Hoạt động máy chủ chuyển đổi địa (Redirect Server): 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 yê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 + 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 Ngoài SIP có mô hình hoạt động liên mạng với SS7 (đến PSTN) liên mạng với chồng giao thức H.323 IV-Tính SIP Giao thức SIP thiết kế với tiêu sau: a) 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 nhì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ở b) Đơn giản có khả mở rộng SIP có tin, 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 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ủ hoàn toà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 c) 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 nắm địa điểm xác thuê bao Thí dụ thuê bao với địa ptit@vnpt.com.vn 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… Với SIP nhiều dịch vụ di động hỗ trợ d) 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 blocking…), hỗ trợ thông điệp thống nhất… SIP công cụ hỗ trợ hấp dẫn điện thoại IP lý sau: e) Nó hoạt động vô trạng thái có trạng thái Vì vậy, hoạt động vô trang thái cung cấp mở rộng tốt server trì thông tin trạng thái gọi thực (transaction) xử lý f) Nó sử dụng nhiều dạng cú pháp giao thức chuyển siêu văn HTTP (Hypertext Transfer Protocol), vậy, cung cấp thuận lợi để hoạt động trình duyệt g) Bản tin SIP (nội dung tin) không rõ rang, cú pháp Vì vậy, mô tả theo nhiều cách Chẳng hạn, mô tả với mở rộng thư Internet đa mục đích MINE (Multipurpose Internet Mail Extension) ngôn ngữ đánh dấu mở rộng XML (Extensible Markup Language) h) Nó nhận dạng người dùng với định vị tài nguyên đồng URL (Uniform Resource Locator), vậy, cung cấp cho người dùng khả khởi tạo gọi cách nhấp vào liên kết trang web Nói chung, SIP hỗ trợ hoạt động sau: - Định vị trí người dùng - Định media cho phiên làm việc - Định sẵn sàng người dùng để tham gia vào phiên làm việc - Thiết lập gọi, chuyển gọi kết thúc Một ví dụ gọi điện hai điện thoại SIP Giao thức SIP đơn giản mô tả sau : 1- Đầu tiên : Máy gọi gửi tin INVITE đến máy gọi 2- Sau đó: Máy gọi trả lời tin 100Trying để thử 3-Khi chuông máy gọi kêu, đồng thời máy gọi gửi tin 180 Ringging cho máy gọi, máy gọi nghe thấy tiếng chuông kêu (dạng chuông định dạng riêng, không hẳn giống tiếng chuông máy gọi kêu mà ta nghe thấy được) 4-Khi máy đựoc gọi có người nhấc máy máy gọi trả lời tin 200 OK cho máy gọi 5-Máy gọi đáp trả tin ACK , đồng thời gọi thiết lâp Trong trình trao đổi thông tin hai máy thực chất trao đổi tin RTP theo giao thức RTP 6-Khi muốn kết thúc gọi Bên gọi dập máy, đồng thời tin BYE gửi đến máy gọi, máy gọi đáp trả tin 200 OK gọi thức kết thúc Liệt kê phản hồi SIP nhận biết: 1xx: Phản hồi thông tin : 2xx: Phản hồi thành công 3xx: Phản hồi chuyền hướng 4xx: Yêu câu thất bại 5xx: Lỗi máy chủ 6xx: Thất bại toàn cục cụ thể : 1xx: Phản hồi thông tin : 100: thử : máy đựợc gọi tiếp nhận yêu cầu bên gọi gửi tin mang tính chất phản hồi để thử 180: đổ chuông : Máy gọi đổ chuông, gửi tin chuông cho bên gọi 181: gọi chuyển hướng: May gọi lập trình chuyển hướng đến máy khác bận không xử lý gọi bên gọi 182 : xếp hàng đợi : chờ đợi có nhiều yêu cầu đến lúc 183: Phiên tiến hành: Có phiên gọi khác đựơc tiến hành với máy đựợc gọi 2xx: Phản hồi thành công 200 OK phản hồi thành công : dùng bên yêu cầu trả lời thành công yêu cầu bên yêu cầu: ỏ ví dụ ta dùng hai tin 200 ok Trong tin máy gọi phản hồi lại máy gọi trả lời thành công tin chuông Còn tin 200 OK thứ hai máy gọi phản hồi đến máy gọi gọi thành công gọi chấp nhận kết thúc gọi 3xx: Phản hồi chuyền hướng 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 thất bại 400: yêu cầu sai 401: không quyền: dùng với quan đăng kiểm , proxy phải dùng yêu cầu cấp phép cho proxy 407 402: yêu cầu trả tiền dự trữ để phòng tương lai: Ví dụ bạn dùng điện thoại di động, tiền tài khoản bạn gần hết, trước thiết lập gọi theo yêu cầu bạn tổng đài thêm thông báo:"Tài khoản bạn hệt , xin vui lòng nạp thêm để có thê tiếp tục sử dụng" 403: cấm 404: Không tìm thấy người dùng:"Thuê bao quý khách vừa gọi Không có, xin vui lòng thứ lạ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: yê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 , người dùng tồn không sử dụng nữa:"Thuê bao quý khách vừa gọi tạm khóa, mong quý khách vui lòng gọi lại sau" 413: Đơn vị yêu cầu lớn: "cuộc gọi thực được" 414: URI yêu cầu tải :"mạng tải" 415: kiểu phương tiện không hỗ trợ: ví dụ : tin nhắn đa phương tiện gửi đến nhận từ số máy di động không hỗ trơn GPRS 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 nên 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: gọi/giao dịch không tồn 482: phát thấy lặp 483: nhiều chặng trung tuyến 484: Địa không hoàn chỉnh 485: tối nghĩa 486: 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: giải mã : Không thể giải mã phần thân S/MIME 5xx: Lỗi 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 đựơc khai báo 502: gateway sai 503: dịch vụ 505: phiên không hỗ trợ: Máy chủ không hỗ trợ giao thức SIP 513: thông điệp lớn 6xx: Thất bại toàn cục 600: tất nơi bận 603: từ chối 604: không tồn đâu 606: Không chấp nhận