Đăng ký Đăng nhập
Trang chủ Tìm hiểu hệ thống VoIP trên Asterisk...

Tài liệu Tìm hiểu hệ thống VoIP trên Asterisk

.PDF
39
172
129

Mô tả:

Tìm hiểu hệ thống VoIP trên Asterisk
Tìm hiểu hệ thống VoIP trên Asterisk Mục lục CHƢƠNG I: GIỚI THIỆU VỀ MẠNG VOIP .......................................................................... 4 1.1 Giới thiệu về VoIP ...................................................................................................... 4 1.2 Ƣu điểm của VoIP ....................................................................................................... 5 1.3 Nhƣợc điểm của VoIP ................................................................................................. 7 1.4 Các chuẩn thoại dùng trong VoIP ............................................................................... 7 1.5 Các tổ chức phát triển VoIP ........................................................................................ 7 CHƢƠNG II: T NG QUAN VỀ GIAO TH C SIP ................................................................ 9 2.1 Tổng quan về giao thức khởi tạo phiên SIP ................................................................ 9 2.2 Cấu trúc của SIP ........................................................................................................ 10 2.2.1 Các thành phần của SIP ..................................................................................... 10 2.2.1.1 Địa chỉ của SIP ............................................................................................... 11 2.2.1.2 Định vị server SIP .......................................................................................... 11 2.2.1.3 Định vị ngƣời dùng ........................................................................................ 12 2.2.1.4 Thay đổi một phiên đang tồn tại..................................................................... 12 2.2.1.5 Các bản tin của SIP ........................................................................................ 12 2.2.1.6 Tiêu đề bản tin ................................................................................................ 13 2.2.1.7 Bản tin yêu cầu ............................................................................................... 14 2.2.1.8 Bản tin đáp ứng .............................................................................................. 15 2.2.1.9 Thiết lập và hủy cuộc gọi SIP ........................................................................ 17 2.2.1.10 Liên vận giữa SIP và SS7 ........................................................................... 20 a. Thiết lập cuộc gọi cơ bản giữa SIP và PSTN .................................................... 20 b. Định hƣớng cuộc gọi SIP ................................................................................... 21 2.2.1.11 Tính năng của SIP....................................................................................... 22 CHƢƠNG III: GIỚI THIỆU BA PHẦN MỀM 3.1 NG DỤNG VOIP ...................................... 24 Asterisk...................................................................................................................... 24 3.1.1 Giới thiệu về phần mềm Asterisk ...................................................................... 24 3.1.2 Tính năng và lợi ích của Asterisk ...................................................................... 24 3.2 OpenSIP .................................................................................................................... 25 3.2.1 Khái niệm OpenSIPS ......................................................................................... 25 3.2.2 Tính năng và lợi ích của OpenSIPS ................................................................... 25 Nhóm 1-Đ07VTA1 Page 1 Tìm hiểu hệ thống VoIP trên Asterisk 3.2.3 3.3 Kết luận .............................................................................................................. 27 Kamailio .................................................................................................................... 27 CHƢƠNG IV: TRIỂN KHAI HỆ THỐNG ASTERISK ......................................................... 29 4.1 Giới thiệu chung ........................................................................................................ 29 4.2 Kết nối phần cứng ..................................................................................................... 29 4.3 Cài đặt phần mềm ...................................................................................................... 30 4.4 Thực hiện cuộc gọi VoIP, bắt và phân tích gói ......................................................... 32 4.4.1 Khởi tạo phiên .................................................................................................... 32 4.4.2 Quá trình đàm thoại ........................................................................................... 33 4.4.3 Kết thúc phiên: ................................................................................................... 36 CHƢƠNG V: KẾT LUẬN ...................................................................................................... 37 Hạn chế và hƣớng phát triển của đề tài .................................................................................... 37 - Hạn chế của đề tài .............................................................................................. 37 - Hƣớng phát triển của đề tài ................................................................................ 37 DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU Hình 2-1: Vị trí của SIP trong mô hình OSI. ............................................................................. 9 Hình 2-2: Các thành phần của SIP ........................................................................................... 10 Hình 2-3: Hoạt động Proxy Server .......................................................................................... 17 Hình 2-4: Hoạt động của Redirect Server. ............................................................................... 18 Hình 2-5: Thiết lập và hủy cuộc gọi SIP. ................................................................................ 19 Hình 2-6: Thiết lập cuộc gọi cơ bản giữa SIP và PSTN. ......................................................... 20 Hình 2-7: Định hƣớng cuộc gọi SIP. ....................................................................................... 21 Hình 2-8: OpenSIPS trong VoIP ............................................................................................. 25 Hình 4-1: Các thiết bị trong hệ thống Asterisk ........................................................................ 29 Hình 4-2: Giao diện hệ điều hành ............................................................................................ 30 Hình 4-3: Giao diện của freepbx .............................................................................................. 31 Hình 4-4: Giao diện của phần mềm X Lite .............................................................................. 31 Hình 4-5: Cấu trúc khung của gói tin RTP .............................................................................. 33 Hình 4-6: Gói tin thứ 49 .......................................................................................................... 34 Bảng 2-1: Các tiêu đề bản tin .................................................................................................. 13 Bảng 2-2: Giải thích một số tiêu đề chính của SIP .................................................................. 14 Bảng 2-3: Các bản tin yêu cầu của SIP. ................................................................................... 15 Bảng 2-4: Các loại bản tin đáp ứng của SIP. ........................................................................... 15 Bảng 2-5: Một số mã trạng thái đƣợc định nghĩa trong SIP ................................................... 17 Nhóm 1-Đ07VTA1 Page 2 Tìm hiểu hệ thống VoIP trên Asterisk Lới mở đầu Trong những năm gần đây, chúng ta đã nghe nói nhiều về VoIP nhƣ là một công nghệ mang tính cách mạng trong việc truyền tín hiệu thoại qua môi trƣờng Internet. Cùng với sự bùng nổ Internet, VoIP cũng đã có những bƣớc phát triển dài, ngày càng hoàn thiện về công nghệ, chất lƣợng ổn định, tích hợp đƣợc truyền thông đa phƣơng tiện và rất cạnh tranh về giá cƣớc. Nhiều hệ thống VoIP đã ra đời và đƣợc triển khai rộng khắp. Vì vậy việc nghiên cứu và nắm bắt các công nghệ về VoIP đang rất đƣợc quan tâm. Trong quá trình tìm hiểu về VoIP, nhóm 1-Đ07VTA1 đã quyết định chọn đề tài “Tìm hiểu hệ thống VoIP trên Asterisk”, nội dung đƣợc trình bày trong 5 chƣơng: Chƣơng I: Tìm hiểu khái quát về công nghệ truyền thoại trên nền internet (VoIP). Qua đó chúng ta có thể tổng quát hình dung về VoIP là gì, cách thức họat động của nó ra sao và ƣu nhƣợc điểm của công nghệ này. Chƣơng II: Tìm hiểu một trong những giao thức báo hiệu quan trọng trong VoIP là giao thức báo hiệu SIP Đây là một trong những giao thức của VoIP đƣợc sử dụng rộng rãi và SIP cũng chính là giao thức báo hiệu sử dụng trong chƣơng trình ứng dụng Asterisk đƣợc trình bày ở các chƣơng tiếp theo. Chƣơng III: Đề xuất 3 giải pháp VoIP, so sánh các giải pháp và quyết định giải pháp triển khai ở chƣơng IV Chƣơng IV : Triển khai VoIP trên hệ thống Asterisk, các bƣớc thiết lập phần cứng, cài đặt phần mềm, thực hiện cuộc gọi, bắt và phân tích các gói tin. Chƣơng V: Kết luận, hạn chế, hƣớng phát triển của đề tài. Trong quá trình làm đề tại, dù đã cố gắng song do kiến thức hạn chế nên không thể tránh khỏi những thiếu sót. Chúng em rất mong nhận đƣợc sự góp ý, hƣớng dẫn giúp đỡ của Thầy Cô, bạn bè. Chúng em xin chân thành cảm ơn Tp. Hồ Chí Minh, tháng 6 năm 2011 Nhóm thực hiện Nhóm 1 –Đ07VTA1 Nhóm 1-Đ07VTA1 Page 3 Tìm hiểu hệ thống VoIP trên Asterisk CHƢƠNG I: GIỚI THIỆU VỀ MẠNG VOIP Internet Voice, đƣợc biết nhƣ thoại qua giao thức (Voice Over IP), là một công nghệ cho phép tạo cuộc gọi dùng kết nối băng thông rộng thay vì dùng đƣờng dây điện thoại tƣơng tự (analog). Nhiều dịch vụ dùng Voice over IP có thể chỉ cho phép bạn gọi ngƣời khác dùng cùng loại dịch vụ, tuy nhiên cũng có những dịch vụ cho phép gọi dùng số điện thoại nhƣ số nội bộ, đƣờng dài, di động, quốc tế. Những dịch vụ chỉ làm việc qua máy tính, hay loại điện thoại qua IP (IP phone) đặc biệt. Vài dịch vụ cho phép dùng điện thoại truyền thống qua một bộ điều hợp (adaptor) 1.1 Giới thiệu về VoIP 1.1.1 VoIP là gì Voice over Internet Protocol (VoIP) là một công nghệ cho phép truyền thoại sử dụng giao thức mạng IP, trên cơ sở hạ tầng sẵn có của mạng Internet. VoIP là một trong những công nghệ viễn thông đang đƣợc quan tâm nhất hiện nay không chỉ đối với nhà khai thác, các nhà sản xuất mà còn cả với ngƣời sử dụng dịch vụ. VoIP cho phép thực hiện cuộc gọi dùng máy tính qua mạng dữ liệu nhƣ Internet VoIP chuyển đổi tín hiệu thoại từ điện thoại tƣơng tự analog vào tín hiệu số (digital) trƣớc khi truyền qua Internet, sau đó chuyển đổi ngƣợc lại ở đầu nhận. Khi tạo một cuộc gọi VoIP dùng điện thoại với một bộ điều hợp, ta sẽ nghe âm mời gọi, quay số sau tiến trình này VoIP cũng cho phép tạo một cuộc gọi trực tiếp từ máy tính dùng loại điện thoại tƣơng ứng hay dùng microphone. VoIP cho phép tạo cuộc gọi đƣờng dài qua mạng dữ liệu IP có sẵn thay vì phải đƣợc truyền qua mạng PSTN (Public Switched Telephone Network). Ngày nay nhiều công ty đã thực hiện giải pháp VoIP của họ để giảm chi phí cho những cuộc gọi đƣờng dài giữa nhiều chi nhánh xa nhau. Trƣớc đây, khi dựa vào giao tiếp thoại trên mạng PSTN. Trong suốt cuộc gọi giữa hai địa điểm, đƣờng kết nối đƣợc dành riêng cho bên thực hiện cuộc gọi. Không có thông tin khác có thể truyền qua đƣờng truyền này, cho dù vẫn còn thừa lƣợng băng thông sẵn dùng Sau đó với sự xuất hiện của mạng giao tiếp dữ liệu, nhiều công ty đã đầu tƣ cho mạng giao tiếp dữ liệu để chia sẽ thông tin với nhau, trong khi đó thoại và fax vẫn tiếp tục sử dụng mạng PSTN. Nhƣng ngày nay điều này không còn là vấn đề nữa, với sự phát triển nhanh chóng và sử dụng rộng rãi của IP, chúng ta đã tiến rất xa trong khả năng giảm chi phí trong việc hỗ trợ truyền thoại và dữ liệu. Giải pháp tích hợp thoại vào mạng dữ liệu, và cùng hoạt động bên cạnh hệ thống PBX hiện tại hay những thiết bị điện thoại khác, để đơn giản cho việc mở rộng khả năng thoại cho những vị trí ở xa. Lƣu lƣợng thoại thực chất sẽ đƣợc mang tự do (free) bên trên mạng dữ liệu thông qua cơ sở hạ tầng và thiết bị phần cứng có sẵn Mặc dù những khái niệm về VoIP là đơn giản, nhƣng để thực hiên và ứng dụng VoIP là phức tạp Để gởi voice, thông tin phải đƣợc tách biệt thành những gói Nhóm 1-Đ07VTA1 Page 4 Tìm hiểu hệ thống VoIP trên Asterisk (packet) giống nhƣ dữ liệu. Gói là những phần thông tin đƣợc chia nhỏ để dễ dàng cho việc gởi gói, cũng có thể dùng kĩ thuật nén gói để tiết kiệm băng thông, thông qua những tiến trình codec (compressor/de-compressor). Có rất nhiều loại giao thức dùng thực hiện dịch vụ VoIP, những giao thức báo hiệu VoIP phổ biến SIP và H323. Cả SIP và H323 đều cho phép ngƣời dùng thực hiện cùng công việc: thiết lập giao tiếp cho những ứng dụng đa phƣơng tiện (multimedia) nhƣ audio, video, những giao tiếp dữ liệu khác Nhƣng H323 chủ yếu đƣợc thiết kế cho những dịch vụ đa phƣơng tiện, trong khi SIP thì phù hợp cho những dịch vụ VoIP. RTP (Real-time Transport Protocol) định nghĩa định dạng chuẩn của gói tin cho việc phân phối audio và video qua Internet. 1.1.2 Phƣơng thức hoạt động Khi nói vào ống nghe hay microphone, giọng nói sẽ tạo ra tín hiệu điện từ, đó là những tín hiệu analog. Tín hiệu analog đƣợc chuyển sang tín hiệu số dùng thuật toán đặc biệt để chuyển đổi. Những thiết bị khác nhau có cách chuyển đổi khác nhau nhƣ VoIP phone hay softphone, nếu dùng điện thoại analog thông thƣờng thì cần một Telephony Adapter (TA) Sau đó giọng nói đƣợc số hóa sẽ đƣợc đóng vào gói tin và gởi trên mạng IP. Trong suốt tiến trình một giao thức nhƣ SIP hay H323 sẽ đƣợc dùng để điểu khiển (control) cuộc gọi nhƣ là thiết lập, quay số, ngắt kết nối… và RTP thì đƣợc dùng cho tính năng đảm bảo độ tin cậy và duy trì chất lƣợng dịch vụ trong quá trình truyền. 1.2 Ƣu điểm của VoIP 1.2.1 Đa dạng tính năng – Hiệu quả kinh tế cao Tất cả tính năng, ứng dụng thông tin liên lạc mới hiện đã có mặt trên thế giới viễn thông hội tụ đều hỗ trợ nền tảng mạng IP. Tất cả tính năng này có sẵn mà không đòi hỏi thêm bất kỳ chi phí đầu tƣ nào bởi vì chúng hoạt động trên nền tảng mạng IP và đƣợc "vận chuyển" trên mạng máy tính y nhƣ các ứng dụng máy tính thông thƣờng. 1.2.2 Tiết kiệm chi phí đầu tƣ VoIP Hệ thống IP Telephony và VoIP để hỗ trợ tốt hơn cho công việc kinh doanh. Nếu doanh nghiệp đã trang bị thiết bị kỹ thuật số (nhƣ tổng đài PBX), thì có thể tiết kiệm đƣợc đáng kể chi phí đầu tƣ bằng cách tái sử dụng hầu hết các thiết bị này với hệ thống VoIP mới. 1.2.3 Dễ bảo trì Việc cài đặt và quản lý hệ thống IP Telephony và VoIP trở nên dễ dàng hơn Với hệ thống IP Telephony thì mạng VoIP sẽ tự động tự điều chỉnh để tƣơng thích với vị trí mới của ngƣời dùng. Nhà quản lý hệ thống có thể từ bất kỳ máy tính nối mạng nào tiến hành kiểm tra, thiết lập mục đích sử dụng, tài khoản và nhiều dữ liệu khác cho ngƣời dùng. Với hệ thống viễn thông nền IP, công việc quản lý và bảo trì mạng điện thoại trở nên kinh tế và hiệu quả hơn Nhóm 1-Đ07VTA1 Page 5 Tìm hiểu hệ thống VoIP trên Asterisk 1.2.4 Linh hoạt và cơ động IP Softphone là giải pháp phần mềm gọi điện thoại Internet dành cho các máy tính sử dụng hệ điều hành Windows. Phần mềm này cho phép ngƣời dùng dễ dàng truy xuất đến các dịch vụ viễn thông thời gian thực và những tính năng cải tiến khác với cách thức sử dụng thật đơn giản: chỉ cần nhấn chuột để quay số cuộc gọi. Trong một mạng viễn thông nền IP, nhân viên có thể tự do đi lại bất kỳ đâu trong văn phòng công ty, nối máy tính xách tay vào mạng, bắt đầu làm việc và nhận/thực hiện các cuộc gọi. 1.2.5 Nhiều tính năng hấp dẫn VoIP với những ƣu điểm nhƣ giảm chi phí liên lạc,khả năng tích hợp dễ dàng các hệ thống dữ liệu, thoại và video, cơ sở dữ liệu có khả năng kiểm soát tập trung, tính năng thoại di động cải tiến giúp tiết kiệm thời gian và chi phí...Với giao thức SIP (Session Initiation Protocol) cho phép nhiều ứng dụng, thiết bị phần cứng mới dễ dàng triển khai giải pháp VoIP trên mạng LAN, WAN hoặc Internet. Hầu hết các modem và router ADSL hiện nay đều hỗ trợ VoIP và giao thức SIP, các doanh nghiệp vừa và nhỏ có thể nhanh chóng triển khai mô hình điện thoại Internet thông qua đƣờng truyền internet với các dịch vụ VoIP miễn phí nhƣ ifone, IPTel, DrayTel, MediaRing... 1.2.6 Khả năng quản lý toàn diện Bạn có khả năng kiểm soát chi tiết đến từng bit dữ liệu đang đƣợc lƣu chuyển trên mạng IP Telephony (LAN) hay mạng VoIP (WAN). Trong các mạng mạng viễn thông nền IP, chất lƣợng thoại có thể đạt đến 99,99% Nghĩa là trong môi trƣờng mạng hội tụ nền IP, khả năng phát hiện sớm các triệu chứng và thay đổi những cài đặt trƣớc khi có bất kỳ trục trặc nào xảy ra đã đƣợc cải tiến đáng kể. 1.2.7 Công tác thời gian thực Ngƣời dùng có thể bổ sung giải pháp điện thoại kèm hình ảnh Video Telephony Solution bằng các phần mềm ứng dụng video trên nền IP, qua đó cho phép một máy tính để bàn hay máy tính xách tay giả lập một chiếc điện thoại IP trong văn phòng Chất lƣợng hình ảnh và âm thanh khi sử dụng trên mạng nội bộ thƣờng tốt hơn khi sử dụng qua kết nối Internet do hiếm khi gặp phải tình trạng trễ tiếng hay khựng hình. 1.2.8 Sử dụng băng thông hợp lý Lƣu lƣợng truyền dữ liệu máy tính (không phải là dữ liệu thoại) trên hệ thống mạng điện thoại thƣờng chỉ chiếm khoảng 30% băng thông của toàn hệ thống Ƣu điểm của VoIP là dữ liệu đƣợc đóng lại thành gói và các gói dữ liệu này đƣợc truyền thông qua kết nối T-1 trên một phần nhỏ băng thông của kênh DSO. 1.2.9 Giảm chi phí điện thoại đƣờng dài Với một hệ thống VoIP hoàn chỉnh, doanh nghiệp thậm chí còn có thể triển khai giải pháp chuyển tiếp cuộc gọi thông minh, cho phép "hạn chế" các cuộc gọi đƣờng dài trực tiếp từ một khu vực (tỉnh, thành phố hay quốc gia) sang một khu vực khác (cả 2 khu vực này phải có văn phòng của doanh nghiệp này) bằng cách chuyển dữ liệu thoại thông qua mạng VoIP nội bộ rồi sau đó chuyển tiếp sang hệ thống PSTN. Nhóm 1-Đ07VTA1 Page 6 Tìm hiểu hệ thống VoIP trên Asterisk 1.3 Nhƣợc điểm của VoIP Chất lƣợng dịch vụ: do các mạng truyền số liệu vốn dĩ không đƣợc thiết kế để truyền thoại thời gian thực cho nên việc trễ truyền hay việc mất mát các gói tin hoàn toàn có thể xảy ra và sẽ gây ra chất lƣợng dịch vụ thấp. Bảo mật: do mạng Internet là một mạng hỗn hợp và rộng khắp bao gồm rất nhiều máy tính cùng sử dụng cho nên việc bảo mật các thông tin cá nhân là rất khó. 1.4 Các chuẩn thoại dùng trong VoIP Các chuẩn thoại dùng trong VoIP: SIP, H323, IAX2, MGCP... Chuẩn SIP (Session Initiation Protocol ): chuẩn của IETF, thông dụng nhất hiện nay vì ít tốn thiết bị phần cứng và có thể mở rộng hệ thống dễ dàng Đây là giao thức chi tiết xác định những chỉ thị và những đáp ứng, để thiết lập hay kết thúc cuộc gọi. SIP cũng mô tả chi tiết về các tính năng nhƣ bảo mật (sercurity), sự ủy nhiệm (proxy), vận chuyển (transport) SIP định nghĩa ra cơ chế báo hiệu cuộc gọi end-to end giữa các thiết bị. SIP là giao thức text-base có nhiều tính năng tƣơng tự HTTP, nhƣ là cùng mô hình yêu cầu (request) và đáp ứng (response). Chuẩn H323: Đây là giao thức chuẩn của ITU. Giao thức này ban đầu đƣợc phát triển cho hệ thống đa phƣơng tiện(multimedia) phƣơng tiện trong môi trƣờng không hƣớng kết nối (connectionless), nhƣ LAN H323 là chuẩn định nghĩa tất cả tiến trình liên quan đến vấn đề đồng bộ cho thoại, video, và truyền dữ liệu H323 định nghĩa tín hiệu cuộc gọi end-to-end. Chuẩn MGCP (Media Gateway Control Protocol - Giao thức điều khiển cổng truyền thông) nó là một giao thức trong VoIP đƣợc đƣa ra theo đề xuất của Cisco và Telcordia để định nghĩa sự liên lạc giữa những phần điều khiển cuộc gọi Media Gateway. MGCP là giao thức điều khiển, cho phép trung tâm điều khiển theo dõi những sự kiện trong cuộc gọi IP và những Gateway và chỉ đạo chúng để gửi thông tin tới những địa chỉ cụ thể. 1.5 Các tổ chức phát triển VoIP Nhà cung cấp dịch vụ VoIP lớn : Skype, Yahoo, Google… Các thiết bị phần cứng VoIP : - Tổng đài IP, VoIP Gateway : Cisco, Avaya, Alcatel, Nortel, Digium.. - Card giao tiếp PCI : Digium, Openvox, Sangoma… - Điện thoại IP : Alcatel, Nortel, Welltech… Các phần mềm ứng dụng tổng đài VoIP PBX : CCM của Cisco, Asterisk trên Linux, Avaya... Trên hệ điều hành WINDOWS: chủ yếu sử dụng giao thức SIP, phần mềm này có thể dễ dàng cài đặt và sử dụng. Tuy nhiên phải mua License tùy theo cấu hình doanh nghiệp cần ứng dụng. - 3CX : của hãng 3CX www.3cx.com - Brekeke : của hãng phần mềm BREKEKE www.brekeke.com - Axon : của hãng NCH www.nch.com.au/pbx Trên hệ điều hành LINUX: Nhóm 1-Đ07VTA1 Page 7 Tìm hiểu hệ thống VoIP trên Asterisk - CCM ( Cisco Call Manager ) : chạy trên hệ hành Linux, có bản miễn phí cho ngƣời dùng. Tuy nhiên, bản miễn phí còn nhiều tính năng chƣa Update, muốn sử dụng các tính năng Update thì phải mua thêm License. - Asterisk : chạy trên hệ điều hành LiNux, hoàn toàn miễn phí cho ngƣời dùng. Phần này sẽ đƣợc trình bày rõ hơn ở phần sau. Nhóm 1-Đ07VTA1 Page 8 Tìm hiểu hệ thống VoIP trên Asterisk CHƢƠNG II: T NG QU N VỀ GI O TH C SIP 2.1 Tổng quan về giao thức khởi tạo phiên SIP SIP (Session Initiation Protocol) là giao thức điều khiển báo hiệu thuộc lớp ứng dụng trong mô hình OSI (hình II 1), đƣợc phát triển nhƣ là một chuuẩn mở RFC 2543 của IEFT. Khác với H.323, nó dựa trên nguồn gốc Web (HTTP) và có thiết kế kiểu module, đơn giản và dễ dàng mở rộng với các ứng dụng thoại SIP. SIP là một giao thức báo hiệu để thiết lập, duy trì và kết thúc các phiên đa phƣơng tiện nhƣ : thoại IP, hội nghị và các ứng dụng tƣơng tự khác liên quan đến việc truyền thông tin đa phƣơng tiện. SIP sử dụng các bản tin mời (INVITE) để thiết lập các phiên và để mang các thông tin mô tả phiên truyền dẫn. 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. Có thể sử dụng năm chức năng của SIP để thiết lập và kết thúc truyền dẫn là : định vị thuê bao, khả năng thuê bao, độ sẵn sàng của thuê bao, thiết lập cuộc gọi và xử lý cuộc gọi. SIP đƣợc sử dụng kết hợp với các chuẩn giao thức IETF khác nhƣ là SAP, SDP và MGCP (MEGACO) để cung cấp một lĩnh vực rộng hơn cho các dịch vụ VoIP. Cấu trúc của SIP tƣơng tự với cấu trúc của HTTP (giao thức client-server). Nó bao gồm các yêu cầu đƣợc gởi đến từ ngƣời sử dụng SIP client đến SIP server. Server xử lý các yêu cầu và đáp ứng đến client. Một thông điệp yêu cầu, cùng với các thông điệp đáp ứng tạo nên sự thực thi SIP. Hình 0-1: Vị trí của SIP trong mô hình OSI. Nói chung, SIP hỗ trợ các hoạt động chính sau: - Định vị trí của ngƣời dùng. - Định media cho phiên làm việc. - Định sự sẵn sàng của ngƣời dùng để tham gia vào một phiên làm việc. Nhóm 1-Đ07VTA1 Page 9 Tìm hiểu hệ thống VoIP trên Asterisk - Thiết lập cuộc gọi, chuyển cuộc gọi và kết thúc. - SIP là một giao thức theo thiết kế mở do đó nó có thể đƣợc mở rộng để phát triển thêm các chức năng mới. Sự linh hoạt của các bản tin SIP cũng cho phép đáp ứng các dịch vụ thoại tiên tiến bao gồm cả các dịch vụ di động. 2.2 Cấu trúc của SIP 2.2.1 Các thành phần của SIP SIP Components Location Server Redirect Server Registrar Server PSTN User Agent Gateway Proxy Server Proxy Server Hình 0-2: Các thành phần của SIP Hệ thống SIP gồm 5 thành phần chính : - User Agent (UA) : đóng vai trò của thiết bị đầu cuối trong báo hiệu SIP , có thể là một máy điện thoại SIP, có thể là máy tính chạy phần mềm đầu cuối SIP...UA bao gồm hai loại User Agent Client (UAC) và User Agent Server (UAS). UAC khởi tạo cuộc gọi và UAS trả lời cuộc gọi Điều này cho phép thực hiện cuộc gọi ngang hàng thông qua mô hình client-server. - Máy chủ ủy quyền (Proxy server) : là một chƣơng trình trung gian, hoạt động nhƣ là một server và một client cho mục đích tạo các yêu cầu thay mặt cho các client khác. Các yêu cầu đƣợc phục vụ bên trong hoặc truyền chúng đến các server khác. Một proxy có thể dịch và nếu cần thiết có thể tạo lại các bản tin yêu cầu SIP trƣớc khi chuyển chúng đến server khác hoặc một UA Trong trƣờng hợp này trƣờng Via trong bản tin đáp ứng, yêu cầu chỉ ra các proxy trung gian tham gia vào tiến trình xử lý yêu cầu . Nhóm 1-Đ07VTA1 Page 10 Tìm hiểu hệ thống VoIP trên Asterisk - Máy chủ định vị (Location Server) : là phần mềm định vị thuê bao, cung cấp thông tin về những vị trí có thể của thuê bao bị gọi cho các phần mềm máy chủ ủy quyền và máy chủ chuyển đổi địa chỉ. - Máy chủ chuyển đổi địa chỉ (Redirect Server) : là phần mềm nhận yêu cầu SIP và chuyển đổi địa chỉ SIP sang một số địa chỉ khác và gửi lại cho đầu cuối. Không giống nhƣ máy chủ ủy quyền, máy chủ chuyển đổi địa chỉ không bao giờ hoạt động nhƣ một đầu cuối, tức là không gửi đi bất cứ yêu cầu nào. Máy chủ chuyển đổi địa chỉ cũng không nhận hoặc huỷ cuộc gọi. - Máy chủ đăng ký (Register Server) : là phần mềm nhận các yêu cầu đăng ký Trong nhiều trƣờng hợp máy chủ đăng ký đảm nhiệm luôn một số chức năng an ninh nhƣ xác nhận ngƣời sử dụng Thông thƣờng máy chủ đăng ký đƣợc cài đặt cùng với máy chủ ủy quyền và máy chủ hay địa chỉ hoặc cung cấp dịch vụ định vị thuê bao. Mỗi lần đầu cuối đƣợc bật lên (ví dụ máy điện thoại hoặc phần mềm SIP) thì đầu cuối lại đăng ký với máy chủ. Nếu đầu cuối cần thông báo cho máy chủ về địa điểm của mình thì bản tin REGISTER cũng đƣợc gửi đi Nói chung các đầu cuối đều thực hiện việc đăng ký lại một cách định kỳ. 2.2.2 Hoạt động của các bản tin SIP SIP là một giao thức dựa trên ký tự văn bản với cú pháp bản in và các trƣờng mào đầu đồng nhất với giao thức truyền siêu văn bản HTTP (Hypper Text Transfer Protocol). Các bản tin của SIP truyền trên cùng một kết nối TCP hoặc bó dữ liệu UDP. 2.2.1.1 Địa chỉ của SIP Địa chỉ của SIP còn đƣợc gọi là bộ định vị tài nguyên chung URL (Universal Resource Locator), tồn tại dƣới dạng user@host. Phần user trong phần địa chỉ có thể là tên ngƣời sự dụng hoặc số điện thoại. Phần host có thể là tên miền hoặc địa chỉ mạng. Ví dụ địa chỉ SIP : SIP: [email protected] SIP: [email protected] 2.2.1.2 Định vị server SIP Khi client muốn gửi một yêu cầu, client gửi yêu cầu đó đến một proxy server SIP đã đƣợc cấu hình hoặc gửi đến địa chỉ IP và số cổng tƣơng ứng với URL SIP. Gửi yêu cầu trực tiếp đến proxy server thì dễ dàng nếu ứng dụng cuối đã biết proxy server. Gửi yêu cầu theo cách thứ hai thì phức tạp hơn Client phải cố gắng tiếp xúc với server ở số cổng đƣợc liệt kê trong bộ định vị tài nguyên đồng nhất URL SIP. Nếu số hiệu cổng không có trong URL SIP thì client sử dụng số cổng 5060. Nếu URL SIP chỉ định một giao thức (UDP hoặc TCP) thì client tiếp xúc với server sử dụng giao thức đó Nếu không có giao thức nào đƣợc chỉ định hoặc nếu client không hỗ trợ UDP nhƣng Nhóm 1-Đ07VTA1 Page 11 Tìm hiểu hệ thống VoIP trên Asterisk có hỗ trợ TCP thì nó cố gắng dùng TCP Client cố gắng tìm một hoặc nhiều địa chỉ server SIP bằng cách truy vấn DNS (Domain Name System). Tiến trình nhƣ sau: - Nếu phần host của URL SIP là địa chỉ IP, client tiếp xúc với server ở địa chỉ cho trƣớc Ngƣợc lại nó xử lý bƣớc kế tiếp. - Client truy vấn server DNS cho địa chỉ phần host của URL SIP. Nếu server DNS không trả về địa chỉ của URL SIP, client sẽ ngƣng vì nó không thể định vị đƣợc server. 2.2.1.3 Định vị ngƣời dùng Ngƣời bị gọi có thể di chuyển giữa nhiều hệ thống đầu cuối theo thời gian. Các vị trí này có thể đăng kí động với server SIP. Một server vị trí có thể trả về nhiều vị trí bởi vì ngƣời dùng đăng nhập ở nhiều trạm một cách đồng thời hoặc server vị trí có thông tin không chính xác. Server SIP kết hợp các kết quả để cung cấp một danh sách các vị trí hoặc không có vị trí nào. Hoạt động nhận danh sách các vị trí thay đổi tùy thuộc vào SIP server. Một Redirect server trả về một danh sách hoàn chỉnh các vị trí và cho phép các client định vị ngƣời dùng chính xác. Một Proxy server cũng cố gắng định địa chỉ cho đến khi cuộc gọi thành công hoặc ngƣời bị gọi từ chối cuộc gọi. 2.2.1.4 Thay đổi một phiên đang tồn tại Điều này đƣợc thƣc hiện bằng cách phát lại bản tin INVITE, sử dụng cùng CallID nhƣng nội dung mới hoặc các trƣờng tiêu đề mang thông tin mới. Chẳng hạn, hai đối tác đang trò chuyện và muốn thêm và một ngƣời thứ ba. Một trong hai mời ngƣời thứ ba với địa chỉ multicast mới và đồng thời gửi bản tin INVITE đến đối tác thứ hai với sự mô tả phiên mulicast mới, ngoại trừ số nhận dạng cũ 2.2.1.5 Các bản tin của SIP Có hai loại bản tin SIP: - Bản tin yêu cầu đƣợc khởi tạo từ client. - Bản tin đáp ứng đƣợc trả lại từ server. Mỗi bản tin chứa một tiêu đề mô tả chi tiết về sự truyền thông. SIP có thể sử dụng UDP Khi đƣợc gửi trên UDP hoặc TCP, nhiều giao dịch SIP có thể đƣợc mang trên một kết nối TCP đơn lẻ hoặc gói dữ liệu UDP. Gói dữ liệu UDP (bao gồm tất cả các tiêu đề) thì không vƣợt quá đơn vị truyền dẫn lớn nhất MTU (Maximum Transmission Unit) nếu MTU đƣợc định nghĩa, hoặc không quá 1500 byte nếu MTU không đƣợc định nghĩa Một bản tin SIP cơ bản bao gồm: dòng bắt đầu (start-line), một hoặc nhiều trƣờng tiêu đề, một dòng trống (CRLF) dùng để kết thúc các trƣờng tiêu đề và một nội dung bản tin tùy chọn. Nhóm 1-Đ07VTA1 Page 12 Tìm hiểu hệ thống VoIP trên Asterisk Bản tin chung = Dòng bắt đầu Tiêu đề bản tin CRLF [ nội dung bản tin] 2.2.1.6 Tiêu đề bản tin Tiêu đề bản tin dùng để chỉ ra ngƣời gọi, ngƣời bị gọi, đƣờng định tuyến và loại bản tin của cuộc gọi Có 4 nhóm tiêu đề bản tin nhƣ sau: - Tiêu đề chung: áp dụng cho các yêu cầu và các đáp ứng. - Tiêu đề thực thể: định nghĩa thông tin về loại bản tin và chiều dài. - Tiêu đề yêu cầu: cho phép client thêm vào các thông tin yêu cầu. - Tiêu đề đáp ứng: cho phép server thêm vào các thông tin đáp ứng. Tiêu đề chung Tiêu đề thực thể Tiêu đề yêu cầu Tiêu đề đáp ứng Accept Content-Encoding Authorization Allow Accept-Encoding Content-Length Contact Proxy-Authenticate Accept-Language Content-Type Hide Retry-After Call-ID Max-Forwards Server Contact Organization Unsupported CSeq Priority Warning Date Proxy-Authorization www-Authenticate Encryption Proxy-Require Expires Route From Require Record-Route Response-Key Timestamp Subject To User-Agent Via Bảng 0-1: Các tiêu đề bản tin Nhóm 1-Đ07VTA1 Page 13 Tìm hiểu hệ thống VoIP trên Asterisk Giải thích một số tiêu đề chính của SIP: Tiêu đề Giải thích Call-ID So khớp các yêu cầu với các đáp ứng tƣơng ứng, nhận dạng duy nhất lời mời hoặc sự đăng kí của client Trong một cuộc gọi, Cseq tăng lên khi một yêu cầu mới đƣợc gửi đi và bắt Cseq đầu ở một giá trị ngẫu nhiên Tuy nhiên, đối với yêu cầu ACK và Cancel thì Cseq không tăng To Có mặt trong tất cả các yêu cầu và đáp ứng để chỉ ra nơi nhận yêu cầu From Có mặt trong tất cả yêu cầu và đáp ứng chứa tên và địa chỉ của nơi khởi tạo yêu cầu Ghi lại đƣờng đi của yêu cầu để cho phép các server SIP trung Via gian chuyển các câu trả lời trở lại cùng đƣờng đi Chỉ định nội dung và một số tiêu đề bản tin đã đƣợc mã hóa nhƣ Encryption thế nào Content-Length Chỉ ra kích thƣớc của nội dung bản tin (tính bằng octet) Content-type Chỉ ra loại media của nội dung bản tin (văn bản/html,). Expires Nhận dạng ngày và thời gian khi bản tin hết hạn . Accept Chỉ ra loại media nào đƣợc chấp nhận trong bản tin đáp ứng Subject Cho thông tin về bản chất của cuộc gọi Bảng 0-2: Giải thích một số tiêu đề chính của SIP 2.2.1.7 Bản tin yêu cầu Các yêu cầu cũng có thể đƣợc xem nhƣ các phƣơng pháp cho phép User Agent và server mạng định vị, mời và quản lý các cuộc gọi. Bản tin yêu cầu SIP có dạng sau: Yêu cầu = Dòng yêu cầu (Request-line) Tiêu đề chung/tiêu đề yêu cầu/tiêu đề thực thể CRLF [Nội dung bản tin] Dòng yêu cầu bắt đầu với mã phƣơng pháp, bộ nhận dạng tài nguyên đồng nhất yêu cầu, phiên bản giao thức SIP và kết thúc với CRLF. Các thành phần đƣợc phân cách bởi kí tự SP. Dòng yêu cầu = Method SP Request-URI SP SIP-Version CRLF. Nhóm 1-Đ07VTA1 Page 14 Tìm hiểu hệ thống VoIP trên Asterisk Có 6 loại bản tin yêu cầu SIP: INVITE, ACK, OPTIONS, BYE, CANCEL và REGISTER. Bản tin Ý nghĩa INVITE Khởi tạo một phiên ACK Khẳng định rằng client đã nhận đƣợc bản tin đáp ứng cho bản tin INVITE BYE Yêu cầu kết thúc phiên CANCEL Huỷ yêu cầu đang nằm trong hàng đợi REGISTER Đầu cuối SIP đăng ký với registrar server OPTIONS Sử dụng để xác định năng lực của server INFO Sử dụng để tải các thông tin Bảng 0-3: Các bản tin yêu cầu của SIP 2.2.1.8 Bản tin đáp ứng Các bản tin đáp ứng có dạng nhƣ sau: Đáp ứng = Dòng trạng thái Tiêu đề chung/tiêu đề đáp ứng/tiêu đề CRLF [nội dung bản tin] Dòng trạng thái = SIP-version SP Status-Code SP Reason-Phrase CRLF Mã trạng thái có 3 chữ số chỉ ra kết quả của việc đáp ứng yêu cầu. Lý do (Reason-Phrase) là sự mô tả ngắn gọn về mã trạng thái. Chữ số đầu tiên của mã trạng thái định nghĩa lớp đáp ứng. SIP phiên bản 2 0 định nghĩa 6 giá trị cho lớp đáp ứng : Bản tin Ý nghĩa 1xx Các bản tin chung 2xx Thành công 3xx Chuyển địa chỉ 4xx Yêu cầu không đƣợc đáp ứng 5xx Sự cố của server 6xx Sự cố toàn mạng Bảng 0-4: Các loại bản tin đáp ứng của SIP. Nhóm 1-Đ07VTA1 Page 15 Tìm hiểu hệ thống VoIP trên Asterisk Một số mã trạng thái đƣợc định nghĩa trong SIP đƣợc trình bày trong bảng sau: Lớp đáp ứng Mã trạng thái Giải thích Thông tin 100 Đang cố gắng 180 Rung chuông 181 Cuộc gọi đƣợc chuyển 182 Đƣợc xếp hàng đợi Thành công 200 OK Đổi hƣớng 300 Nhiều chọn lựa 301 Đƣợc di chuyển thƣờng xuyên 302 Đƣợc di chuyển tạm thời 380 Dịch vụ thay đổi 400 Yêu cầu lỗi 401 Không nhận thực đƣợc 402 Yêu cầu trả tiền (payment required) 403 Cấm 404 Không tìm thấy 405 Bản tin không cho phép 406 Không chấp nhận 407 Yêu cầu nhận thực proxy 408 Yêu cầu timeout 409 Xung đột 410 Tiếp tục (gone) 411 Yêu cầu chiều dài 413 Thực thể yêu cầu quá lớn 414 URL yêu cầu quá lớn 415 Không hỗ trợ loại media 420 Mở rộng sai 480 Không sẵn có 481 Cuộc gọi hoặc sự trao đổi 482 Vòng lặp đƣợc phát hiện 483 Quá nhiều hop 484 Địa chỉ không hoàn thành 485 Mơ hồ 486 Đang bận 500 Lỗi server bên trong Lỗi client Lỗi server Nhóm 1-Đ07VTA1 Page 16 Tìm hiểu hệ thống VoIP trên Asterisk 501 502 Gateway lỗi 503 Dịch vụ không có sẵn 504 Gateway timeout 505 Phiên bản SIP không hỗ trợ 600 Bận ở mọi nơi 603 Từ chối 604 Không tồn tại ở mọi nơi 606 Lỗi toàn cầu Không thực thi Không chấp nhận Bảng 0-5: Một số mã trạng thái đƣợc định nghĩa trong SIP 2.2.1.9 Thiết lập và hủy cuộc gọi SIP Trƣớc tiên ta tìm hiểu hoạt động của máy chủ ủy quyền và máy chủ chuyển đổi : a. Hoạt động của máy chủ ủy quyền (Proxy Server) Hình 0-2: Hoạt động Proxy Server Client SIP [email protected] gửi bản tin INVITE cho [email protected] để mời tham gia cuộc gọi. Các bƣớc nhƣ sau: - Bƣớc1: [email protected]ử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 (bản tin INVITE có thể đi từ Nhóm 1-Đ07VTA1 Page 17 Tìm hiểu hệ thống VoIP trên Asterisk Proxy server SIP của miền yahoo com và đƣợc Proxy này chuyển đến Proxy server của miền hotmail.com). - Bƣớc 2: Proxy server của miền hotmail.com sẽ tham khảo server định vị (Location server) để quyết định vị trí hiện tại của UserB. - Bƣớc 3: Server định vị trả lại vị trí hiện tại của UserB (giả sử là [email protected]). - Bƣớc 4: Proxy server gửi bản tin INVITE tới [email protected]. Proxyserver thêm địa chỉ của nó trong một trƣờng của bản tin INVITE. - Bƣớc 5: UAS của UserB đáp ứng cho server Proxy với bản tin 200 OK. - Bƣớc 6: Proxy server gửi đáp ứng 200 OK trở về [email protected]. - Bƣớc 7: [email protected] gửi bản tin ACK cho UserB thông qua proxy server. - Bƣớc 8: Proxy server chuyển bản tin ACK cho [email protected]. - Bƣớc 9: Sau khi cả hai bên đồng ý tham dự cuộc gọi, một kênh RTP/RTCP đƣợc mở giữa hai điểm cuối để truyền tín hiệu thoại. - Bƣớc 10: Sau khi quá trình truyền dẫn hoàn tất, phiên làm việc bị xóa bằng cách sử dụng bản tin BYE và ACK giữa hai điểm cuối. b. Hoạt động của máy chủ chuyển đổi địa chỉ (Redirect Server): Hình 0-3: Hoạt động của Redirect Server. Các bƣớc nhƣ sau: - Bƣớc 1: Redirect server nhận đƣợc yêu cầu INVITE từ ngƣời gọi (Yêu cầu này có thể đi từ một proxy server khác). - Bƣớc 2: Redirect server truy vấn server định vị địa chỉ của B. - Bƣớc 3: Server định vị trả lại địa chỉ của B cho Redirect server. Nhóm 1-Đ07VTA1 Page 18 Tìm hiểu hệ thống VoIP trên Asterisk - Bƣớc 4: Redirect server trả lại địa chỉ của B đến ngƣời gọi A. Nó không phát yêu cầu INVITE nhƣ proxy server - Bƣớc 5: User Agent bên A gửi lại bản tin ACK đến Redirect server để xác nhận sự 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 chỉ đƣợc trả lại bởi Redirect server (đến B) Ngƣời bị gọi B đáp ứng với chỉ thị thành công (200 OK), và ngƣời gọi đáp trả bản tin ACK xác nhận, cuộc gọi đƣợc thiết 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. Tổng quát lại trong mạng SIP quá trình thiết lập và hủy một phiên kết nối: Hình 0-4: Thiết lập và hủy cuộc gọi SIP. - Bƣớc 1: Đăng ký, khởi tạo và định vị đầu cuối. Bƣớc 2: Xác định phƣơng tiện của cuộc gọi, tức là mô tả phiên mà đầu cuối đƣợc mời tham gia. Bƣớc 3: Xác định mong muốn của đầu cuối bị gọi, trả lời hay không. Phía bị gọi phải gửi bản tin xác nhận chấp thuận cuộc gọi hay từ chối. Bƣớc 4: Thiết lập cuộc gọi. Bƣớc 5: Thay đổi hay điều khiển cuộc gọi (ví dụ nhƣ chuyển cuộc gọi). Bƣớc 6: Hủy cuộc gọi. Nhóm 1-Đ07VTA1 Page 19 Tìm hiểu hệ thống VoIP trên Asterisk 2.2.1.10 Liên vận giữa SIP và SS7 a. Thiết lập cuộc gọi cơ bản giữa SIP và PSTN Hình 0-5: Thiết lập cuộc gọi cơ bản giữa SIP và PSTN. - Bƣớc 1: Khi ngƣời dùng SIP muốn bắt đầu một phiên hội thoại với ngƣời dùng PSTN, SIP sẽ phát bản tin yêu cầu INVITE. Bản tin này tƣơng tự nhƣ bản tin SETUP ISDN. Gateway bắt đầu xử lý các tài nguyên dành riêng cho cuộc gọi. Các tài nguyên này bao gồm cổng RTP/UDP bên phía IP và các khe E1/T1 bên phía PSTN. - Bƣớc 2: Bản tin INVITE đƣợc xác nhận bởi Gateway với bản tin SIP chứa mã trạng thái 100. Bản tin này cũng đã xác nhận là Gateway đã đồng ý điều khiển cuộc gọi. - Bƣớc 3: Bản tin INVITE đƣợc ánh xạ thành bản tin IAM ISUP và đƣợc gửi đến PSTN. Và kết nối audio đƣợc thực hiện. - Bƣớc 4: PSTN đáp ứng với bản tin ACM ISUP để thông báo rằng bản tin IAM đã đƣợc nhận thành công. - Bƣớc 5: Bản tin ACM chứa một trƣờng đƣợc gọi là mã trạng thái ngƣời bị gọi và đƣợc ánh xạ đến đáp ứng SIP tạm thời Đáp ứng tạm thời là 180 cho thuê bao rỗi và 183 cho không chỉ định Đáp ứng tạm thời này đƣợc Gateway gửi đến SIP. Và Gateway thực hiện kết nối audio. - Bƣớc 6: Xác nhận đáp ứng tạm thời ACK (PRACK, Provisional Response ACK) đƣợc gửi trả lại Gateway từ SIP. - Bƣớc 7: Mã 200 đƣợc gửi trả lại SIP Đây là một ACK. Nhóm 1-Đ07VTA1 Page 20
- Xem thêm -

Tài liệu liên quan