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ụ.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
BÁO CÁO
MÔN: TRUYỀN THÔNG ĐA PHƯƠNG TIỆN
Đề số 15:
“Tìm hiểu công nghệ dịch vụ truyền âm thanh
tiếng nói thoại qua mạng IP (VOIP) và ứng dụng”
Trang 2LỜI NÓI ĐẦU
Điện thoại là phương tiện liên lạc không thể thiếu trong cuộc sống hiện đại Ngày nay, với sự phát triển mạnh mẽ của Internet, ra đời nhiều loại hình dịch vụ phục vụ cho việc liên lạc của con người Trong đó VoIP là công nghệ mang tính cách mạng làm thay đổi thế giới điện thoại với chất lượng dịch vụ khá cao
Để hiểu rõ được bản chất và ứng dụng của VoIP, chúng ta cùng tìm hiểu cụ thể qua từng phần của công nghệ này
Nội dung bài báo cáo:
Chương 1: Tổng quan về công nghệ VOIP
- Tìm hiểu chung về công nghệ VOIP
- Các mô hình VOIP
- Vai trò của tổng đài PBX trong hệ thống
Chương 2: Công nghệ SIP trong VOIP
- Giới thiệu
- Các thành phần trong SIP
- Các bản tin trong SIP
- Phương thức hoạt động
- Tính năng của SIP
- Các giao thức của SIP
Chương 3: Môi trường tổng đài Asterisk và các thử nghiệm
Trang 3MỤC LỤC
Trang 4CHƯƠNG 1:
TỔNG QUAN VỀ CÔNG NGHỆ VOIP
1 Giới thiệu chung về VOIP
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 có thể vừa thực hiện mọi loại cuộc gọi như trên mạng điện thoại kênh truyền thống (PSTN) đồng thời truyền dữ liệu trên cơ sở mạng truyền dữ liệu Do các ưu điểm
về giá thành dịch vụ và sự tích hợp nhiều loại hình dịch vụ nên voip hiện nay được triển khai một cách rộng rãi
1.1 Ưu điểm
Một ưu điểm đầu tiên là gọi miễn phí nếu sử dụng cùng dịch vụ, cùng thiết bị VoIP hoặc cùng tổng đài IP ( hay còn gọi là gọi nội mạng) Hoặc nếu không thì giá thành cũng rẻ đáng kể so với sử dụng cách gọi truyền thống PSTN (Public Switched Telephone Network)
Giải pháp VoIP cũng làm giảm đáng kể chi phí cho việc quản lý bảo trì
hệ thống mạng thoại và dữ liệu
Trang 5 Tích hợp mạng thoại, mạng số liệu và mạng báo hiệu: trong điện thoại IP,tín hiệu thoại, số liệu và ngay cả báo hiệu đều có cùng đi trên một mạng
IP Điều này sẽ giúp tiết kiệm chi phí khi đầu tư nhiều mạng riêng lẽ
Khả năng mở rộng: Các tổng đài điện thoại thường là những hệ thống kín, rất khó để thêm vào đó những tính năng thì các thiết bị trong mạng internet thường có khả năng thêm vào những tính năng mới
Trong một cuộc gọi người sử dụng có thể vừa nói chuyện vừa sử dụng các dịch vụ khác như truyền file, chia sẽ dữ liệu hay xem hình ảnh của người nói chuyện bên kia
Một lợi ích nữa là, việc sử dụng đồng thời cả điện thoại bàn thông thường
và điện thoại IP (có dây hoặc không dây) qua hệ thống mạng LAN (LocalArea Network) sẽ đảm bảo thông tin liên lạc của doanh nghiệp không bị gián đoạn khi xảy ra sự cố
Vấn đề bảo mật (Security): Mạng internet là một mạng có tính rộng khắp
và hỗn hợp Trong đó có rất nhiều loại máy tính khác nhau và các dịch vụkhác nhau cùng sử dụng chung một cơ sở hạ tầng Do vậy không có gì đảm bảo rằng những thông tin của người sử dụng được bảo mật an toàn
Trang 6II CÁC MÔ HÌNH VOIP
Trang 72 PC to Phone
Là 1 dịch vụ có phí Bạn phải trả tiền để có một account và một software (VDC, Evoiz, Netnam,…) Với dịch vụ này một máy PC có kết nối tới một máy điện thoại thông thường ở bất cứ đâu ( tuỳ thuộc phạm vi cho phép trong danh sách các quốc gia mà nhà cung cấp cho phép) Người gọi sẽ bị tính phí trên lưu lượng cuộc gọi và khấu trừ vào tài khoản hiện có
Hình 2: Mô hình PC to Phone
Trang 83 Phone to Phone
Là một dịch vụ có phí Bạn không cần kết nối Internet mà chỉ cần một VoIP adapter kết nối với máy điện thoại Lúc này máy điện thoại trở thành một IP phone
Hình 3: Mô hình Phone to Phone
Trang 9III TỔNG ĐÀI PBX
PBX hay còn gọi là PABX - Private Automatic Branch Exchange là hệ thống tổng đài nội bộ được đặt tại nhà thuê bao, từ Automatic ở đây muốn nói đến là hệ thống tổng đài điện tử tự động nhưng hiện nay đa số là tổng đàiPBX điện tử tự động nên từ trên thực sự không còn cần thiết nữa
PBX với mục tiêu chia sẻ nhiều thuê bao nội bộ gọi ra thế giới bên ngoài thông qua một vài đường trung kế hay nói một cách khác PBX là hệ thống trung chuyển giữa các đường dây điện thoại bên ngoài từ công ty điện thoại
và máy điện thoại nội bộ trong tổng đài PBX Vì thế nên số lượng máy điện thoại nội bộ luôn nhiều hơn số đường dây nối đến PBX từ bên ngoài
PBX thực hiện chuyển mạch cuộc gọi các máy điện thoại nội bộ với nhau vàvới các máy điện thoại bên ngoài thông qua đường trung kế Đồng thời thực hiện chuyển mạch các cuộc gọi điện thoại từ bên ngoài vào các máy điện thoại nội bộ
Ngoài việc chuyển mạch cuộc gọi PBX cung cấp nhiều tính năng sử dụng cho nhiều mục đích khác nhau của khách hàng mà bản thân các đường dây điện thoại từ công ty điện thoại kết nối đến không thể thực hiện được, các tính năng như tương tác thoại(IVR), Voicemail, phân phối cuộc gọi tự
động(ADC)…
Trang 10 Hiện nay với việc phát triển mạnh mẽ của công nghệ VoIP, chúng ta còn có thêm thuật ngữ IP PBX Đây là hệ thống chuyển mạch PBX với công nghệ Voip.
Trang 11SIP 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ả mang phiên truyền dẫn SIP hỗ trợ các phiên đơn bá (unicast) và quảng bá (mutilcast) tương ứng các cuộc gọi điểm tới điểm và các cuộc gọi đa điểm
SIP là một giao thức dạng văn bản, rất công khai và linh hoạt Được thiết kế tương thích tương thích với các giao thức khác như TCP, UDP, IP,… để cung cấp một lĩnh vực rộng hơn cho dịch vụ VoIP
SIP gồm hai thành phần lớn là SIP client (là thiết bị hỗ trợ giao thức SIP) và SIP server (là thiết bị trong mạng xử lý các bản tin SIP) Trong SIP có 5 thành phần quan trọng là:
Trang 12
User Agents (UA): là các đầu cuối trong mạng SIP, nó đại diện cho phía người sử dụng để khởi tạo một yêu cầu tới SIP server hoặc User Agent server
Proxy server: làm nhiệm vụ chuyển tiếp các SIP request tới các nơi khác trong mạng Chức năng chính của nó là định tuyến cho các bản tin đến đích
Redirect server: là user agent server nhận các bản tin request từ các user agent client và trả về bản tin return để thông báo thiết bị là chuyển hướng bản tin tới địa chỉ khác – tự liên lạc thông qua địa chỉ trả về
Registrar server: là server nhận bản tin SIP Register yêu cầu cập nhật thông tin mà user agent cung cấp từ bản tin Register
Location Server: lưu lượng thông tin, trạng thái hiện tại của người dùng trong mạng SIP
III CÁC BẢN TIN TRONG SIP
INVITE: bắt đầu thiết lập cuộc gọi bằng cách gửi bản tin mời đầu cuối khác tham gia
ACK: bản tin này khẳng định máy trạm đã nhận được các bản tin trả lời bản tin INVITE
BYE: bắt đầu kết thúc cuội gọi
CANCEL: hủy yêu cầu nằm trong hàng đợi
REGISTER: thiết bị đầu cuối của SIP sử dụng bản tin này để đăng ký với máy chủ đăng ký
OPTION: sử dụng để xác định năng lực của máy chủ
INFO: sử dụng để tải các thông tin như âm báo
Trang 13 REQUEST: cho phép user agent và proxy có thể xác định người dùng, khởi tạo, sữa đổi, hủy một phiên.
RETURN: được gửi bởi user agent server hoặc SIP server để trả lời cho một bản tin request trước đó
IV PHƯƠNG THỨC HOẠT ĐỘNG
Hoạt động của máy chủ ủy quyền (Proxy Server)
Hoạt động của Proxy server được trình bày như trong hình: SIP Client
userA@yahoo.com gửi bản tin INVITE cho userB@hotmail.com để mời tham gia cuộc gọi
Các bước được thực hiện như sau:
Bước 1: userA@yahoo.com gửi bản tin INVITE cho user B ở miền hotmail.com, bản tin này đến Proxy server SIP của miền hotmail.com
Trang 14(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 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 user B Từ Proxy server của miền hotmail nó sẽ đến Location server để định vị trí hiện tại của user B
Bước 3: Server định vị trả lại ví trí hiện tại của user B (giả sử là
userB@hotmail.com )
Bước 4: Proxy server gửi bản tin INVITE tới userB@hotmail.com Proxy server thêm địa chỉ của nó trong một trường của bản tin INVITE
Bước 5: User B đá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ề userA@yahoo.com
Bước 7: userA@yahoo.com gửi bản tin ACK cho user B thông qua Proxy server
Bước 8: Proxy server chuyển bản tin ACK cho userB@hotmail.com
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
Hoạt động của máy chủ chuyển đổi địa chỉ (Redirect Server)
Trang 15Hoạt động của Redirect Server được trình bày như trong hình:
Các bước được thực hiện như sau:
Bước 1: Redirect server nhận được yêu cầu INTIVE từ user A (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 user B
Bước 3: Server định vị trả lại địa chỉ của user B cho Redirect server
Bước 4: Redirect server trả lại địa chỉ của user B cho user A Nó không phát yêu cầu INTIVE như Proxy server
Bước 5: User Agent bên user 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: user A gửi yêu cầu INVITE trực tiếp đến địa chỉ được trả lại bởiRedirect server User B đáp ứng với chỉ thị thành công (200 - OK), và user A đáp trả bản tin ACK xác nhận Cuộc gọi được thiết lập
Trang 16 Thiết lập một phiên: SIP sử dụng bản tin INVITE để yêu cầu thiết lập một phiên truyền thông.
Đơn giản và có khả năng mở rộng: SIP có rất ít bản tin, không có chức năng thừa nhưng SIP có thể sử dụng để thiết lập nhưng phiên kết nối phức tạp như hội nghị… Các phần mềm của máy chủ ủy quyền, máy chủ đăng ký, máy chủ chuyển đổi địa chỉ,…có thể chạy trên các máy chủ khác nhau và việc cài đặt thêm máy chủ hoàn toàn không ảnh hưởng đến máy chũ đã có
Hỗ trợ tối đa sự di động của đầu cuối: do máy chủ ủy quyền, máy chủ đăng ký
và máy chủ chuyển đổi địa chỉ hệ thống luôn nắm được địa điểm chính xác của thuê bao Ví dụ thuê bao với địa chỉ ptit@vnpt.com.vn có thể nhận được cuộc gọi thoại hay thông điệp ở bất cứ địa điểm nào qua bất cứ đầu cuối nào như máy tính để bàn, máy xách tay, điện thoại SIP… Với SIP rất nhiều dịch vụ di động mới được hỗ trợ
Định vị người sử dụng: những người sử dụng đầu cuối sẽ luôn di động và địa chỉ IP của họ là không cố định, các đầu cuối có thể đăng ký với một SIP server thông qua bản tin REGISTER, SIP server sẽ lưu lại địa chỉ IP của đầu cuối đăng
ký Khi có một yêu cầu thiết lập cuộc gọi tới SIP server, SIP server sẽ tìm địa chỉ của người được gọi và forward bản tin INVITE tới người được gọi
VI CÁC GIAO THỨC CỦA SIP
UDP (User Datagram Protocol): là giao thức tầng vận chuyển không có điều khiển tắc nghẽn Nó được dùng để vận chuyển bản tin SIP vì đơn giản và thích hợp với các ứng dụng thời gian thực
TCP (Transmission Control Protocol): là giao thức ở tầng vận chuyển do
có điều khiển tắc nghẽn, hơn nữa có thể vận chuyển nhiều gói tin có kích thước bất kỳ
Trang 17 SDP (Session Description Protocol): được sử dụng để mô tả các thông số media cho một cuộc gọi, các thông số này là các thông tin về băng thông,các chuẩn hóa audio, video và một số thông tin khác.
Trang 18CHƯƠNG 3:
MÔI TRƯỜNG TỔNG ĐÀI ASTERISK VÀ
CÁC THỬ NGHIỆM
Asterisk là phần mềm mã nguồn mở, được viết bằng ngôn ngữ C và ban đầu được tạo ra bởi Mark Spencer (nay là Giám đốc công nghệ của Digium - công ty tài trợ cho hầu hết các phát triển của Asterisk)
Asterisk có thể được cài đặt trên bất kỳ phân phối Linux, vì vậy chúng ta có thể sử dụng Debian, Ubuntu, Mint, CentOS, RedHat, OpenSuse,… Nó cũng có thể được cài đặttrong FreeBSD, hệ điều hành MacOS và có một số cổng cho Windows, nhưng Linux là nơi hỗ trợ đầy đủ để thực hiện
Asterisk đem đến cho người sử dụng các tính năng và ứng dụng của hệ thống tổng đàiPBX và cung cấp nhiều tính năng mà tổng đài PBX không có, như sự kết hợp chuyển mạch VoIP và chuyển mạch TDM, đó là khả năng mở rộng đáp ứng nhu cầu cho từng ứng dụng
Và muốn cấu hình được asterisk ta phải dựa trên tổng đài FreePBX FreePBX là phầnmềm mã nguồn mở viết trên Web, như chúng ta biết asterisk không cung cấp cho người
sử dụng cấu hình hệ thống qua giao diện đồ họa, muốn cấu hình asterisk không cách nào khác là thực hiện các dialplan qua các tập tin cấu hình do asterisk cung cấp tại thư mục
Trang 19etc/asterisk Ví dụ: muốn cuộc gọi đi theo luồng điều khiển nhất định nào đó thì phải khaibáo các câu lệnh bên trong tập tin extensions.conf Nói chung việc cấu hình asterisk vô cùng khó khăn với những người không chuyên sâu về asterisk
FreePBX ra đời như là một công cụ hỗ trợ cấu hình cho asterisk, FreeBBX được thiết
kế thân thiện với người sử dụng, cấu hình asterisk một cách dễ dàng qua giao diện đồ họatrên nền web một cách trực quan dễ hiểu Người sử dụng không chuyên cũng có thể cấu hình được asterisk
AsteriskNOW là một bản phân phối của Linux phát hành bởi Digium đã được đóng gói sẵn phần mềm Asterisk và công cụ FreePBX Chúng ta có thể tải về miễn phí tại địa chỉ: http://www.asterisk.org/downloads/asterisknow
III CÀI ĐẶT ASTERISKNOW VÀ THỬ NGHIỆM CÁC TÍNH
NĂNG CƠ BẢN CỦA TỔNG ĐÀI IP_PBX
1 Cài đặt
Trang 20Chúng ta sẽ xây dựng một tổng đài bằng máy ảo trên VMWare nên chỉ cần một máy
ảo RAM ít nhất là 1GB, ổ đĩa ảo để mount file ISO vào, ổ cứng khoảng 15GB Nếu cài trực tiếp trên máy thật thì cần chép file ISO vào đĩa DVD hoặc USB để cài đặt, các bước tiến hành giống như cài trên máy ảo
Tiến hành cài đặt:
Sau khi khởi động máy ảo có gắn file ISO, máy sẽ chạy vào màn hình lựa chọn cách thức cài Chọn phím 1 để cài asterisk và FreePBX, phím 2 để cài asterisk và không có FreePBX Ở đây chúng ta xây dựng một tổng đài asterisk dựa trên
FreePBX nên ta chọn phím 1 để cài asterisk và FreePBX
Chọn vị trí nơi ở gần nhất của bạn:
Trang 21 Lập mật khẩu cho máy chủ: tài khoản ở đây là sử dụng tài khoản quản trị cho hệ thống Linux “ROOT”, mật khẩu là: 123456
Trang 22 Chọn ổ cứng: do là ổ cứng mới nên ta sẽ chọn Use All Space để dùng hết ổ cứng.
Quá trình cài đặt bắt đầu
Trang 23 Sau khi cài đặt hoàn tất, chon Reboot để khởi động lại máy
Trang 24 Sau khi Reboot lại hệ thống, nó sẽ cấp cho chúng ta một địa chỉ IP
Ta sẽ dùng địa chỉ IP được cấp ở trên để truy cập vào asterisk thông qua giao diện Web Chọn FreePBX Administration để bắt đầu cấu hình cho tổng đài
Trang 25 Màn hình chính sau khi đăng nhập: và đây cũng là giao diện chúng ta sẽ làm việc, cấu hình ở trên giao diện FreePBX
Trang 262.1 Tạo số điện thoại (User)
Để tạo số điện thoại, ta vào mục Applications -> Extensions:
Trang 27 Trong quản lý số (extensions), do tổng đài mới cài đặt nên chưa có số Để tạo số, ta chọn loại thiết bị tại mục Device - ở đây chọn thiết bị SIP, sau đó chọn Submit
Trang 29 Căn bản để tạo một số điện thoại ta chỉ cần điền thông tin như sau: User Extension là số điện thoại, Display Name là tên hiển thị và Secret là mật khẩu , sau đó chon Submit
Lần lượt tạo 3 User : Windows với số 1001, Ubuntu1 với số 1002 và Ubuntu2 với số 1003