Tìm hiểu giao tiếp thiết lập phiên sip
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG - - BÁO CÁO BÀI TẬP LỚN TRUYỀN THÔNG ĐA PHƯƠNG TIỆN Giáo viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan Hà Nội, Phân công công việc Đề tài :Tì m hiể u giao thứ c thiế t lậ p phiên SIP Tìm hiểu cấu trúc SIP và cấu trúc phiên truyền thông Tìm hiểu giải pháp công nghệ SIP- Asterisk So sánh SIP với H323 Tìm hiểu và thử nghiệm công nghệ VOIP theo chuẩn khuyến nghị H323 So sánh thực nghiệm Tìm hiểu và thử nghiệm công nghệ truyền thông thoại VOIP dựa SIP So sánh thực nghiệm Mục lục Tìm hiểu cấu trúc SIP và cấu trúc phiên truyền thông 2.1 Đặc điểm giao thức SIP SIP, từ viết tắt Session Initiation Protocol (Giao thức khởi tạo phiên) là một giao thức báo hiệu điều khiển lớp ứng dụng dùng để thiết lập, trì và giải phóng các cuộc gọi các phiên truyền thông đa phương tiện (multimedia) Các phiên multimedia bao gồm điện thoại hội nghị, điện thoại internet các ứng dụng tương tự có liên quan đến các phương tiện truyền đạt (media) âm thanh, hình ảnh, liệu SIP nghiên cứu từ năm 1996 nhóm IETF RFC 3261 SIP hỗ trợ các phiên đơn bá (unicast) và quảng bá (multicast) tương ứng các cuộc gọi điểm tới điểm và cuộc gọi đa điểm SIP dựa ý tưởng và cấu trúc HTTP(Hyper Text Transfer Protocol)-giao thức trao đổi thông tin World Wide Web Nó là giao thức Client-Server, nghĩa là các yêu cầu SIP Client đưa và Server trả lời các yêu cầu này SIP dựa giao thức mô tả phiên SDP(Session Description Protocol), một tiêu chuẩn khác IETF,để thực sự xếp tương tự theo cấu chuyển đổi dung lượng H.245 SDP dùng để nhận diện mã tổng đài cuộc gọi sử dụng mô tả nguyên đơn SDP sử dụng để chuyển đổi các phần tử thông tin giao thức báo hiệu thời gian thực RTSP để xếp các tham số hội nghị đa điểm và định nghĩa khuôn dạng chung cho nhiều loại thông tin chuyển SIP SIP sử dụng chủ yếu UDP, hoạt động IPv4, IPv6 Để thực chức điều khiển phiên,thiết lập phiên truyền thông SIP sử dụng phương thức sau: • • • • • User location (định vị người dùng): Xác định vị trí người sử dụng hay gọi là dịch tên (name translation), dùng để xác định người gọi và đảm bảo cuộc gọi đến người nhận dù họ đâu User availability (tính khả dụng người dùng): Xác định trạng thái và tính sẵn sang thuê bao bị gọi để thiết lập đường truyền User capabilities (các khả người dùng): Xác định phương tiện và các thông số sử dụng Call setup (thiết lập cuộc gọi): Thiết lập cuộc gọi, thực việc rung chuông và thiết lập các thông số phiên cho thuê bao chủ gọi và thuê bao bị gọi Call handing (xử lý cuộc gọi): Tạo, kết thúc và sửa đổi phiên 2.2 Các tính giao thức SIP SIP là một giao thức điều khiển lớp ứng dụng mà có thể thiết lập, sửa đổi và kết thúc các phiên truyền thông đa phương tiện (các hội nghị) hay các cuộc gọi điện thoại qua internet, SIP có thể mời các thành viên tham gia vào các phiên truyền thông đơn hướng đa hướng; bên khởi tạo phiên không thiết phải là thành viên phiên Phương tiện và các thành viên có thể bổ sung vào một phiên tồn Bản thân SIP không định nghĩa toàn bộ giao thức truyền thông, SIP tích hợp với các giao thức có tổ chức IETF, nhờ có khả mở rộng, hỗ trợ đầu cuối và với SIP thì việc cung cấp dịch vụ mới trở nên dễ dàng và nhanh chóng triển khai SIP có tính mở rộng sau : - Tích hợp với các giao thức có IETF Đơn giản và có khả mở rộng Hỗ trợ tối đa sự di động đầu cuối Dễ dàng tạo tính mới cho dịch vụ và dịch vụ mới Khả liên kết hoạt đông với mạng điện thoại 2.2.1 Tích hợp với giao thức có IETF Các giao thức khác IETF có thể xây dựng để xây dựng ứng dụng SIP SIP có thể 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ở 2.2.2 Đơn giản và có khả mở rộng SIP có tin, các chức thừa SIP có thể 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 là giao thức đời sau và 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ị… có thể chạy các máy chủ khác và việc cài đặt thêm máy chủ hoàn toàn không ảnh hưởng đến các máy chủ có Chính vì thế hệ thống chuyển mạch SIP có thể dễ dàng nâng cấp 2.2.3 Hỗ trợ tối đa di động đầu cuối Do có máy chủ ủy quyền, máy chủ đăng ký và 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 có thể nhận cuộc gọi thoại hay thông điệp bất cứ địa điểm nào qua bất cứ đầu cuối nào 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 mới hỗ trợ 2.2.4 Dễ dàng tạo tính cho dịch vụ 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 mới hay dịch vụ mới một cách nhanh chóng Ngôn ngữ xử lý cuộc gọi (Call Processing Language) và Giao diện cổng kết nối chung (Common Gateway Interface) là một số công cụ để thực điều này SIP hỗ trợ các dịch vụ thoại chờ cuộc gọi, chuyển tiếp cuộc gọi, khóa cuộc gọi… (call waiting, call forwarding, call blocking…), hỗ trợ thông điệp thống nhất… 2.3 Kiến trúc phân lớp Hình 1: Khung giao thức truyền thông thời gian thực SIP SIP có thể mô tả một kiến trúc phân lớp các hoạt động chia thành giai đoạn xử lý độc lập và liên quan đến nhau: • • • • Lớp là lớp giao dịch người dử dụng TU (Transaction User layer) Ngoại trừ Stateless Proxy thì phần tử SIP là một TU tức là đối tượng giao dịch lớp giao dịch Các yêu cầu gửi TU coi là các Client tầng giao dịch và gửi với địa IP, địa port đến đích trả lời yêu cầu Tiếp theo là lớp giao dịch Transaction layer và là thành phần SIP Mỗi giao dịch là một yêu cầu và các trả lời cho yêu cầu Lớp này làm nhiệm vụ gửi và nhận các thông điệp SIP một cách tin cậy, SIP chạy một giao thức chuyển vận không tin cậy UDP, lớp này phát lại các thông điệp tùy thuộc vào các trạng thái hạn chế Lớp này xuất UA và các Stateful Proxy Với các Proxy này, xử lý một yêu cầu xét đến trạng thái các yêu cầu trước và nếu có lỗi thì xử lý lỗi trước gửi trả lời đến Client Ngược lại, Stateless Proxy trả lời các yêu cầu một cách độc lập và không chứa lớp giao dịch Bên dưới là lớp giao vận Transport layer Giao thức SIP có thể chạy nhiều giao thức chuyển vận không tin cậy (như UDP) tin cậy (TCP,SCTP) các giao thức bảo mật (TLS TCP) Tất các phần tử SIP chứa lớp giao vận Thấp kiến trúc này là lớp lệnh và mã hóa lệnh 2.4 Cấu trúc hệ thống SIP 2.4.1 Các thành phần cấu trúc hệ thống SIP Hình 2: Các thành phần hệ thống SIP Kiến trúc gồm thành phần bản: User Agent (UA) và Network Server (NS) • UA (User Agent) gồm UAS và UAC - UAS (User Agent Server): Server nhận, xử lý các yêu cầu - UAC (User Agent Client): Client người dùng, sinh các yêu cầu UAC khởi tạo cuộc gọi và UAS trả lời cuộc gọi Nhưng UAC và UAS có thể giải phóng cuộc gọi Điều này cho phép thực cuộc gọi ngang hàng thông qua mô hình client-server • NS (Network Server) - PS (Proxy Server): là thực thể trung gian thực các yêu cầu thay mặt các đầu cuối khác Chức mạng là nhận và xử lý các yêu cầu sau định tuyến cho các tin đến đích Proxy server cung cấp các chức xác thực trước cho khai thác dịch vụ Một proxy có thể 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) - RS (Redirect Server): là một server, server này tiếp nhận các yêu cầu, ánh xạ địa SIP bên gọi thành địa (nếu địa chỉ) thành các địa mới và gửi các địa này cho client Redirect server không gửi các yêu cầu đến server khác - LS (Location Server): là server định vị thuê bao, cung cấp thông tin vị trí phía bị gọi cho các phần mềm Proxy Server hay Redirect Server Nó lưu thông tin trạng thái người dùng mạng SIP - RG (Registrar Server): Là server nhận tin SIP REGISTER và cập nhật các thông tin mà UA cung cấp từ tin Register(địa IP, port…) vào location database Trong nhiều trường hợp Registrar Server đảm nhiệm một số chức an ninh xác thực người sử dụng Thông thường Registrar Server cài đặt với Proxy Redirect Server cung cấp dịch vụ định vị thuê bao Mỗi lần đầu cuối bật lên (máy điện thoại phần mềm SIP) thì đầu cuối lại đăng ký với Server Nếu đầu cuối cần thông báo cho Server địa điểm mình thì tin REGISTER gửi Nói chung các đầu cuối thực việc đăng ký lại một cách định kỳ 2.5 Thông điệp SIP 2.5.1 Các tin SIP Bản tin SIP chia làm hai loại: Bản tin yêu cầu từ Client tới Server và tin đáp ứng từ Server trả lời cho Client: SIP-message = Request/Response a) Bản tin yêu cầu (Request) Bản tin Request có khuôn dạng gồm phần : Requset-line và phần mào đầu-header (với loại Header) Request=Request-line *(General-header/Request-header/Entity-header) CLRF [message-body] Trong thành phần Request-line chứa tên phương thức, một Request-URI và số phiên giao thức Các thành phần ngăn cách với một khoảng trắng (SP) Cũng các dòng khác, dòng khởi đầu kết thúc một ký tự xuống dòng (CRLF) Request-line= Method SP Request-URI SP SIP-Version Trong đó: - Method (Phương thức SIP): SIP định nghĩa phương thức sau INVITE : bắt đầu thiết lập cuộc gọi cách gửi tin mời đầu cuối khác tham gia vào một phiên hội thoại ACK : Sauk hi nhân trả lời 200 OK phía bị gọi sẵn sang tham gia hội thoại bên gọi cần xác nhận trả lời cách gửi một yêu cầu ACK BYE : UAC sử dụng phương thức này để thông báo cho Server muốn giải phóng cuộc gọi CANCEL : dùng để hủy bỏ một yêu cầu trước xử lý Server tiếp nhận yêu cầu REGISTER : đầu cuối SIP sử dụng tin này để đă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 các thông tin âm báo DTMF Request-URI: Trường Request-URI có khuôn dạng theo SIP URL Nó thông báo cho User dịch vụ địa Khác với trường “To”, Request-URI có thể ghi lại Proxy(trường hợp máy phục vụ ủy quyền) - SIP Version: Phiên SIP là các SIP đưa các lần khác Cả hai tin Request và Response chứa phiên SIP sử dụng SIP Version Hiện phiên SIP là 2.0 b) Bản tin phúc đáp (Response) - Sau nhận và thông dịch một tin yêu cầu, phía nhận thực trả lời một tin phúc đáp Khuôn dạng tin gồm phần bản: Status-line và phần mào đầu header(với loại header): Response=Status-line *(General-header/Response-header/Entity-header) CLRF [message-body] Trong thành phần Status-line có cấu trúc sau: (SP là ký tự phân cách): Status-line = SIP-Version SP status code SP Reason-phrase - SIP Version: Cũng giống tin Request - Status-code: Status-code kết việc cố gắng thực và mức độ thỏa mãn yêu cầu, mục đích sử dụng cho Server Status-code gồm digit, digit định nghĩa loại đáp ứng, hai digit sau vai trò phân loại SIP 2.0 định nghĩa giá trị digit sau: • 1xx : Provisional: yêu cầu nhận và tiếp tục xử lý • 2xx : Success: thành công, hành động chấp nhận Trả lời 200 OK: Cho biết yêu cầu thực thành công Nội dung thông tin kèm tin trả lời tùy thuộc và phương thức yêu cầu • 3xx : Redirect: xác định lại, một số hành động khác cần thực hiên thêm để hoàn tất yêu cầu • 4xx : Client Error: có lỗi Client, yêu cầu bị lỗi cú pháp gửi sai server Trả lời 4xx là các thông báo lỗi từ một Server cụ thể Khi nhận trả lời này Client bắt buộc phải thay đổi phần nào tin yêu cầu trước gửi lại đến Server • 5xx : Server Error: yêu cầu hợp lệ Server bị quá tải không thể đáp ứng • 6xx : Global Failure: lỗi toàn cục, xảy sự cố toàn mạng và yêu cầu không thể đáp ứng server nào 100 Continue 180 Ringing 200 OK 300 Multiple choices 301 Moved permanently 302 Moved temporarily 400 Bad request 401 Unauthorized 403 Forbidden - 408 Request time-out 480 Unavaiable 481 Call-leg/Transaction does not exist 482 Loop detected 5xx Server error 600 Busy 603 Decline 604 Does not exist 606 Not acceptable Reason-Phrase: dùng cho user để đưa một lời giải thích ngắn gọn cho Status-code Client không thể yêu cầu hiển thị hay kiểm tra Reason-phrase 2.5.2 Định dạng địa SIP Địa SIP có định dạng: sip: user@domain user: tên số điện thoại domain: tên miền địa IP Ví dụ: SIP: duongnq@vnpt.com.vn SIP: 84986055600@192.168.130.162 10 3.5.1.3 Card giao tiếp với PSTN Muốn cho phép các máy điện thoại nội bộ hệ thống Asterisk kết nối và thực cuộc gọi với mạng PSTN, cần phải có thiết bị phần cứng tương thích Thiết bị phần cứng sử dụng cho hệ thống Asterisk tác giả lập công ty Digium phân phối, xuất phát từ ý tưởng phân phối phần mềm Asterisk và hệ thống nguồn mở miễn phí Thiết bị phần cứng thường ký hiệu bắt đầu cụm từ TDMxyB x là số lượng port FXS, y là số lượng port FXO Giá trị tối đa x và y là 3.5.2 • • • • • Các chuẩn nén và định dạng file Một bộ nén và giải nén (codec: compressor/decompressor) sử dụng để nén tín hiệu thoại tương tự thành luồng liệu số hay giải nén liệu thành tín hiệu tương tự Asterisk có thể hoạt động với nhiều định dạng file và chuẩn nén khác Bới vì là một phần mềm với cấu trúc mở nên dễ dàng hoạt động với các định dạng file và codec thêm vào Có hai chuẩn nén PCM 64kbps phổ biến, luật A và luật u Cả hai điều sử dụng nén logarit để đạt 12 đến 13 bit cho việc nén tuyến tính bit Nén logarit làm giảm các tần số cao hay âm lượng lớn Luật A tốt việc nén tín hiệu mức thấp và có tỉ số nén tín hiệu nhiễu tốt Luật u thường sử dụng Bắc Mỹ, luật A thường sử dụng châu Âu Các chuẩn nén gồm có: Thêm vào đó, các chuẩn nén khác G.723.1 và G.729 có thể qua một cách suốt Thông thường, người ta sử dụng bộ nén và giải nén luật A, luật u hay tuyến tính cho băng DTMF Hầu hết các chuẩn nén có độ mát liệu tương đối lớn truyền fax Các định dạng file: Asterisk sử dụng nhiều file khác để lưu trữ liệu âm bao gồm voicemail và music on hold Asterisk hỗ trợ nhiều định dạng file và file âm khác Các định dạng hỗ trợ bao gồm: Định dạng Raw PCM Vox Wav WAV Gsm G723 Mô tả liệu 16 bit tuyến tính liệu bit luật u liệu bit IMA-ADPCM file WAV tuyến tính 16 bit KHz file WAV nén GSM 8bit KHz liệu nén GSM định dạng g723 đơn giản với nhãn 22 thời gian Thư mục /etc/asterisk /usr/sbin /usr/lib/asterisk /usr/include/asterisk /var/lib/asterisk /usr/lib/asterisk/agi-bin /usr/lib/asterisk/astdb /usr/lib/asterisk/images /usr/lib/asterisk/keys /usr/lib/asterisk/mohmp3 /usr/lib/asterisk/sounds • 3.5.3 Mô tả Tất các file cấu hình ngoại trừ /ect/zaptel.conf Các đoạn mã và file thực thi Asterisk bao gồm asterisk, astman,astman, astgenkey và safe_asterisk Các đối tượng nhị phân riêng cấu trúc Asterisk Các module thời gian thực cho các ứng dụng, điều khiển kênh, bộ nén và giải nén, định dạng file Các file mào đầu cần thiết cho xây dụng ứng dụng Asterisk, điều khiển kênh và các module hoạt động Chứa biến sử dụng Asterisk suốt quá trình hoạt động bình thường Các đoạn mã AGI dùng ứng dụng dial plan AGI CSDL Asterisk lưu trữ các thông tin cấu hình File này không thay đổi người sử dụng được, mà có thể thay đổi câu lệnh CSDL Asterisk: thêm vào và sửa file này Các hình tham chiếu các ứng dụng hay dial plan Các khóa chung riêng sử dụng Asterisk cho xác thực RSA IAX sử dụng chìa khóa lưu trữ Các file MP3 sử dụng cho chức music on hold Chứa file âm thành, cảnh báo… Hệ thống quản lý file Asterisk: File cấu hình 3.5.3.1 Giới thiệu Sự linh động Asterisk điều khiển thông qua các file cấu hình chứa thư mục /etc/asterisk ngọai trừ file zaptel.conf cấu hình cho phần cứng TDM nằm thư mục /etc Định dạng các file cấu hình Asterisk tương tự với dạng file ini (trong Window) File này định dạng theo mã ASCII chia thành nhiều phần (sections) Các nội dung sau dấu chấm phẩy là thích file cấu hình Các dòng trắng, khoảng trắng ý nghĩa file cấu hình Các phép gán sử dụng: “=” dùng để gán các biến, “=>”để gán các đối tượng 3.5.3.2 Các kiểu file cấu hình Mặc dù các file cấu hình Asterisk có định dạng giống nhau, chúng phân làm kiểu thường sử dụng 3.5.3.2.1 Simple Group Simple Group là dạng đơn giản sử dụng các file cấu hình mà đối tượng có ý nghĩa dòng 23 [mysection] object1 => option1a, option2a, option3a object2 => option1ba, option2b, option3b Ví dụ: Tương ứng với object1 là các đối tượng option1a, option2a, option3a Còn object2 gán cho các đối tượng option1b, option2b, option3a Cấu hình này thường sử dụng các file: extensions.conf, meetme.conf, voicemail.conf… 3.5.3.2.2 Inherited option object: Kiểu cấu hình này thường sử dụng các file: zapata.conf, phone.conf, mgcp.conf Trong kiểu cấu hình này, các dòng phía dưới thừa kế các thông số các dòng 3.5.3.2.3 Channel interfaces: Asterick có thể cấu hình với nhiều mục đích khác nhau, mô hình thông thường là Client/Server Mô hình này cho phép các client – hay gọi là UAC – user agent client kết nối vào server là Asterisk – hay gọi là UAS – User Agent Server Các UAC là nơi sinh các session UAS thì xử lý thụ động các session nhận dựa tập hợp rule có sẳn Phần IV rỏ các dạng ứng dụng này Ta có thể cấu hình Asterisk console mode, có một cách tiện lợi là edit trực tiếp các file cấu hình /etc/asterisk Mổi ứng dụng riêng Asterisk voicemail, zaptel, music-on-hold, meetme, conference, iax … có configuration riêng mình, nhiên có file cấu hình quan trọng là sip.conf và extension.conf Sip.conf : file cấu hình các thông tin các UAC username, password, IP, type, security, codec, là thành phần lưu giử thông tin Asterisk Extension.conf: file cấu hình các luật định tuyến cuộc gọi, luật quay số, các extension ngoài và tính đặc biệt khác Extensions.conf là file quan trọng cấu hình Asterisk nào 3.5.4 Dialplan Asterisk Dialplan là trái tim thật sự bất kì hệ thống Asterisk nào, định nghĩ Asterisk xử lý các cuộc gọi đến và thế nào Một cách ngắn gọn, chứa danh sách các lệnh các bước mà Asterisk theo Không giống hệ thông điện thoại truyền thống, dialplan Asterisk có thể tùy biến hoàn toàn Để hiểu và cài đặt hệ thống Asterisk thành công, điều thiết yếu là phải hiểu dialplan Trong phần này, ta bước xây dựng nên một dialplan đơn giản và phát triển 3.5.4.1 Dialplan Syntax Dialplan Asterisk đặc tả file cấu hình “extensions.conf” Dialplan tạo thành từ phần chính: contex, extensions, priorities và application Các thành phần này làm việc với để tạo nên một dialplan 24 3.5.4.2 Contexts Dialplan chia thành các phần gọi là context Context tách biệt các nhóm thuê bao Nó giữ cho các thành phần khác không tác động lẫn nhau, extension định nghĩa context hoàn toàn tách biệt với bất kì extension nào context khác, trừ việc tương tác chúng đặc biệt cho phép Lấy một ví dụ đơn giản để dễ hiểu, giả sử công ty chia một Asterisk Server Khi đặt menu voice công ty context công ty đó, có sự cách biệt rõ ràng chúng với nhau, hai gọi extension thì chuyện gọi này là độc lập công ty, một sự liên hệ nào Context định cách đặt tên context vào dấu ngoặc vuông Tên context có thể là kí tự từ a f z, f9, - và _ Ví dụ:[outcommingcall] Tất các dẫn đặt sau là các phần context cho tới context tiếp theo định nghĩa Trong phần đầu dialplan đó, có context đặc biệt là [general] và [globals] Một công dụng quan trọng context là thực thi bảo mật Bằng cách sử dụng context xác, có thể giúp cho caller A có thể truy cập vào các dịch vụ, đặc tính mà các caller khác Nếu hệ thống không xây dựng một cách cẩn thận, có thể bị gian lân, sử dụng lậu người khác Điều này là đặc biệt nghiêm trọng Hệ thống Asterisk chứa file SECURITY quan trọng, phát thảo các bước thực để giúp cho hệ thống an toàn Từ chối các cảnh báo này có thể “giúp” cho nhiều người có thể truy cập và gọi các cuộc gọi đường dài, mà chi phí là phải chịu 3.6 Kết luận Tổng đài Asterisk với nhiều ưu điểm nhiều doanh nghiệp triển khai ứng dụng Asterisk đem đến cho người sử dụng tất các tính và ứng dụng hệ thống tổng đài PBX và cung cấp nhiều tính mà tổng đài PBX thông thường So sánh SIP với H323 Những người đề xuất SIP cho H323 xuất báo hiệu ATM và ISDN là không thích hợp cho điều khiển hệ thống VoIP nói chung và thoại Internet nói riêng.H323 khẳng định là phức tạp, hỗ trợ các chức phần lớn là không cần thiết cho thoại IP đòi hỏi chi phí cao và không hiệu quả.Ví dụ H323 xác định phương pháp khác để phối hợp hoạt động H225 và H245, với các kết nối khác nhau,H245 ngang qua kết nối H255 và tiến hành phương pháp “kết nối nhanh” giao thức tích hợp.Mặc dù hầu hết các khả thực hỗ trợ cho các kết nối nhanh,tính tương thích H323 liên quan đến yêu cầu hỗ trợ phương pháp.Đồng thời, họ cho H323 khả mở rộng yêu cầu đối với giao thức báo hiệu cho công nghệ chẳng hạn VoIP, là công nghệ chắn phát triển và hỗ trợ các dịch vụ và đặc tính mới 25 Giữa H323 và SIP có nhiều điểm tương đồng Cả cho phép điều khiển, thiết lập và hủy bỏ cuộc gọi.Cả H323 và SIP hỗ trợ tất các dịch vụ cần thiết Tuy nhiên có một số điểm riêng khác biệt chuẩn này: • • • H323 hỗ trợ hội nghị đa phương tiện phức tạp.Hội nghị H323 nguyên tắc có thể cho phép các thành viên sử dụng dịch vụ bảng thông báo, trao đổi liệu, hội nghị Video SIP hỗ trợ SIP-CGI(SIP-Common Gateway Interface) và CPL (Call Processing Language) SIP hỗ trợ điều khiển cuộc gọi từ đầu cuối thứ Hiện H323 nâng cấp để hỗ trợ chức này Bảng sau thể cụ thể điểm khác SIP và H323: Đặc điểm so sánh Tổ chức Quan hệ kết nối Khởi điểm Đầu cuối Các Server lõi Tình hình Khuôn dạng tin Trễ thiết lập cuộc gọi Giám sát trạng thái cuộc gọi Báo hiệu quảng bá Chất lượng dịch vụ Bảo mật Định vị đầu cuối SIP IETF Ngang cấp Dựa mạng Internet và Web Cú pháp và tin tương tự HTTP,SMTP Đầu cuối thông minh SIP SIP proxy, redirect, location và registration servers Giai đoạn thử nghiệm khả hoạt động các thiết bị bị kết thúc SIP nhanh chóng trở nên phổ biến Text, UTF-8 1.5 RTT(Round-trip time), tức là chu kì nhận tin trả lời hay xác nhận Có lựa chọn: thời gian thiết lập cuộc gọi suốt thời gian cuộc gọi Có hỗ trợ Sử dụng các giao thức khác RSVP,OSP,OPS để đảm bảo chất lượng dịch vụ Đăng ký Registrar Server, có xác nhận đầu cuối và mã hóa Dùng SIP URL để đánh địa Định tuyến nhờ sử dụng Redirect và Location Server 26 H323 ITU Ngang cấp Cơ sở là mạng thoại Giao thức báo hiệu tuân theo chuẩn ISDN Q.SIG Đầu cuối thông minh H323 H323 Gatekeeper Đã sử dụng rộng rãi Nhị phân ASN.1 PER 6-7 RTT Phiên và 2: máy chủ phải giám sát suốt thời gian cuộc gọi và phải giữ trạng thái kết nối TCP hạn chế khả mở rộng và giảm độ tin cậy Không hỗ trợ Gatekeeper điều khiển băng thong RSVP để lưu trữ tài nguyên mạng Chỉ đăng kí mạng có Gatekeeper,xác nhận và mã hóa theo chuẩn H235 Định vị đầu cuối sử dụng E164 tên ảo H323 và phương pháp ánh xạ địa nếu mạng có Tính thoại Hội nghị Tạo tính và dịch vụ mới Khả mở rộng Tích hợp với Web Dễ dàng sử dụng SIP-CGI và CPL Gatekeeper.Chức định tuyến Gatekeeper đảm nhiệm Hỗ trợ các tính cuộc gọi Được thiết kế để hỗ trợ nhiều tính hội nghị, hình ảnh và liệu tập trung MC có thể tắc nghẽn H.405.1 Dễ dàng Rất tốt,hỗ trợ click-to-dial Hạn chế Kém Hỗ trợ các tính cuộc gọi thoại Hội nghị sở, quản lý phân tán Tìm hiểu công nghệ và thử nghiệm VOIP theo chuẩn khuyến nghị H323 5.1 Mô gọi H.323 qua Gnugk Các bước chuẩn bị: Cài đặt GNUGK Linux: Chúng ta sử dụng hệ điều hành CentOS làm Linux để cài Gnugk và các gói phụ trợ H323plus, Ptlib… Cài đặt PTlib: # wget http://www.h323plus.org/source/download/ptlib-2.10.1.tar.bz2 # tar xvfj ptlib-2.10.1.tar.bz2 # cd ptlib-2.10.1 # /configure # make && make install # cd Cài đặt H323plus: #wget http://www.h323plus.org/source/download/h323plus-v1_23_0.tar.gz # tar xvfz h323plus-v1_23_0.tar.gz # cd h323plus 27 # /configure # make && make install # cd Cài đặt GNUGK : #wget http://prdownloads.sourceforge.net/openh323gk/gnugk-2.2.6.tar.gz -directory-prefix=/root #cd /root #tar xzvf gnugk-2.2.6.tar.gz #cd /gnugk #make clean #./configure #make opt Cấu hình file gatekeeper.ini: Phần quan trọng việc chuẩn bị này là cấu hình file gatekeeper.ini nhằm điểu khiển các cuộc gọi qua gatekeeper [Gatekeeper::Main] FortyTwo=42 Name=GnuGk TimeToLive=600 ; change this to or 2, if you want CDRs and RAS messages to be printed on the status port StatusTraceLevel=2 ; restrict access to the status port by an IP address [GkStatus::Auth] rule=explicit ; add more entries, if you access the status port from other hosts 127.0.0.1=allow default=forbid Shutdown=allow [RoutedMode] ; enable gatekeeper signaling routed mode, route H.245 channel only if neccessary (for NATed endpoints) GKRouted=1 H245Routed=0 CallSignalPort=1720 AcceptUnregisteredCalls=0 DropCallsByReleaseComplete=1 28 SupportNATedEndpoints=1 ; proxy calls only for NATed endpoints [Proxy] Enable=0 ; if port forwarding is correctly configured for each endpoint, you can disable ProxyForNAT ProxyForNAT=1 ProxyForSameNAT=0 [RoutingPolicy] default=explicit,internal,srv,dns 29 Cài đặt Softphone máy, chúng em dùng H.323phone Cấu hình softphone theo hình sau: 5.2 Kịch thực nghiệm PC cài đặt sẵn softphone và cấu hình tài khoản tên anh1 và anh2 kết nối tới gatekeeper cài đặt để thực cuộc gọi cho Trong suốt quá trình thực cuộc gọi, sử dụng phần mềm wireshark để bắt các gói tin gửi mạng 30 5.3 Kết thực nghiệm Người ta chia một cuộc gọi làm giai đoạn: Giai đoạn - Thiết lập cuộc gọi Tài khoản anh2 gọi tới anh Lúc này dùng wireshark bắt các gói tin giao thức H.225 dùng để điều khiển thiết lập kênh truyền Trong có gửi các yêu cầu đến gnugk để yêu cầu thiết lập kết nối đến máy mang userid anh1 Ở máy anh1 có chuông báo Giai đoạn - Thiết lập kênh truyền thông ảo Sau máy anh1 nhận cuộc gói thì thiết lập mộ kênh truyền thông ảo sử dụng giao thức H.225 31 Giai đoạn 3: Truyền tải liệu âm Sau thiết lập kênh truyền thông ảo máy truyền liệu âm thoại với theo giao thức RTP Ở có thể thấy liệu nén theo chuẩn nén G.711 Giai đoạn - kết thúc cuộc gọi Khi một máy bấm kết thúc cuộc gọi thì gửi một tin theo giao thức H.225 đến gatekeeper Sau gatekeeper gửi các tin kết thúc cuộc gọi theo giao thức H.225 đến các máy để kết thúc cuộc gọi 32 Tìm hiểu và thử nghiệm công nghệ truyền thông thoại VOIP dựa SIP 6.1 Kịch thực nghiệm Thực cuộc gọi SIP: PC – PC mạng LAN sử dụng phần mềm Asterisk Tên Server Asterisk PC1 PC2 PC gọi PC2 và PC2 trả lời, sau nói chuyện và PC2 bấm kết thúc cuộc gọi Sử dụng phần mềm Wireshark để xem xét các gói tin 6.2 Thực hiện và xem xét gói tin PC1 gọi PC2 PC1 gửi tới server Asterisk thông điệp INVITE với thuê bao cần gọi là 102 Server gửi lại cho PC1 thông điệp 100 Trying Sau Server chuyển giúp thông điệp INVITE đến thuê bao 102 33 IP 192.168.60.129 192.168.60.130 :tb 10 192.168.60.128 :tb 10 Ở server Asterisk đóng vai trò redirect server chuyển địa thuê bao thành địa IP Nó là localtion server xác định vị trí máy đích Sau đóng vai trò proxy server thay đầu cuối định tuyến gói tin tới đích PC2 thông qua Asterisk server báo lại cho PC1 chuông reo: 180 Ringing Sau PC2 bấm nhận cuộc gọi, gửi cho server thông báo nhận ACK 200, server chuyển lại cho PC1 Sau quá trình thiết lập phiên này, PC sử dụng giao thức RTP để chuyển nội dung thoại Ta thấy các thông tin chuẩn nén âm G.711 Mỗi nhãn thời gian cách 160µs Khi máy PC2 bấm nút ngừng softphone PC2 gửi gói tin với thông điệp BYE cho server Phía server báo nhận 200 OK cho PC2 Sau server mời PC1 vào một phiên mới Và cuối server gửi thông điệp BYE cho PC1 PC1 gửi thông điệp 200 OK 34 So sánh thực nghiệm SIP với thực nghiệm H323 Thành phần: SIP có các server Proxy, Location, Redirect, Registrar để thực các nhiệm vụ thiết lập, quản lý kết nối H.323 sử dụng gatekeeper để đăng ký thiết bị đầu cuối, phân giải địa chỉ, kiểm soát đăng nhập, xác thực người dùng… Chồng giao thức: • SIP sử dụng giao thức TCP UTP để giao dịch Nếu TCP sử dụng, các đáp ứng và yêu cầu một sự giao dịch đơn lẻ mang một kết nối TCP Nhiều yêu cầu SIP từ một client đến một server có thể sử dụng kết nối TCP có thể sử dụng một kết nối mới cho yêu cầu Nếu client gởi yêu cầu sử dụng UDP, đáp ứng gửi đến địa định nghĩa trường tiêu đề yêu cầu Trong trường hợp thực nghiệm này sử dụng UDP • o Khi truyền liệu thoại thì SIP sử dụng giao thức RTP Chồng giao thức H.323: Hình ảnh Âm Điều khiển H261 H.263 (mã hóa video) G.711 G.712 G.723 G.728 G.729 H225 Báo hiệu từ kết cuối tới Gatekeeper RTP RTP RTCP Dữ liệu H.225 Tín hiệu cuộc gọi RTCP Chuyển tải không tin cậy (UDP) Chuyển tải tin cậy (TCP) Hoạt động: 35 H.245 T.120 Chuyển liệu đa điểm Ở SIP các quá trình tạo phiên, quản lý, kiểm soát phiên thực thông qua server (Client Server) Còn phiên diễn ra, thông tin trao đổi trực tiếp các client (Peer - Peer) Tương tự H.323 thì các quá trình thiết lập, quản lý, kiểm soát kết nối đểu thực qua server Khi máy kết nối với thì thông tin trao đổi trực tiếp các máy 36 [...]... thông điệp bản tin SIP 11 2.6 Thiết lập và hủy cuộc gọi SIP 12 2.6.1 Hoạt động của Proxy Server - Hoạt động của Proxy server được trình bày như trong hình ….Client SIP userA@yahoo.com gửi bản tin INVITE cho userB@hotmail.com để mời tham gia cuộc gọi Các bước như sau: Bước 1: userA@yahoo.com gửi bản tin INVITE cho UserB ở miền hotmail.com, bản tin này đến proxy server SIP của miền hotmail.com... sử dụng SIP trong cấu trúc IMS Mặc dù ra đời và xuất hiện ở các sản phẩm thương mại sau H.323, nhưng SIP đã trở thành giao thức báo hiệu được sử dụng rộng rãi nhất cho các dịch vụ VoIP MSF đã phát triển mở rộng của SIP cho dịch vụ này trên nền mạng NGN theo cấu trúc điều khiển Call Server Mở rộng này được trình bày trong một loạt các hiệp định thực thi của MSF [6-14] 3 Tìm hiểu giải... 34 7 So sánh thực nghiệm SIP với thực nghiệm H323 Thành phần: SIP có các server như Proxy, Location, Redirect, Registrar để thực hiện các nhiệm vụ thiết lập, quản lý kết nối còn H.323 sử dụng gatekeeper để đăng ký thiết bị đầu cuối, phân giải địa chỉ, kiểm soát đăng nhập, xác thực người dùng… Chồng giao thức: • SIP sử dụng giao thức TCP hoặc UTP để giao dịch Nếu TCP được sử... lập Ngoài ra SIP còn có các mô hình hoạt động liên mạng với SS7 (đến PSTN) hoặc là liên mạng với chồng giao thức H.323 2.7 Các ứng dụng thực tế của SIP 2.7.1 Các ứng dụng thương mại Do được phát triển từ các giao thức Internet như HTTP và SMTP, các nhà phát triển trên môi trường Internet có thể nhanh chóng tạo ra và đưa vào sử dụng các dịch vụ mới dựa trên SIP Ví dụ điển... những dịch vụ như bảng thông báo, trao đổi dữ liệu, hoặc hội nghị Video SIP hỗ trợ SIP- CGI (SIP- Common Gateway Interface) và CPL (Call Processing Language) SIP hỗ trợ điều khiển cuộc gọi từ đầu cuối thứ 3 Hiện nay H323 đang được nâng cấp để hỗ trợ chức năng này Bảng sau thể hiện cụ thể hơn những điểm khác nhau giữa SIP và H323: Đặc điểm so sánh Tổ chức Quan hệ kết nối Khởi điểm Đầu... thanh thoại với nhau theo giao thức RTP Ở đây chúng ta có thể thấy được dữ liệu được nén theo chuẩn nén G.711 Giai đoạn 4 - kết thúc cuộc gọi Khi một máy bấm kết thúc cuộc gọi thì sẽ gửi một bản tin theo giao thức H.225 đến gatekeeper Sau đó gatekeeper sẽ gửi các bản tin kết thúc cuộc gọi cũng theo giao thức H.225 đến các máy để kết thúc cuộc gọi 32 6 Tìm hiểu và thử nghiệm công... Nortel, eCONF 2.7.2 Ứng dụng của SIP trong mạng NGN SIP rất được chú ý và ngày càng được sử dụng rộng rãi trong các kiến trúc của mạng NGN Tháng 11 năm 2000, SIP được chấp nhận như một giao thức báo hiệu của 3GPP và trở thành một thành phần chính thức của cấu trúc IMS Cần phải chú ý rằng, khi sử dụng trong một môi trường cụ thể (ví dụ như IMS), SIP không còn được giữ nguyên như... sử dụng giao thức RTP Chồng giao thức H.323: Hình ảnh Âm thanh Điều khiển H261 H.263 (mã hóa video) G.711 G.712 G.723 G.728 G.729 H225 Báo hiệu từ kết cuối tới Gatekeeper RTP RTP RTCP Dữ liệu H.225 Tín hiệu cuộc gọi RTCP Chuyển tải không tin cậy (UDP) Chuyển tải tin cậy (TCP) Hoạt động: 35 H.245 T.120 Chuyển dữ liệu đa điểm Ở SIP các quá trình tạo phiên, quản lý, kiểm soát phiên đều... thái cuộc gọi Báo hiệu quảng bá Chất lượng dịch vụ Bảo mật Định vị đầu cuối SIP IETF Ngang cấp Dựa trên mạng Internet và Web Cú pháp và bản tin tương tự HTTP,SMTP Đầu cuối thông minh SIP SIP proxy, redirect, location và registration servers Giai đoạn thử nghiệm khả năng hoạt động của các thiết bị đã bị kết thúc SIP nhanh chóng trở nên phổ biến Text, UTF-8 1.5 RTT(Round-trip time), tức... VoIP -SIP 3.5.1 Các thiết bị dùng trong VoIP -SIP 3.5.1.1 VoIP phone Là thiết bị phần cứng kết nối với VoIP giống như máy điện thoại cố định thông thường Tuy nhiên để sử dụng cho VoIP cần phải cấu hình trước khi sử dụng Một số tính năng khi thực hiện mua thiết bị điện thoại VoIP: - Low Bandwidth: hỗ trợ cho loại Codec nào, thường hiện nay người ta sử dụng G729 Web Interface: phải có giao