Hệ thống VoIP và tổng đài Asterisk
TRƯỜNG
KHOA…………….
TIỂU LUẬN
Hệ thống VoIP và
tổng đài Asterisk
- 1 -
Hệ thống VoIP và tổng đài Asterisk
MỤC LỤC
Phần I 3
Tổng quan về công nghệ VoIP 3
I. Khái niệm 4
IV. Các giao thức trong mạng VoIP 6
1. Giao thức H323 6
2. Giao thức khởi tạo phiên SIP 13
2.1 Các thành phần trong hệ thống SIP 14
3.Real-time Transport Protocol (RTP) 19
4.Real-time Transport Control Protocol (RTCP) 20
5. Resource Reservation Protocol (RSVP) 22
Phần II 24
Tổng quan về Asterisk 24
Phần III 27
Triển khai hệ thống Asterisk 27
Mô hình triển khai hệ thống : 27
IV.Một số ứng dụng với Asterisk 31
1.Ứng dụng hộp thư thoại (Voicemail) 31
- 2 -
Hệ thống VoIP và tổng đài Asterisk
Phần I
Tổng quan về công nghệ VoIP
Ứng dụng VoIP đầu tiên được phát triển năm 1995 bởi một công ty của Israeli
- Khả năng mở rộng : Hệ thống VoIP có thể được mở rộng thêm nhiều loại dịch
vụ , nhiều tính năng mới .
2. Nhược điểm
- 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ó.
- 4 -
Hệ thống VoIP và tổng đài Asterisk
III. Các thành phần trong mạng VoIP
Mạng VoIP phải có khả năng thực hiện các chức năng mà mạng điện thoại công
cộng thực hiện, ngoài ra phải thực hiện chức năng của một gateway giữa mạng IP và
mạng điện thoại công cộng. Thành phần của mạng điện thoại IP có thể gồm các phần
tử sau đây:
- Thiết bị đầu cuối kết nối với mạng IP ( Terminal) : Có thể là một phần mềm
máy tính ( softphone) hoặc một điện thoại IP (hardphone).
- Mạng truy nhập IP: Là các loại mạng dữ liệu sử dụng giao thức TCP/IP, phổ
biến nhất là mạng Internet.
- Gateway: Là thiết bị có chức năng kết nối hai mạng không giống nhau, hầu
hết các trường hợp đó là mạng IP và mạng PSTN. Có 3 loại gateway là: Gateway
truyền tải kênh thoại, Gateway điều khiển truyền tải kênh thoại và Gateway báo
hiệu.
- 5 -
Hệ thống VoIP và tổng đài Asterisk
- Gatekeeper: Có thể xem gatekeeper như là bộ não của hệ thống mạng điện
thoại IP. Nó cung cấp chức năng quản lý cuộc gọi một cách tập trung và một số
các dịch vụ quan trọng khác như là: nhận dạng các đầu cuối và gateway, quản lý
băng thông, chuyển đổi địa chỉ (từ địa chỉ IP sang địa chỉ E.164 và ngược lại),
đăng ký hay tính cước Mỗi gatekeeper sẽ quản lý một vùng bao gồm các đầu
tham gia vào các hoạt động kết nối khác.
- Chế độ chọn đường : Gatekeeper là thành phần trung gian, chuyển tiếp mọi
thông tin trao đổi giữa các bên.
Gatekeeper phải thực hiện các chức năng sau:
• Chức năng dịch địa chỉ : Gatekeeper sẽ thực hiện chuyển đổi địa chỉ
hình thức (dạng tên gọi hay địa chỉ hộp thư ) của một đầu cuối hay
Gateway sang địa chỉ truyền dẫn (địa chỉ IP). Việc chuyển đổi được thực
- 7 -
Hệ thống VoIP và tổng đài Asterisk
hiện bằng cách sử dụng bản đối chiếu địa chỉ được cập nhật thường xuyên
bởi các bản tin đăng ký.
• Điều khiển truy cập : Gatekeeper cho phép một truy cập mạng LAN
bằng cách sử dụng các bản tin H.225 là ARQ/ACF/ARJ. Việc điều khiển
này dựa trên sự cho phép cuộc gọi, băng thông, hoặc một vài thông số
khác do nhà sản xuất quy định. Nó có thể là chức năng rỗng có nghĩa là
chấp nhận mọi yêu cầu truy nhập của đầu cuối.
• Điều khiển độ rộng băng thông :Gatekeeper hỗ trợ các bản tin
BRQ/BRJ/BCF cho việc quản lý băng thông. Nó có thể là chức năng rỗng
nghĩa là chấp nhận mọi yêu cầu thay đổi băng thông.
• Quản lý vùng: Ở đây chữ vùng là tập hợp tất cả các phần tử H.323 gồm
thiết bị đầu cuối, Gateway, MCU có đăng ký hoạt động với Gatekeeper để
thực hiện liên lạc giữa các phần tử trong vùng hay từ vùng này sang vùng
khác.
Các chức năng không bắt buộc của Gatekeeper:
• Điều khiển báo hiệu cuộc gọi: Gatekeeper có thể lựa chọn hai phương
thức điều khiển báo hiệu cuộc gọi là: hoàn thành báo hiệu cuộc gọi với các
đầu cuối và xử lý báo hiệu cuộc gọi chính bản thân nó, hoặc Gatekeeper
có thể ra lệnh cho các đầu cuối kết nối một kênh báo hiệu cuộc gọi hướng
tới nhau. Theo phương thức này thì Gatekeeper không phải giám sát báo
hiệu trên kênh H.225.
các bit dữ liệu âm thanh và hình ảnh. MC không phải tương tác trực tiếp với các
luồng phương tiện truyền đạt, đó là công việc của MP. Các MC và MP có thể cài
đặt như một thiết bị độc lập hoặc là một phần của các phần tử khác của H.323.
1.2. Tập giao thức H323
- 9 -
Hệ thống VoIP và tổng đài Asterisk
1.2.1 Báo hiệu RAS
Cung cấp các thủ tục điều khiển tiền cuộc gọi trong mạng H.323 có GK. Kênh
báo hiệu RAS được thiết lập giữa các đầu cuối và các GK trước các kênh khác. Nó độc
lập với kênh báo hiệu cuộc gọi và kênh điều khiển H.245. Các bản tin RAS được truyền
qua mạng thông qua kết nối UDP, thực hiện việc đăng ký, cho phép, thay đổi băng thông,
trạng thái vμ các thủ tục huỷ bỏ cuộc gọi. Báo hiệu RAS gồm những quá trình sau:
- Tìm GateKeeper.
- Đăng ký : Đăng ký là một quá trình cho phép GW, các đầu cuối và MCU tham
gia vào một vùng và báo cho GK biết địa chỉ truyền vận và địa chỉ bí danh của nó.
- Định vị đầu cuối
- Cho phép, thay đổi băng thông, trạng thái vμ huỷ quan hệ
1.2.2 Báo hiệu điều khiển cuộc gọi H.225
Trong mạng H.323, thủ tục báo hiệu cuộc gọi được dựa trên khuyến nghị H.225
của ITU. Khuyến nghị này chỉ rõ cách sử dụng và trợ giúp của các bản tin báo hiệu
Q.931. Sau khi khởi tạo thiết lập cuộc gọi. Các bản tin điều khiển cuộc gọi và các bản tin
giữ cho kênh báo hiệu cuộc gọi tồn tại (keepalive) được chuyển tới các cổng.
Các bản tin Q.931 thường được sử dụng trong mạng H.323:
- 10 -
Hệ thống VoIP và tổng đài Asterisk
• Setup: Được gửi từ thực thể chủ gọi để thiết lập kết nối tới thực thể H.323 bị gọi
• Call Proceeding: chỉ thị rằng thủ tục thiết lập cuộc gọi đã được khởi tạo.
• Alerting: chỉ thị rằng chuông bên đích bắt đầu rung.
• Connect: thông báo rằng bên bị gọi đã trả lời cuộc gọi.
• Release Complete: chỉ thị rằng cuộc gọi đang bị giải phóng.
đóng mở các kênh logic. Khi một kênh logic được mở, một bản tin OpenLogical sẽ miêu
tả đầy đủ nội dung của kênh logic đó bao gồm kiểu truyền thông (media type), thuật toán
sử dụng, các chức năng và mọi thông tin khác để bên thu có thể dịch được nội dung của
kênh logic.
• Các thủ tục kết nối nhanh : Có hai thủ tục để thiết lập kênh truyền thông là
H.245 và kết nối nhanh. Kết nối nhanh cho phép sự thiết lập kết nối truyền thông cho các
cuộc gọi cơ bản điểm tới điểm với chỉ một lần trao đổi bản tin vòng (bản tin đi từ đầu
cuối nguồn tới đầu cuối đích rồi lại trở về đầu cuối nguồn).
• H245 ngầm (Tuneling H.245) : Các bản tin H.245 có thể được đóng gói ở trong
kênh báo hiệu cuộc gọi H.225 thay vì tạo ra một kênh điều khiển H.245 riêng biệt.
Phuơng pháp này cải thiện được thời gian thiết lập cuộc gọi và thời gian định vị tài
nguyên. Đồng thời nó cho phép sự đồng bộ giữa báo hiệu cuộc gọi và điều khiển. Có thể
đóng gói nhiều bản tin H.245 vào bất kỳ bản tin H.225 nào. Vào một thời điểm bất kỳ,
mỗi đầu cuối có thể chuyển sang một kết nối H.245 riêng biệt.
1.3 .Quá trình thiết lập cuộc gọi H323.
Một cuộc gọi trải qua các bước như sau:
• Thiết lập cuộc gọi.
• Khởi tạo truyền thông và trao đổi khả năng.
• Thiết lập kênh truyền thông nghe nhìn.
• Dịch vụ cuộc gọi.
• Kết thúc cuộc gọi.
- 12 -
Hệ thống VoIP và tổng đài Asterisk
2. Giao thức khởi tạo phiên SIP
SIP (Session Initiation Protcol ) là giao thức báo hiệu điều khiển lớp ứng dụng
được dùng để thiết lập, duy trì, kết thúc các phiên truyền thông đa phương tiện
(multimedia). Các phiên multimedia bao gồm thoại Internet, hội nghị, và các ứng dụng
tương tự có liên quan đến các phương tiện truyền đạt (media) như âm thanh, hình ảnh, và
dữ liệu.
SIP sử dụng các bản tin mời (INVITE) để thiết lập các phiên và để mang các
- Proxy server: xử lý các yêu cầu hoặc chuyển đổi nội dung rồi gửi cho các server khác
- Location server: định vị thuê bao và cung cấp thông tin cho proxy hoặc redirect server
- Redirect server: xác định server chặng tiếp theo rồi thông báo cho client để nó tự gửi
yêu cầu. Redirect server không tạo và gửi yêu cầu
- Registrar server: tiếp nhận và xử lý các yêu cầu REGISTER (vd, khi bật máy thuê bao),
thực hiện nhận thực thuê bao
2.2 . Các bản tin của 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.
- 15 -
SIP Header
INVITE sip: SIP/2.0
Via: SIP/2.0/UDP 192.168.6.21:5060
From: sip:
To: <sip:>
Call-ID:
CSeq: 100 INVITE
Expires: 180
User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled
Accept: application/sdp
Contact: sip::5060
Content-Type: application/sdp
Hệ thống VoIP và tổng đài Asterisk
Một số trường mào đầu đơn giản :
- INVITE : Để chỉ thị rằng thuê bao hoặc dịch vụ được mời tham gia vào một
phiên. Nó bao gồm một mô tả phiên và đối với các cuộc gọi song công thì bên chủ gọi chỉ
thị phương thức truyền thông (media) trong bản tin này. Theo phương pháp đơn giản này
(4) Proxy server gửi yêu cầu INVITE tới địa chỉ mà nó vừa xác định được.
(5) Bên bị gọi (server) đáp ứng lại bằng bản tin thành công 200 OK.
(6) Proxy server lại đáp ứng lại bên Client bằng bản tin 200 OK.
(7)(8) Client xác nhận bằng bản tin ACK. Bản tin này được gửi qua Proxy server hoặc
được gửi trực tiếp tới bên bị gọi.
- Theo kiểu redirect :
(1) Client gửi bản tin INVITE chứa thông tin về bên bị gọi tới Redirect Server
(2 Redirect Server xác định vị trí của bên bị gọi bằng cách sử dụng các địa chỉ được cung
cấp trong bản tin INVITE và location server .
(3) Location Server gửi trả lại Proxy Server thông tin đã yêu cầu
(4) Sau khi đã xác định được vị trí của thuê bao thì Redirect server gửi trực tiếp địa chỉ
vừa nhận được cho phía Client.
(5) Client gửi bản tin ACK tới Redirect server để hoàn tất phiên giao dịch.
(6) Client gửi trực tiếp yêu cầu INVITE tới bên bị gọi.
- 18 -
Hệ thống VoIP và tổng đài Asterisk
(7)(8) Bên bị gọi đáp ứng bằng bản tin 200 OK và bên chủ gọi xác nhận bằng bản tin
ACK.
3.Real-time Transport Protocol (RTP)
RTP được coi như một giao thứ truyền từ đầu cuối đến đầu cuối (end to end) phục
vụ truyền dữ liệu thời gian thực như audio và video. RTP thực hiện việc quản lý về thời
gian truyền dữ liệu và nhận dạng dữ liệu được truyền. Nhưng RTP không cung cấp bất cứ
một cơ chế nào đảm bảo thời gian truyền và cũng không cung cấp bất cứ một cơ chế nào
giám sát chất lượng dịch vụ. Sự giám sát và đảm bảo về thời gian truyền dẫn cũng như
chất lượng dịch vụ được thực hiện nhờ hai giao thức RTCP và RSVP.
Tương tự như các giao thứ truyền dẫn khác, gói tin RTP (RTP packet) bao gồm
hai phần là header (phần mào đầu) và data (dữ liệu). Nhưng không giống như các giao
thức truyền dẫn khác là sử dụng các trường trong header để thực hiện các chức năng điều
khiển, RTP sử dụng một cơ chế điều khiển độc lập trong định dạng của gói tin RTCP
để thực hiện các chức năng này.
thức điều khiển này cho phép gửi về các thông số về bên thu và tự thích nghi với bên phát
cho phù hợp vời bên phát. Mỗi người tham gia một phiên truyền RTP phải gửi định kỳ
các gói RTCP tới tất cả những người khác cũng tham gia phiên truyền. Tuỳ theo mục
đích mà RTCP thực hiện 4 chức năng:
- 20 -
Hệ thống VoIP và tổng đài Asterisk
- RTCP cung cấp một sự phản hồi chất lượng của dữ liệu. Các thông tin đó giúp
cho ứng dụng thực hiện chức năng điều khiển luồng và quản lý tắc nghẽn.
- RTCP cung cấp sự nhận dạng mà được sử dụng để tập hợp các kiểu dữ liệu khác
nhau (ví dụ audio và video). Điều này là cần thiết vì khả năng này không được
RTP cung cấp.
- Nhờ việc định kỳ gửi các gói tin RTCP mà mỗi phiên truyền có thể theo dõi
được số người tham gia. RTP không thể sử dụng được cho mục đích này khi một
ai đó không gửi dữ liệu mà chỉ nhận từ những người khác.
- Cuối cùng là một chức năng lựa chọn cho phép có thêm thông tin về những
người tham gia vào phiên truyền.
Tuỳ thuộc vào giao thức RTP được sử dụng cho loại dữ liệu nào mà RTCP cung
cấp các thông báo điều khiển khác nhau. Có 4 loại thông báo điều khiển chính được giao
thức RTCP cung cấp là:
- Sender report (SR): thông báo này chứa các thông tin thống kê liên quan đến kết
quả truyền như tỷ lệ tổn hao, số gói dữ liệu bị mất, khoảng trễ. Các thông báo này
phát ra từ phía phát trong một phiên truyền thông.
- Receiver report (RR): thông báo này chứa các thông tin thống kê liên quan đến
kết quả nhận giữa các điểm cuối. Các thông báo này được phát ra từ phía thu
trong một phiên truyền thông.
- Source description (SDES): thông báo bao gồm các thông số mô tả nguồn như
tên, vị trí,
- Application (APP): thông báo cho phép truyền các dữ liệu ứng dụng.
Cấu trúc gói tin RTCP
- Version (2 bit): version RTP hiện tại (version 2).
dụng mà kết quả là đưa ra một yêu cầu về chất lượng dịch vụ QoS. Flowspec đưa ra một
yêu cầu chất lượng dịch vụ còn filterspec có nhiệm vụ lọc bỏ các gói tin mà không đảm
bảo yêu cầu về chất lượng dịch vụ, những gói này sẽ được cung cấp một phương thức
truyền tốt nhất có thể đáp ứng yêu cầu chất lượng dịch vụ.
- 22 -
Hệ thống VoIP và tổng đài Asterisk
6. Giao thức SGCP (Simple Gateway Control Protocol)
Giao thức này cho phép các thành phần điều khiển cuộc gọi có thể điều khiển kết
nối giữa trung kế, các thiết bị đầu cuối với các gateway. Các thành phần điều khiển được
gọi là Call Agent. SGCP được sử dụng để thiết lập, duy trì và giải phóng các cuộc gọi
qua mạng IP. Call Agent thực hiện các chức năng báo hiệu cuộc gọi và gateway thực hiện
chức năng truyền tín hiệu âm thanh. SGCP cung cấp năm lệnh điều khiển chính như sau:
- Notification Request: yêu cầu gateway phát các tín hiệu nhấc đặt máy và các tín
hiệu quay số DTMF.
- Notify: gateway thông báo với Call Agent về các tín hiệu được phát hiện ở trên.
- Create Connection: Call Agent khởi tạo kết nối giữa các đầu cuối trong gateway.
- Modify Connection: Call Agent dùng lệnh này để thay đổi các thông số về kết
nối đã thiết lập. Lệnh này cũng có thể dùng để điều khiển luồng cho các gói tin
RTP đi từ gateway này sang gateway khác.
- Delete Connection: Call Agent giải phóng các kết nối đã thiết lập.
Năm lệnh trên đây điều khiển gateway và thông báo cho call agent về các sự kiện
xảy ra. Mỗi lệnh hay yêu cầu bao gồm các thông số cụ thể cần thiết để thực thi các phiên
làm việc.
7. Giao thức MGCP (Media Gateway Control Protocol)
Giao thức MGCP cho phép điều khiển các gateway thông qua các thành phần điều
khiển nằm bên ngoài mạng. MGCP sử dụng mô hình kết nối tương tự như SGCP dựa trên
các kết nối cơ bản giữa thiết bị đầu cuối và gateway. Các kết nối có thể là kết nối điểm-
điểm hoặc kết nối đa điểm. Ngoài chức năng điều khiển như SGCP, MGCP còn cung cấp
thêm các chức năng sau:
- 23 -
ra bất cứ số điện thoại nào có trên mạng PSTN.
I. Kiến trúc Asterisk
Về cơ bản kiến trúc của Asterisk là sự kết hộp giữa nền tảng công nghệ điện thoại
và ứng dụng điện thoại cho VOIP như SIP, H323, IAX, MGCP các công nghệ điện
thoại cho hệ thống chuyển mạch mạch TDM như T1, E1, ISDN và các giao tiếp đường
truyền thoại Analog.
Khi khởi động hệ thống Asterisk thì chức năng Dynamic Module Loader thực
hiện nạp driver của thiết bị, nạp các kênh giao tiếp, các format, codec và các ứng dụng
liên quan, đồng thời các hàm API cũng được liên kết nạp vào hệ thống. Sau đó hệ thống
PBX Switching Core của Asterisk chuyển sang trạng thái sẵn sàng hoạt động chuyển
mạch cuộc gọi, các cuộc gọi được chuyển mạch tuỳ vào kế hoạch quay số (Dialplan)
được thực hiện cấu hình trong file extension.conf. Application Launchar để rung chuông
thuê bao, quay số, định hướng cuộc gọi, kết nối với hộp thư thoại… Scheduler and I/O
- 25 -