Tìm hiểu giao thức Session Initiation Protocol

27
Copyright © Wondershare Software 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 và xây dựng ứng dụng softphone

description

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. Đặt vấn đề. Lý thuyết. Session Initiation Protocol. - PowerPoint PPT Presentation

Transcript of Tìm hiểu giao thức Session Initiation Protocol

Page 1: Tìm hiểu giao thức Session Initiation Protocol

Tìm hiểu giao thức Session Initiation Protocol

Sinh viên thực hiện: Mai Tiến HảiLớp: KTMT – K51

Giáo viên hướng dẫn: ThS. Dư Thanh Bình KS. Nguyễn Hữu Nam Dương

và xây dựng ứng dụng softphone

Page 2: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Nội dung

Lý thuyết

Đặt vấn đề

Session Initiation Protocol

Xây dựng chương trình

Demo

Ngắt đàm thoại

Login

Yêu cầu đàm thoạiĐồng ý

Từ chối

Đáp ứng yêu cầu

Page 3: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Đặt vấn đề

Yêu cầu– Dễ tích hợp– Đảm bảo đảm sự riêng

Communication devices Communication services

Mục đích– Đa dạng– Dễ mở rộng– Di động

Page 4: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Ưu điểm của VoIP

VoIP

Tiết kiệm chi phí

Ứng dụng rộng rãi

Dễ triển khai

Page 5: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Các chuẩn VoIP

H.323 - ITU-T Session Initiation Protocol (SIP) - IETF

Voice Coding Methods (ITU-T G series, etc.)

Call Control/Session Initialization (H.225, H.245, SIP)

Timing (RTP)

Gateway/GatekeeperControl (GLP, MGCP)

Reliable/UnreliableTransport services (TCP/UDP)

Internet Protocol (IP)

Packet Network Infrastructure

Application Layer

Transport Layer

Network interface Layer

Network Layer

Page 6: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Session Initiation Protocol (SIP)

Được tổ chức Internet Engineering Task Force (IETF) đề xuất.

Là giao thức ở lớp ứng dụng (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).

Page 7: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Nội dung

SIP Dialog

SIP Transaction

Bản tin SIP

Page 8: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Bản tin SIP

(*): Request-Line đối với bản tin yêu cầu và Status-Line đối với bản tin đáp ứng

Page 9: Tìm hiểu giao thức Session Initiation Protocol

L o g o

SIP Transaction

User Agent Client (Alice): Tạo ra và gửi bản tin yêu cầu (INVITE).

User Agent Server (Bob): 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 (OK).

SIP Proxy: Chuyển tiếp các bản tin SIP

Page 10: Tìm hiểu giao thức Session Initiation Protocol

L o g o

SIP Dialog

Confirmed Dialog: Đối với các bản tin đáp ứng là OK (mã 200)

Early Dialog: Đối với các bản tin có mã đáp ứng là Ringing (mã 180) hoặc Trying (mã 100)

Các thuộc tính của SIP Dialog

Các giá trị của SIP Dialog

Page 11: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Xây dựng chương trình

simplecall

Ngôn ngữ và thư việnNgôn ngữ và thư viện

Chức năng chínhChức năng chính

Phân tích thiết kếPhân tích thiết kế

Kết quả đạt đượcKết quả đạt được

Page 12: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Xây dựng chương trình

Ngôn ngữJava

Thư viện NIST-SIP JRTP JSpeex Apache Log4j

Ngôn ngữJava

Thư viện NIST-SIP JRTP JSpeex Apache Log4j

Ngôn ngữ và thư việnNgôn ngữ và thư viện

Chức năng chínhChức năng chính

Phân tích thiết kếPhân tích thiết kế

Kết quả đạt đượcKết quả đạt được

Page 13: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Xây dựng chương trình

Login

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

Login

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ệnNgôn ngữ và thư viện

Chức năng chínhChức năng chính

Phân tích thiết kếPhân tích thiết kế

Kết quả đạt đượcKết quả đạt được

Page 14: Tìm hiểu giao thức Session Initiation Protocol

L o g o

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

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ệnNgôn ngữ và thư viện

Chức năng chínhChức năng chính

Phân tích thiết kếPhân tích thiết kế

Kết quả đạt đượcKết quả đạt được

Page 15: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Xây dựng chương trình

Kết quả đạt được

Phương hướng phát triển

Kết quả đạt được

Phương hướng phát triển

Ngôn ngữ và thư việnNgôn ngữ và thư viện

Chức năng chínhChức năng chính

Phân tích thiết kếPhân tích thiết kế

Kết quả đạt đượcKết quả đạt được

Page 16: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Kiến trúc của chương trình

Page 17: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Các module chính

Media module: Thu nhận và xử lý tín hiệu

âm thanh Đóng gói và gửi tín hiệu âm

thanh qua 1 riêng (media port)

Signaling module: Tạo ra và gửi các bản tin

yêu cầu và bản tin đáp ứng qua 1 cổng riêng (SIP port)

Thu nhận các bản tin cũng qua cổng này

Page 18: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Signaling module

UserAgent(SipListener)

Network (Raw Bytes)

Parser Encoder

ReqReq Res

SipStack Implementation

Tra

nsac

tion

Tra

nsac

tion

Tra

nsac

tion

Req Res

Dialog Dialog

Bản tin

Sự kiện

SipProvider

Bản tin

Sự kiện

Bản tin

Sự kiện

Page 19: Tìm hiểu giao thức Session Initiation Protocol

L o g o

TargetDataLine

Java Sound

SourceDataLine

JSpeexEncoder

JSpeex

JSpeexDecoder

Media module

RTPManagement(RtpListener)

Network (Raw Bytes)

Receiver Sender

Lệnh

Dữ liệu

Dữ liệu

Tín hiệu

Dữ liệu

Dữ liệu

Page 20: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Sơ đồ thuật toán Register

Thông tin bao gồm Username. Password. Registrar domain.

Page 21: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Sơ đồ thuật toán Invite

Thông tin đối tượng muốn gọi SIP URI

[email protected]

Page 22: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Xây dựng chương trình

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.

Kết quả đạt được

Hướng phát triển

Hoàn thiện các tính năng đã có sẵ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. Phát triển riêng một SIP Server (Location Service, Proxy,

Registrar).

Page 23: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Demo

Cửa sổ đăng nhập Cửa sổ chính Cửa sổ nhận cuộc gọi

Page 24: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Demo

Kiểm tra chương trìnhCông cụ: tracesviewer

Register Transaction

Page 25: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Demo

Kiểm tra chương trìnhCông cụ: tracesviewer

Invite Transaction

Page 26: Tìm hiểu giao thức Session Initiation Protocol

L o g o

Demo

Kiểm tra chương trìnhCông cụ: tracesviewer

Bye Transaction

Page 27: Tìm hiểu giao thức Session Initiation Protocol

L o g o