270 likes | 486 Views
và xây dựng ứng dụng softphone. Tìm hiểu giao thức Session Initiation Protocol. Sinh viên thực hiện: Mai Tiến Hải Lớp: KTMT – K51 Giáo viên hướng dẫn: ThS. Dư Thanh Bình KS. Nguyễn Hữu Nam Dương. Nội dung trình bày. 1. Đặt vấn đề. 2. Giao thức Session Initiation Protocol.
E N D
và xây dựng ứng dụng softphone Tìm hiểu giao thức Session Initiation Protocol Sinh viên thực hiện: Mai Tiến Hải Lớp: KTMT – K51 Giáo viên hướng dẫn: ThS. Dư Thanh Bình KS. Nguyễn Hữu Nam Dương
Nội dung trình bày 1. Đặt vấn đề 2. Giao thức Session Initiation Protocol Đồ án tốt nghiệp 3. Xây dựng chương trình 4. Kết luận
Đặt vấn đề Việc áp dụng công nghệ làm tăng năng suất lao động Công nghệ truyền giọng nói qua Internet Protocol (VoIP) được đánh giá là mang lại hiệu quả chỉ sau công nghệ mạng riêng ảo.
Ưu điểm của VoIP Tiết kiệm chi phí Bảo mật tốt VoIP Ứng dụng rộng rãi
Session Initiation Protocol • Được tổ chức Internet Engineering Task Force (IETF) đề xuất năm 2002. • Là giao thức ở lớp ứng dụng trong mô hình OSI (Application layer control protocol). • Giống như Hypertext Transfer Protocol (HTTP), SIP là một giao thức có kiến trúc dạng văn bản (text-based). Các chuẩn VoIP VoIP Session Initiation Protocol H.323
Chi tiết giao thức Session Initiation Protocol Bản tin Các đối tượng người dùng Giao dịch Hội thoại
Bản tin • Bản tin yêu cầu (SIP Request) • Bản tin đáp ứng (SIP Response) (*): Dòng yêu cầu (Request-Line) đối với bản tin yêu cầu và dòng trạng thái (Status-Line) đối với bản tin đáp ứng Các trường header bắt buộc: From, To, Via, Call-ID, CSeq (call sequence), Contact Giao thức Session Description Protocol (SDP) Ví dụ về cấu trúc của một bản tin SIP
Các đối tượng người dùng User Agent Client: Tạo ra và gửi bản tin yêu cầu. User Agent Server: Tiếp nhận, xử lý bản tin yêu cầu và gửi bản tin đáp ứng thích hợp. SIP Proxy: Chuyển tiếp các bản tin SIP
Giao dịch • Bắt đầu Khi một đối tượng người dùng yêu cầu (UAC) gửi bản tin yêu cầu tới người dùng được yêu cầu (UAS) • Kết thúc Khi đối tượng người dùng được yêu cầu (UAS) gửi bản tin đáp ứng tương ứng tới người dùng yêu cầu (UAC)
Hội thoại • Bao gồm Toàn bộ các giao dịch có thể có của một cuộc đàm thoại • Cụ thể Các giao dịch thông thường của một cuộc đàm thoại là: INVITE, ACK, BYE
Xây dựng chương trình Ngôn ngữ và thư viện Chức năng chính Phân tích thiết kế simplecall Kết quả
Xây dựng chương trình • Ngôn ngữ • Thư viện • NIST-SIP • JRTP • JSpeex • Apache Log4j Ngôn ngữ và thư viện Chức năng chính Phân tích thiết kế Kết quả
Xây dựng chương trình • Đăng nhập • Yêu cầu đàm thoại • (User Agent Client) • Đáp ứng yêu cầu • (User Agent Server) • Đồng ý • Từ chối • Ngắt đàm thoại Ngôn ngữ và thư viện Chức năng chính Phân tích thiết kế Kết quả
Xây dựng chương trình • Kiến trúc của chương trình • Các module chính • Sơ đồ thuật toán Ngôn ngữ và thư viện Chức năng chính Phân tích thiết kế Kết quả
Xây dựng chương trình • Kết quả thực hiện • Phương hướng phát triển Ngôn ngữ và thư viện Chức năng chính Phân tích thiết kế Kết quả
Kiến trúc của chương trình Signaling module: • Tạo ra và tiến hành trao đổi các bản tin SIP qua 1 cổng riêng (SIP port) Media module: • Thu nhận, nén tín hiệu âm thanh • Đóng gói và gửi tín hiệu âm thanh qua 1 cổng riêng (media port)
Signaling module SipStack Lệnh Hội thoại UserAgent (SipListener) Sự kiện Bản tin Sự kiện Lệnh Giao dịch Sự kiện Sự kiện Bản tin Lệnh Lớp Factory khởi tạo bản tin Phản hồi Bộ giải mã Bộ mã hóa Mạng Internet (Bytes dữ liệu)
Media module RTPManagement (RtpListener) JSpeex Java Sound Lệnh JSpeexEncoder TargetDataLine Dữ liệu Dữ liệu JSpeexDecoder SourceDataLine Dữ liệu Dữ liệu Tín hiệu Bộ nhận Bộ gửi Mạng Internet (Bytes dữ liệu)
Sơ đồ thuật toán đăng nhập • Thông tin bao gồm • Username. • Password. • Registrar domain.
Sơ đồ thuật toán yêu cầu đàm thoại • Thông tin đối tượng muốn gọi • SIP Uniform Resource Identifier • username@sipdomain.com
Sơ đồ thuật toán ngắt đàm thoại • Cuộc đàm thoại kết thúc • Người dùng có thể bắt đầu một cuộc đàm thoại mới
Kết quả • Người dùng đăng nhập để thông báo cho SIP Proxy biết địa chỉ của mình • Tiến hành yêu cầu đàm thoại với một người dùng khác • Lựa chọn đồng ý hoặc từ chối đối với yêu cầu đàm thoại nếu người dùng là đối tượng được yêu cầu • Ngắt cuộc đàm thoại tại bất cứ thời điểm nào • Chất lượng âm thanh cuộc đàm thoại: thỏa mãn tiêu chuẩn PCMU (tần số 8kHz, 1 kênh) Kiểm tra bằng công cụ tracesviewer
Kết luận Kếtquảđạtđược • Tìm hiểu cơ bản về giao thức Session Initiation Protocol. • Xây dựng được chương trình softphone (software IP phone). • Hoàn thiện một số tính năng chính của một chương trình softphone. Hướngpháttriển • Hướng tới phát triển cộng đồng. • Phát triển thêm các tính năng mở rộng (phone book, call log, …) • Tăng tính bảo mật và chất lượng cuộc gọi. • Xây dựng riêng một SIP Server (Location Service, Proxy, Registrar).