Upload
walt
View
44
Download
0
Embed Size (px)
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
Citation preview
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
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
L o g o
Đặt vấn đề
Yêu cầu– Dễ tích hợp– Đảm bảo đảm sự riêng
tư
Communication devices Communication services
Mục đích– Đa dạng– Dễ mở rộng– Di động
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
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
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).
L o g o
Nội dung
SIP Dialog
SIP Transaction
Bản tin SIP
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
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
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
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
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
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
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
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
L o g o
Kiến trúc của chương trình
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
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
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
L o g o
Sơ đồ thuật toán Register
Thông tin bao gồm Username. Password. Registrar domain.
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).
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
L o g o
Demo
Kiểm tra chương trìnhCông cụ: tracesviewer
Register Transaction
L o g o
Demo
Kiểm tra chương trìnhCông cụ: tracesviewer
Invite Transaction
L o g o
Demo
Kiểm tra chương trìnhCông cụ: tracesviewer
Bye Transaction
L o g o