tìm hiểu hệ thống voip trên asterisk - Pdf 13

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGH THÔNG TINỆ
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: [email protected]

BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGÀNH CÔNG NGH THÔNG TINỆ
MÃ NGÀNH : 05115
ĐỀ TÀI :
TÌM HIỂU HỆ THỐNG VoIP TRÊN ASTERISK
SINH VIÊN : Nguyễn Hà Hải Đăng
LỚP : 08T4
ĐƠN VỊ : TRƯỜNG TÂN GROUP
CBHD : GV. Nguyễn Đức Quang
ĐÀ NẴNG, 1/2013
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến khoa Công Nghệ Thông Tin đã
giới thiệu nơi thực tập và đã nhiệt tình hướng dẫn em trong quá trình thực
tập.
Em xin gửi lời cảm ơn chân thành đến lãnh đạo công ty đã tạo điều
kiện, cung cấp cơ sở vật chất để em có thể thực tập tại công ty.
Em xin gửi lời cảm ơn chân thành đến thầy Nguyễn Đức Quang –
giảng viên của Trường Tân Group đã tạo điều kiện để em thực tập tại công
ty.
Em cũng xin gửi lời cảm ơn sâu sắc đến các anh chị nhân viên trong
Trường Tân Group đã nhiệt tình hướng dẫn và chỉ bảo để em có được
những kinh nghiệm thực tế của người kỹ sư công nghệ thông tin.
Qua quá trình thực tập, em đã thu thập được những kiến thức và kinh
nghiệm quý báu. Những kinh nghiệm đó sẽ giúp em rất nhiều trong việc
thực hiện luận văn tốt nghiệp và công việc sau này của em. Một lần nữa em

TỔNG QUAN VỀ GIAO THỨC SIP 10
.I Tổng quan về giao thức khởi tạo phiên SIP 10
.II Cấu trúc của SIP 11
.II.1. Các thành phần của SIP 11
.II.2. Hoạt động của các bản tin SIP 12
.II.2.1. Địa chỉ của SIP 12
.II.2.2. Định vị server SIP 12
.II.2.3. Định vị người dùng 13
.II.2.4. Thay đổi một phiên đang tồn tại 13
.II.2.5. Các bản tin của SIP 13
.II.2.6. Tiêu đề bản tin 14
.II.2.7. Bản tin yêu cầu 15
.II.2.8. Bản tin đáp ứng 16
.II.2.9. Thiết lập và hủy cuộc gọi SIP 19
.II.2.10. Liên vận giữa SIP và SS7 21
.II.2.11. Tính năng của SIP 24
GIỚI THIỆU BA PHẦN MỀM ỨNG DỤNG VOIP 26
.I Asterisk 26
.I.1. Giới thiệu về phần mềm Asterisk 26
.I.2. Tính năng và lợi ích của Asterisk 26
.II OpenSIP 27
.II.1. Khái niệm OpenSIPS 27
.II.2. Tính năng và lợi ích của OpenSIPS 27
.II.2.1. OpenSIPS trong VoIP 27
.II.2.2. Kiến trúc OpenSIPS 28
.II.2.3. Khả năng kết nối đến PSTN 28
i
Mục lục ii
.II.2.4. Giao tiếp với NAT 28
.II.2.5. Cân bằng tải 28

Tháng 5 năm 2006 hợp tác với công ty TNHH VSIC Informatics - công ty 100% vốn nước
ngoài - đầu tư và thành lập chi nhánh công ty TNHH VSIC Informatics tại Đà Nẵng, hoạt
động chuyên về lĩnh vực đào tạo CNTT.
Tháng 01 năm 2008: Mua lại toàn bộ chi nhánh công ty TNHH VSIC Informatics tại Đà
Nẵng, tăng vốn điều lệ và đổi tên thành TTG Training Center.
Từ thời điểm có mặt tại Đà Nẵng năm 2006 VSIC Informatics (nay là TTG Training
Center) đã từng bước khẳng định và dần trở thành một trong những Trung tâm đào tạo Công
nghệ mạng máy tính hàng đầu tại Đà Nẵng nói riêng và các tỉnh miền Trung nói chung.
Để giữ vững vị thế hàng đầu trong đào tạo Công nghệ mạng máy tính, TTG Training
Center tiếp tục những nỗ lực để duy trì chất lượng đào tạo ưu việt cùng với những dịch vụ hỗ
trợ học viên tốt nhất.
TTG Training Center hiện là nhà cung cấp hàng đầu về dịch vụ đào tạo trong lĩnh lực công
nghệ thông tin và truyền thông tại Việt Nam:
Giảng viên đẳng cấp Quốc tế, nhiệt tình, tận tâm và kinh nghiệm thực tiễn.
Thiết bị đầy đủ, hiện đại của chính hãng.
Chương trình, giáo trình luôn được cập nhật Version mới nhất.
Thực hành ngoài giờ trên thiết bị và không giới hạn thời gian.
Tham gia miến phí các Hội thảo chuyên đề hàng tuần để bổ sung thêm kiến thức thực tiễn.
Trụ sở TRUONG TAN Group Training Center
Cơ sở 1: 134 Lê Duẩn, Quận Hải Châu, Thành phố Đà Nẵng
Cơ sở 2: 75 Nguyễn Khuyến, Quận Thanh Khê, Thành phố Đà Nẵng
Điện thoại: (0511) 3867768 - Fax: (0511) 3867767 - Email: [email protected].
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
Nguyễn Hà Hải Đăng, LỚP 08T4 3
Tìm hiểu hệ thống VoIP trên Asterisk
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,

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
Nguyễn Hà Hải Đăng, LỚP 08T4 5
Tìm hiểu hệ thống VoIP trên Asterisk
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) 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:

6
Tìm hiểu hệ thống VoIP trên Asterisk
.II.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.
.II.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
.II.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ể.
.II.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.

(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ể.
.V 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…
8
Tìm hiểu hệ thống VoIP trên Asterisk
Đ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:
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.
9

Location
Server
Registrar
Server
User Agent
Gateway
SIP Components
Proxy
Server
Proxy
Server
PSTN
Tìm hiểu hệ thống VoIP trên Asterisk
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.
.II Cấu trúc của SIP
.II.1. Các thành phần của SIP
Hình II-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

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:
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.
12
Tìm hiểu hệ thống VoIP trên Asterisk
.II.2.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.
.II.2.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 Call-ID 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ỉ

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
14
Tìm hiểu hệ thống VoIP trên Asterisk
Via
Bảng II-1: Các tiêu đề bản tin.

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 II-3: Các bản tin yêu cầu của SIP
.II.2.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]
16
Tìm hiểu hệ thống VoIP trên Asterisk

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
Lỗi server 500 Lỗi server bên trong
501 Không thực thi
502 Gateway lỗi
503 Dịch vụ không có sẵn
504 Gateway timeout
18
Tìm hiểu hệ thống VoIP trên Asterisk
505 Phiên bản SIP không hỗ trợ
Lỗi toàn cầu 600 Bận ở mọi nơi

dụng bản tin BYE và ACK giữa hai điểm cuối.
2. Hoạt động của máy chủ chuyển đổi địa chỉ (Redirect Server):
Hình II-4: 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.
− 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.
20
Tìm hiểu hệ thống VoIP trên Asterisk
− 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 II-5: 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.
.II.2.10. Liên vận giữa SIP và SS7


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status