Đăng ký Đăng nhập
Trang chủ Tim hieu he thong voip tren asterisk...

Tài liệu Tim hieu he thong voip tren asterisk

.DOCX
38
406
59

Mô tả:

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...........................................................................3 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..................................................................................................6 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.................................................................8 2.1 Tổng quan về giao thức khởi tạo phiên SIP................................................................8 2.2 Cấu trúc của SIP..........................................................................................................9 2.2.1 Các thành phần của SIP........................................................................................9 2.2.1.1 Địa chỉ của SIP...............................................................................................10 2.2.1.2 Định vị server SIP..........................................................................................10 2.2.1.3 Định vị người dùng.........................................................................................11 2.2.1.4 Thay đổi một phiên đang tồn tại.....................................................................11 2.2.1.5 Các bản tin của SIP.........................................................................................11 2.2.1.6 Tiêu đề bản tin................................................................................................11 2.2.1.7 Bản tin yêu cầu...............................................................................................13 2.2.1.8 Bản tin đáp ứng...............................................................................................14 2.2.1.9 Thiết lập và hủy cuộc gọi SIP.........................................................................16 2.2.1.10 Liên vận giữa SIP và SS7...........................................................................19 a. Thiết lập cuộc gọi cơ bản giữa SIP và PSTN.....................................................19 b. Định hướng cuộc gọi SIP...................................................................................20 2.2.1.11 Tính năng của SIP.......................................................................................22 CHƯƠNG III: GIỚI THIỆU BA PHẦN MỀM ỨNG DỤNG VOIP......................................23 3.1 Asterisk......................................................................................................................23 3.1.1 Giới thiệu về phần mềm Asterisk.......................................................................23 3.1.2 Tính năng và lợi ích của Asterisk.......................................................................23 3.2 OpenSIP.....................................................................................................................24 3.2.1 Khái niệm OpenSIPS.........................................................................................24 3.2.2 Tính năng và lợi ích của OpenSIPS...................................................................24 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..............................................................................................................26 Kamailio....................................................................................................................26 CHƯƠNG IV: TRIỂN KHAI HỆ THỐNG ASTERISK..........................................................27 4.1 Giới thiệu chung........................................................................................................27 4.2 Kết nối phần cứng......................................................................................................27 4.3 Cài đặt phần mềm......................................................................................................28 4.4 Thực hiện cuộc gọi VoIP, bắt và phân tích gói..........................................................31 4.4.1 Khởi tạo phiên....................................................................................................31 4.4.2 Quá trình đàm thoại............................................................................................32 4.4.3 Kết thúc phiên:...................................................................................................35 CHƯƠNG V: KẾT LUẬN.......................................................................................................36 Hạn chế và hướng phát triển của đề tài....................................................................................36 - Hạn chế của đề tài..............................................................................................36 - Hướng phát triển của đề tài................................................................................36 DANH MỤC HÌNH VẼ VÀ BẢNG BI Hình 2-1: Vị trí của SIP trong mô hình OSI...............................................................................8 Hình 2-2: Các thành phần của SIP.............................................................................................9 Hình 2-3: Hoạt động Proxy Server...........................................................................................16 Hình 2-4: Hoạt động của Redirect Server................................................................................17 Hình 2-5: Thiết lập và hủy cuộc gọi SIP..................................................................................18 Hình 2-6: Thiết lập cuộc gọi cơ bản giữa SIP và PSTN...........................................................19 Hình 2-7: Định hướng cuộc gọi SIP.........................................................................................20 Hình 2-8: OpenSIPS trong VoIP..............................................................................................24 Hình 4-1: Các thiết bị trong hệ thống Asterisk........................................................................27 Hình 4-2: Giao diện hệ điều hành............................................................................................28 Hình 4-3: Giao diện của freepbx..............................................................................................29 Hình 4-4: Giao diện của phần mềm X Lite..............................................................................30 Hình 4-5: Cấu trúc khung của gói tin RTP...............................................................................32 Hình 4-6: Gói tin thứ 49...........................................................................................................33 Y Bảng 2-1: Các tiêu đề bản tin...................................................................................................12 Bảng 2-2: Giải thích một số tiêu đề chính của SIP..................................................................13 Bảng 2-3: Các bản tin yêu cầu của SIP....................................................................................14 Bảng 2-4: Các loại bản tin đáp ứng của SIP.............................................................................14 Bảng 2-5: Một số mã trạng thái được định nghĩa trong SIP.....................................................16 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 (packet) Nhóm 1-Đ07VTA1 Page 4 Tìm hiểu hệ thống VoIP trên Asterisk 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. 1.2.4 Linh hoạt và cơ động Nhóm 1-Đ07VTA1 Page 5 Tìm hiểu hệ thống VoIP trên Asterisk 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. 1.3 Nhược điểm của VoIP Nhóm 1-Đ07VTA1 Page 6 Tìm hiểu hệ thống VoIP trên Asterisk 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 QUAN VỀ GIAO 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 2-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 Hình 2-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 . - 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ỉ. Nhóm 1-Đ07VTA1 Page 10 Tìm hiểu hệ thống VoIP trên Asterisk - 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 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: Nhóm 1-Đ07VTA1 Page 11 Tìm hiểu hệ thống VoIP trên Asterisk - 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. Bản tin chung = Nhóm 1-Đ07VTA1 Dòng bắt đầu Tiêu đề bản tin CRLF [ nội dung bản tin] Page 12 Tìm hiểu hệ thống VoIP trên Asterisk 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 Accept Accept-Encoding AcceptLanguage Call-ID Contact CSeq Date Encryption Expires From Record-Route Timestamp To Via Tiêu đề thực thể ContentEncoding Content-Length Tiêu đề yêu cầu Authorization Tiêu đề đáp ứng Allow Contact Content-Type Hide ProxyAuthenticate Retry-After Max-Forwards Organization Priority ProxyAuthorization Proxy-Require Route Require Response-Key Subject User-Agent Server Unsupported Warning www-Authenticate Bảng 2-1: Các tiêu đề bản tin. Giải thích một số tiêu đề chính của SIP: Tiêu đề Call-ID Cseq To From Nhóm 1-Đ07VTA1 Giải thích 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 đầ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. 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. 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. Page 13 Tìm hiểu hệ thống VoIP trên Asterisk Via Encryption Content-Length Content-type Expires Accept Subject Ghi lại đường đi của yêu cầu để cho phép các server SIP trung 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ư thế nào. Chỉ ra kích thước của nội dung bản tin (tính bằng octet). Chỉ ra loại media của nội dung bản tin (văn bản/html,). Nhận dạng ngày và thời gian khi bản tin hết hạn . Chỉ ra loại media nào được chấp nhận trong bản tin đáp ứng. Cho thông tin về bản chất của cuộc gọi. Bảng 2-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. 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 REGISTE R Đầ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 2-3: Các bản tin yêu cầu của SIP 2.2.1.8 Bản tin đáp ứng Nhóm 1-Đ07VTA1 Page 14 Tìm hiểu hệ thống VoIP trên Asterisk 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 Một số mã trạng thái được định nghĩa trong SIP được trình bày trong bảng sau: 5xx Sự cố của server Lớp ứng mạng Mã trạng thái Giải thích 6xx Sựđáp cố toàn Thông tin 100 Đang cố gắng 180 Rung chuông 181 Bảng 2-4: Các loại bản tin đáp ứng của SIP.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 Lỗi client 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 Nhóm 1-Đ07VTA1 Page 15 Tìm hiểu hệ thống VoIP trên Asterisk Lỗi server Lỗi toàn cầu 482 483 484 485 486 500 501 502 503 504 505 600 603 604 606 Vòng lặp được phát hiện Quá nhiều hop Địa chỉ không hoàn thành Mơ hồ Đang bận Lỗi server bên trong Không thực thi Gateway lỗi Dịch vụ không có sẵn Gateway timeout Phiên bản SIP không hỗ trợ Bận ở mọi nơi Từ chối Không tồn tại ở mọi nơi Không chấp nhận Bảng 2-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 2-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: Nhóm 1-Đ07VTA1 Page 16 Tìm hiểu hệ thống VoIP trên Asterisk - 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ừ 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 2-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. Nhóm 1-Đ07VTA1 Page 17 Tìm hiểu hệ thống VoIP trên Asterisk - Bước 3: Server định vị trả lại địa chỉ của B cho Redirect server. - 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 2-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 18 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 2-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. - Bước 8: Bản tin xửlý cuộc gọi (CPM, Call Proceeding Message) được gửi trở về từ PSTN với các mã chỉ ra trạng thái của cuộc gọi. Nhóm 1-Đ07VTA1 Page 19 Tìm hiểu hệ thống VoIP trên Asterisk - Bước 9: Thông tin trong bản tin CPM được đặt trong thân của đáp ứng SIP 18x và được Gateway gửi đến SIP. Mã sự kiện ISUP được ánh xạ thành mã trạng thái SIP như sau: - Mã sư kiện ISUP Mã trạng thái SIP 1: thông báo 2: tiến hành 3: thông tin inband 4: chuyển cuộc gọi, đường dây bận 5: chuyển cuộc gọi, không trả lời 6: chuyển cuộc gọi, vô điều kiện 180: rung chuông 183: tiến hành cuộc gọi 183: tiến hành cuộc gọi 181: cuộc gọi đang được chuyển 181: cuộc gọi đang được chuyển 181: cuộc gọi đang được chuyển Bước 10 và 11: đáp ứng tạm thời được trả về và được xác nhận. Bước 12: người bị gọi trả lời cuộc gọi, PSTN gửi đến Gateway bản tin ANM. Gateway thực hiện kết nối audio hai chiều. Bước 13 và 14: cuộc gọi hoàn thành bên phía IP của kết nối. b. Định hướng cuộc gọi SIP Hình 2-6: Định hướng cuộc gọi SIP. - Bước 1: Cuộc gọi được khởi đầu từ mạng PSTN, bản tin IAM được gửi đến Gateway. Gateway thực hiện kết nối audio đến PSTN. - Bước 2: Dựa vào thông tin mà nó nhận đươc trong bước 1, Gateway gửi bản tin INVITE đến SIP 1. - Bước 3: SIP 1 trả lại bản tin 3xx thông báo rằng người bị gọi ở một vị trí khác. Thông tin này được mã hóa trong trường Contact của bản tin SIP. Nhóm 1-Đ07VTA1 Page 20
- Xem thêm -

Tài liệu liên quan