1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu hệ thống VoIP trên Asteriskx

25 1,2K 43
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 12,18 MB

Nội dung

chuyên đề voip

Trang 1

đ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

Trang 2

Chương I: Đề xuất 3 giải pháp VoIP, so sánh và quyết định giải pháp triển khai

Chương II : Triển khai VoIP trên hệ thống Asterisk

Chương III: Thực hiện cuộc gọi

Chương IV: Bắt và phân tích các gói tin

Chương IV: Kết luận

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 Nhóm chúng em rất mong nhận được sự góp ý, hướng dẫn giúp đỡ của Thầy và các bạn

Chúng em xin chân thành cảm ơn!

1.1.1 Giới thiệu về phần mềm Asterisk

Asterisk là phần mềm mã nguồn mở miễn phí thực hiện cuộc gọi thoại qua VoIP, cho phép các doanh nghiệp có thể lắp đặt hệ thống tổng đài PBX mà không cần phải mua một hệ thống tổng đài hay phần mềm sở hữu độc quyền cho một hệ thống tổng đài nội bộ Asterisk là công cụ phần mềm mở cho thoại phổ biến nhất trên thế giới Nó cho

Trang 3

truy nhập sử dụng dịch vụ thoại không tính cước (free), và nó còn cung cấp một mức độ lớn các tuỳ biến và tính linh hoạt cho các nhu cầu sử dụng cụ thể của từng đối tượng Đối với các cá nhân, tổ chức biết cách sử dụng Asterisk thì sẽ có nhiều lợi ích và tính năng mà nó có thể cung cấp.

Một số nhà cung cấp mã nguồn mở PBX đã sử dụng Asterisk như một kỹ thuật nền tảng cho các giải pháp về tổng đài riêng PBX hoặc phần mềm VoIP của họ Các nhà cung cấp, chẳng hạn như Free PBX, Elastix, Trixbox và Call Weaver, tất cả đều sử dụng Asterisk như là kỹ thuật lõi cho các giải pháp phần mềm của họ

1.1.2 Tính năng – ưu và nhược điểm của Asterisk

Asterisk có một số lợi ích và một số nhược điểm Những lợi ích của việc sử dụng Asterisk đã làm cho nó trở thành một giải pháp ngày càng phổ biến cho nhiều tổ chức Một số lợi ích của việc sử dụng Asterisk :

- Các cá nhân và công ty có thể chỉnh sửa phần mềm cho phù hợp với nhu cầu cụ thể của họ

- Ưu điểm chính chính là tiết kiệm chi phí lắp đặt cũng như chi phí cho thoại

- Asterisk linh hoạt và có khả năng chỉnh sửa để làm việc với một loạt các thiết bị phần cứng

- Truy cập vào hàng ngàn hướng dẫn trên internet để tạo các giải pháp PBX khác nhau

- Hỗ trợ kỹ thuật và truy cập vào các diễn đàn với chi phí hỗ trợ kỹ thuật hàng tháng thấp

- Các chức năng cho một giải pháp tổng đài PBX chuyên nghiệp, thường được cập nhật

- Asterisk có các GUI và giao diện người dùng cho phép truy cập trực quan và dễ quản lý

• Một số nhược điểm mà các giải pháp phần mềm mã nguồn mở PBX còn là :

- Hỗ trợ là một chi phí thêm trong hầu hết các giải pháp

- Khó khăn trong việc triển khai thực hiện hoặc hiểu rõ làm thế nào để sử dụng phần mềm

- Đối với doanh nghiệp: cần có thời gian và nguồn lực cần thiết để chi trả cho việc đào tạo nhân viên biết cách cài đặt, cấu hình, và sử dụng phần mềm

2.1 OpenSIP

2.1.1 Khái niệm OpenSIPS

OpenSIPS (Open SIP Server) là một hệ thống mã nguồn mở của một SIP server.Nó không chỉ là một SIP proxy/router vì OpenSIPS bao gồm những chức năng ở cấp độ ứng dụng, OpenSIPS như là một máy chủ SIP,là thành phần cốt lõi của bất kỳ giải pháp VoIP trên SIP server đa chức năng,đa mụcđích:Router,switch,application-server,redirect-server,gateway,load-balancer Với một cơ cấu định tuyến linh hoạt và

Trang 4

nhanh nhất,với một thông lượng được xác định nó như là một giải pháp tối ưu cho doanh nghiệp,các ngành công nghiệp.

2.1.1.2Tính năng và lợi ích của OpenSIPS

2.1.1.1 OpenSIPS trong VoIP

Hình 1: OpenSIPS trong VoIP

.1.2.2 Kiến trúc OpenSIPS

OpenSIPS là một SIP proxy,nó đơn giản hơn B2BUA trong Asterisk bởi vì một

SIP proxy chỉ liên quan đến báo hiệu.OpenSIPS bao gồm hơn 70 module, mỗi module

có một chức năng riêng, với giao diện module PLUG and PLAY thì OpenSIPS dễ dàng

mở rộng và nâng cấp các tính năng của mà không ảnh hưởng tới phần lõi và càng làm tăng sự ổn định của hệ thống lõi

.1.2.3 Khả năng kết nối đến PSTN

OpenSIPS cần một SIP gateway để kết nối tới PSTN.Nó không có khả năng cài đặt thẻ điện thoại trong server.Thông thường,người ta sẽ thực hiện Asterisk như là một cổng PSTN cho OpenSIPS

.1.2.4 Giao tiếp với NAT

OpenSIPS có liên quan nhiều đến NAT,cho phép thoại hoặc luồng dữ liệu từ điện thoại IP hoặc phần mềm VoIP của khách hàng trực tiếp đến một nhà cung cấp dịch vụ

Trang 5

VoIP.Thuật toán “chuyên ngành băm” trongOpenSIPS có thể được cấu hình để cân bằng tải bởi các"tên người dùng", "ruri", "callid",và các đặc tính khác.OpenSIPS là

"failover aware" và có thể làm một phần bổ sung rất hữu ích của giải pháp Asterisk

.1.2.6 Giao diện quản lí và cơ sở dữ liệu

Giao diện quản lí (cho tích hợp ngoài) thông qua FIFO file, XMLRPC hoặc Datagram (UDP hoặc Unixsockets)

OpenSIPS đa cơ sở dữ liệu backends - MySQL, PostgreSQL, Oracle, Berkeley, flat files và các loại database khác có thể xử lý unixodbc

.1.2.8 Dịch vụ truyền thông

OpenSIPS là một Proxy SIP và không có khả năng của bất kỳ mạng lưới dịch vụ truyền thông tin liên quan (phần tiếng nói của một cuộc điện thoại).OpenSIPS không phải là một nền tản mà ta sử dụng để tạo ra hệ thống như IVR,thư thoại,TTS và nhận biết tiếng nói…Điều này là do thiết kế

.1.2.8 Khả năng nâng cấp OpenSIPS

OpenSIPS có thể chạy trên hệ thống nhúng, hiệu suất thiết lập cuộc gọi có thể lên đến hàng trăm cuộc gọi/giây

Với hệ thống có bộ nhớ 4GB, OpenSIP có thể phục vụ hơn 300.000 thuê bao trực tuyến

Hệ thống có thể dễ dàng mở rộng bằng cách thêm máy chủ OpenSIPS

OpenSIPS hỗ trợ IPv4 và IPv6 và có thể phục vụ được Multiple domain

.1.3 Kết luận

OpenSIPS là Carrier Class SIP proxy server được sử dụng chủ yếu bởi các nhà cung cấp VoIP Nó được thiết kế để xử lý khối lượng lớn các cuộc gọi, cân bằng truyền tải SIP,giải quyết các kịch bản nâng cao cho NAT và liên quan đến báohiệu trong SIP.Nổi bật về tính năng linh hoạt và sự ổn định, OpenSIPS đang liên tục phát triển các tính năng đó trong Viễn thông Rất phổ biến trong các dịch vụ cung cấp VoIP/Internet Telephony, OpenSIPS cung cấp nền tảng truyền thông hoàn chỉnh: Vocie,Video, Instant Messaging và Presence.Hơn thế nữa cấu hình OpenSIPS server không phải là dễ dàng,nhưng đó là chìa khóa thành công và bảo mật cho dự án IP.Với đặc tính linh hoạt của OpenSIPS cho phép triển khai dich vụ tiên tiến và tiết kiệm được thời gian và chi phí

.1 Kamailio

Cũng giống như OpenSIP, Kamailio được phát triển lên từ OpenSER, nhưng OpenSIP thì lại đi theo hướng khác, hai nhánh này do sự xung đột về nhóm core nên được tách ra làm hai Đến Kamailio phiên bản 3.0 thì hai nhóm lại kết hợp và cùng chia

sẻ nhiều chức năng chungđể tương thích với nhau, có thể sẽ hợp nhất lạitrong tương lai

Trang 6

- SIP Client (UA).

Asterisk là IP PBX, hỗ trợ rất đầy đủ tính năng của một tổng đài nội bộ, còn Kamailio thì được gọi là SIP Server, một phần của hệ thống SIP (chỉ quan tâm tới control), chứ không gọi là IP PBX (một bộ hoàn chỉnh cả control lẫn media) Cũng vì

lý do chỉ quan tâm tới control, nên khả năng xử lý của Kamailio là rất khủng khiếp Một server bình thường (2 core, vài GB RAM) có khả năng quản lý hàng chục ngàn subsciber, định tuyến hàng ngàn hướng khác nhau, và hàng trăm cuộc gọi/giây Asterisk

để đạt được khả năng đó thì phải sử dụng rất nhiều server mạnh.Nhìn chung cả Asterisk

và Kamailio đều hỗ trợ SIP Điểm khác nhau là ở chỗ, trong khi Asterisk là một hệ thống khá hoàn chỉnh, hỗ trợ cả điều khiển và các dịch vụ đa phương tiện thì Kamailio đơn thuần chỉ là SIP server trong mô hình VoIP, chính vì tính chuyên biệt như vậy nên hiệu suất của nó là rất cao Tuy nhiên, một mình Kamailio thì chưa đủ để tạo nên một

hệ thống VoIP kiểu như PBX mà Asterisk vẫn làm, phải có thêm hàng loạt các thiết bị liên quan đến medianữa mới gần đủ chức năng như Asterisk:

Media gateway (ví dụ FXO gate kết nối đi PSTN, cái này Asterisk có thể tự làm hoặc là sử dụng ngoài)

- MCU (conference server)

- IVR gateway

- ACD Gateway

- Recording Server

- Voice Mail server

Trong khi các chức năng này Asterisk có sẵn Nhìn chung, Kamailio là một sản phẩm của hướng phát triển VoIP, đó là chia nhỏ và chuyên biệt hóa các thành phần của

hệ thống

Với việc bước đầu làm quen với VoIP, kiến thức còn hạn chế nhiều mặt, nên trong chuyên đề này chúng em sẽ tìm hiểu về Asterisk, do hiện nay Asterisk khá phổ biên và được sử dụng nhiều, các tài liệu hỗ trợ tìm hiểu cũng đa dạng Việc xây dựng mô hình mạng cũng tương đối đơn giản, nằm trong khả năng của nhóm

Trang 7

CHƯƠNG II: TRIỂN KHAI HỆ THỐNG ASTERISK

Asterisk là một phần mềm mang tính cách mạng, tin cậy, mã nguồn mở và miễn phí mà biến một PC rẻ tiền thông thường chạy Linux thành một hệ thống điện thoại doanh nghiệp mạnh mẽ Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại và là một server xử lý cuộc gọi đầy đủ chức năng Asterisk là một nền tảng tích hợp điện thoại vi tính hoá kiến trúc mở Nhiều hệ thống Asterisk đã được cài đặt thành công trên khắp thế giới Công nghệ Asterisk đang phục vụ cho nhiều doanh nghiệp Asterisk đem đến cho người sử dụng tất cả các tính năng và ứng dụng của hệ thống tổng đài PBX và cung cấp nhiều tính năng mà tổng đài PBX thông thường không có được

2.1 Giới thiệu chung

- Mục đích:

• Thực hiện thử nghiệm các hình thức truyền thoại qua môi trường IP

• Nghiên cứu các tính năng tối ưu mà hệ thống Asterisk đem lại

- Quy mô hệ thống:

Do hạn chế về cơ sở hạ tầng, thiết bị nên thí nghiệm ở đây được xây dựng với quy

mô nhỏ, chủ yếu nhằm mục đích nghiên cứu các tính năng một hệ thống VoIP

2.2 Kết nối phần cứng

Các thiết bị dùng cho triển khai hệ thống Asterisk được kết nối theo mô hình sau:

Trang 8

Hình 2: Các thiết bị trong hệ thống Asterisk

PBX là một máy chủ sử dụng OS là Windows, cài đặt Asterisk 1.6 Cấu hình máy chủ:

- RAM: 1GB

- CPU: 2GHz

- HDD: 250GB

2 Laptop sử dụng có cài đặt softphone X-Lite

Switch có đủ cổng để kết nối tới các máy tính khác

Kết quả mong muốn đạt được là thực hiện được cuộc gọi VoIP trong mạng LAN, dùng phần mềm Wireshark bắt và phân tích các gói tin SIP

2.3 Cài đặt phần mềm

.3.1 Máy chủ PBX

Cài đặt OS là Windows7giao diện của hệ điều hành:

Trang 9

Hình 3: Giao diện hệ điều hành

.3.2 Cài đặt phần mềm Asterisk trên máy chủ

Trang 10

Hình 4 – Cài đặt Net Framework 4.0 để hỗ trợ cài đặt Asterisk

Trang 13

Hình 5- Quá trình cài đặt phần mềm Tổng đài PBX Asterisk

.3.3 Cài đặt softphone trên các laptop

Softphone được sử dụng là phần mềm X-Lite 4( download phần mềm miễn phí từ địa chỉ: http://www.counterpath.com/x-lite-4.0-for-windows-download.html)

Trang 14

Hình 5- Quá trình cài đặt softphone X-Lite 4

Trang 15

CHƯƠNG III: THỰC HIỆN CUỘC GỌI VOIP

Ta tiến hành khai báo 2 thuê bao 3000(IP:192.168.1.190) và 3001 (IP:192.168.1.101) tại tổng đài rồi nhập user name, passwordvào (hoặc để trống) trong giao diện X Lite, chọn Domain là IP của tổng đài PBX 192.168.1.100, khai báo các thông số thuê bao

Hình 6: Giao diện của phần mềm X Lite

Trang 16

Hình 7 – Khai báo Account cho các Client

Trang 17

Hình 9- Client 3001 đã kết nối đàm thoại thành công với client 3002 và đang

nhận cuộc gọi thứ 2 từ tổng đài PBX

Hình 10- Client 3001 đang giữ cuộc gọi (hold) với client 3002 và kết nối đàm

Trang 18

.2 Khởi tạo phiên

Quá trình thiết lập phiên khởi tạo cuộc gọi giữa 2 thuê bao 3000( 192.168.1.190)

và 3001(192.168.1.101) được thực hiện bởi giao thức SIP (Session Initiation Protocol) Đầu tiên, 3000(192.168.1.190) gửi bản tin Invite thuê bao 3001(192.168.1.101) đến

Trang 19

thuê bao.Tiếp theo 3001 chấp nhận cuộc gọi nên nó gửi một đáp ứng ACK cho PBX, PBX xác nhận lại bằng bản tin Ack Sau đó, PBX gửi đáp ứng về cho 3000 để thông báo cho 3000 biết được là 3001 đã chấp nhận cuộc gọi của 3000,3000 xác nhận đã nhận được bản tin bằng bản tin Ack đến PBX.Sau khi Ack đã được gửi và nhận thì hai user của cuộc gọi có thể bắt đầu đàm thoại với nhau.

Hình 12- bắt gói bản tin SIP trong cuộc gọi VoIP

.3 Quá trình đàm thoại

Sau khi phiên đàm thoại được khởi tạo, ở cả 2 softphone sẽ thực hiện mã hóa tín hiệu rồi truyền đi theo giao thức RTP Đầu tiên chúng ta tìm hiểu khái niệm giao thức RTP: RTP ( viết tắt của Real-time Transport Protocol) là một giao thức Internetchuẩn được sử dụng rộng rãi trong các ứng dụng thời gian thực như điện thoại Internet, video streaming Giao thức RTP định nghĩa cách thức cho phép các ứng dụng quản lý việc truyền tải thông tin với thời gian thực (real-time transmission)

Dưới đây là cấu trúc khung của một gói tin RTP:

Trang 20

Hình 13: Cấu trúc khung của gói tin RTP

- Header RTP gồm các thông tin cần thiết cho ứng dụng đích cấu trúc lại mẫu tiếng nói đã được chia nhỏ để truyền trên đường truyền

V (Version): Chỉ ra version của RTP – 2bit

• P (Padding) : Cho biết có các byte đệm ở cuối vùng payload hay không ( Do

chiều dài vùng payload của gói RTP phải là bội số của 32) – 1 bit

• X (Extension) : Cho biết header RTP có phần header extension hay không – 1bit

CSRC count: Cho biết số nhận diện nguồn phát trong vùng CSRC – 4bit

• M (Marker): Đánh dấu khi bắt đầu truyền dữ liệu thoại Hỗ trợ tính năng loại

bỏ khoảng lặng – 1bit

• PT (Payload Type): Chỉ ra loại chuẩn mã hóa được dùng để mã hóa dữ liệu

thoại trong vùng payload – 7bit

• Sequence number: Số thứ tự của các gói RTP được gửi đi Giúp đầu thu xác định được sự mất gói và thứ tự gói Giá trị ban đầu được thiết lập ngẫu nhiên –

16bit

• Timestamp: Chỉ ra thời điểm mà mẫu đầu tiên trong payload được tạo ra (Thời điểm lấy mẫu được tham chiếu tới đồng hồ xung clock) Giá trị ban đầu của

timestamp là một giá trị ngẫu nhiên – 32bit

• Synchonization Source Identifier (SSRC): Giúp đầu thu nhận dạng đồng bộ

phía đầu phát – 32bit

RTP packet

Trang 21

hiệu thoại đã được mã hóa – bội số của 32bit

Sau đây chúng ta sẽ bắt một gói tin RTP trong quá trình thực hiện đàm thoại để phân tích:

Gói tin được bắt là gói tin thứ 29900 trong số các gói tin giao tiếp giữa hai máy trong quá trình thiết lập cuộc gọi: Máy nguồn có địa chỉ IP: 192.168.1.200 gọi tới máy đích có địa chỉ IP: 192.168.1.100

Hình 14- Bắt gói bản tin RTP

Các bản tin RTP như vậy được trao đổi qua lại cho đến khi kết thúc phiên đàm thoại

.4 Kết thúc phiên:

Khi 3000 hay 3001 muốn kết thúc cuộc gọi thì chúng sẽ đưa ra yêu cầu BYE, bất

cứ bên nào trong cuộc gọi đều có thể đưa ra yêu cầu này, trong trường hợp này thì bên

3000 yêu cầu kết thúc cuộc gọi trước, gửi bản tin bye đến PBX, PBX xác nhận lại Sau

đó, PBX gửi tới 3000 chấp nhận kết thúc cuộc gọi

Trang 22

Hình 15- Bắt gói bản tin SIP kết thúc cuộc gọi

CHƯƠNG V: KẾT LUẬN

SIP là giao thức báo hiệu linh hoạt, mềm dẻo và rất thích hợp khi sử dụng trong

Trang 23

xây dựng tài liệu chuẩn cho các phần mở rộng liên quan.

Asteriskđang liên tục phát triển các tính năng đó trong Viễn thông

Rất phổ biến trong các dịch vụ cung cấp VoIP/Internet Telephony, Asterisk cung cấp nền tảng truyền thông hoàn chỉnh : Vocie ,Video, Instant Messaging và Presence Hơn thế nữa.Cấu hình Asterisk server không phải là dễ dàng ,nhưng đó là chìa khóa thành công và bảo mật cho dự án IP Với đặc tính linh hoạt của Asterisk cho phép triển khai dich vụ tiên tiến và tiết kiệm được thời gian và chi phí

Hạn chế và hướng phát triển của đề tài

- Hạn chế của đề tài

Chưa khai thác và thể hiện được hết các chức năng của Asterisk Mới thực hiện thiết lập cuộc gọi giữa PC – PC , chưa thực hiện được những ứng dụng của Asterisk trong mô hình thực tế khác ví dụ như thực hiện cuộc gọi call video, cuộc gọi từ IP telephone – PC, IP telephone – IP telephone thông qua Asterisk…

- Hướng phát triển của đề tài

Tìm hiểu và nghiên cứu cách cấu hình Asterisk để có thể ứng dụng được tất cả các chức năng của nó trong mạng VoIP, phục vụ cho các doanh nghiệp, các ngành Công nghiệp một cách tối ưu nhất

DANH MỤC TỪ VIẾT TẮT

HTTP Hypertext Transfer Protocol

Ngày đăng: 04/03/2013, 21:55

HÌNH ẢNH LIÊN QUAN

Hình 1: OpenSIPS trong VoIP - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 1 OpenSIPS trong VoIP (Trang 4)
Hình 2: Các thiết bị trong hệ thống Asterisk - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 2 Các thiết bị trong hệ thống Asterisk (Trang 8)
Hình 3: Giao diện hệ điều hành - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 3 Giao diện hệ điều hành (Trang 9)
Hình 4 – Cài đặt .Net Framework 4.0 để hỗ trợ cài đặt Asterisk - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 4 – Cài đặt .Net Framework 4.0 để hỗ trợ cài đặt Asterisk (Trang 10)
Hình 5- Quá trình cài đặt softphone X-Lite 4 - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 5 Quá trình cài đặt softphone X-Lite 4 (Trang 14)
Hình 6: Giao diện của phần mềm X Lite - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 6 Giao diện của phần mềm X Lite (Trang 15)
Hình 9- Client 3001 đã kết nối đàm thoại thành công với client 3002 và đang - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 9 Client 3001 đã kết nối đàm thoại thành công với client 3002 và đang (Trang 17)
Hình 12- bắt gói bản tin SIP trong cuộc gọi VoIP - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 12 bắt gói bản tin SIP trong cuộc gọi VoIP (Trang 19)
Hình 13: Cấu trúc khung của gói tin RTP - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 13 Cấu trúc khung của gói tin RTP (Trang 20)
Hình 14- Bắt gói bản tin RTP - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 14 Bắt gói bản tin RTP (Trang 21)
Hình 15- Bắt gói bản tin SIP kết thúc cuộc gọi - Tìm hiểu hệ thống VoIP trên Asteriskx
Hình 15 Bắt gói bản tin SIP kết thúc cuộc gọi (Trang 22)

TỪ KHÓA LIÊN QUAN

w