7. Kết cấu của đề tài:
3.9. Giải pháp xây dựng tổng đài VoIP cho trường Đại học Lạc Hồng
Trường Đại học Lạc Hồng, hiện nay có 28 khoa, phòng ban với 28 số điện thoại cố định, điều này gây khó khăn cho việc quản lý các cuộc gọi vào-ra. Hơn nữa việc liên lạc nội bộ thông qua các số điện thoại này vẫn phải tốn phí.
Theo kết quả khảo sát (phụ lục 3), một ngày một khoa gọi trung bình 2 phút gọi nội mạng và dựa vào bảng giá của một số dịch vụ điện thoại của VNPT (Bảng 3.3), bảng 3.4 sẽ cho thấy được việc tiết kiệm khi gọi nội bộ nếu sử dụng hệ thống VoIP.
Hình 3.19: Trường Đại học Lạc Hồng khi chưa sử dụng VoIP
VNPT
28 line
(PSTN VoIP 171
Nội hạt Liên tỉnh Di động Liên tỉnh Quốc tế
200 800 / 890* 1000 / 1500* 680 / 720* 3600
2 phút 1 tháng 1 năm Thuê bao / tháng Thuê bao / năm PSTN 1 số 400 12.000 144.000 20.000 240.000 28 số 11.200 336.000 4.032.000 560.000 6.720.000 Voip 0 0 0 100.000* 1.200.000* Chi phí tiết kiệm 11.200 336.000 4.032.000 460.000 5.520.000 Tổng chi phí tiết kiệm trong 1 năm: 9.552.000
(Đơn vị tính: VNĐ/phút)
(* Nếu gọi khác mạng VNPT) Hình 3.20: Trường Đại học Lạc Hồng khi sử dụng VoIP
Bảng 3.3: Giá cước điện thoại cố định
Bảng 3.4: Chi phí tiết kiệm khi dùng VoIP
(Đơn vị tính: VNĐ)
Theo xu hướng hiện nay, điện thoại di động ngày càng phổ biến, chiếm thị phần lớn hơn rất nhiều so với điện thoại cố định. Bên cạnh đó, tận dụng những chương trình khuyến mãi của các nhà mạng cho các cuộc gọi nội mạng, nhóm nhận thấy rằng việc này tiết kiệm được rất nhiều chi phí. Do đó, nhóm nghiên cứu đã chọn giải pháp sử dụng thêm Gateway dùng SIM bên cạnh Gateway với các đường line điện thoại. Với Gateway dùng SIM, ta có thể định tuyến cuộc gọi ra theo từng nhà mạng (nếu sử dụng SIM của nhiều nhà mạng) để tiết kiệm.
Ví dụ, khi người dùng gọi ra một số thuộc nhà mạng Mobifone thì Gateway sẽ định tuyến cuộc gọi ra theo SIM của nhà mạng Mobifone gắn trong Gateway.
Định tuyến cuộc gọi tối ưu
Với các thiết bị có sẵn là một Gateway với một đường line điện thoại và một Gateway sử dụng một SIM, nhóm đã định tuyến như sau: các cuộc gọi ra thuộc nhà mạng Vinaphone sẽ được chuyển tới Gateway sử dụng đường line điện thoại (Vinaphone thuộc nội bộ nhà mạng VNPT), còn các nhà mạng khác sẽ được chuyển tới Gateway sử dụng SIM (vì các cuộc gọi giữa các nhà mạng với nhau rẻ hơn khi dùng line điện thoại gọi tới các nhà mạng).
Các bược thực hiện như sau:
Tạo các đường trunk tới các Gateway:
Menu Connectivity Trunks Add SIP Trunk
Tạo đường route để gọi ra ngoài
Menu Connectivity Outbound Routes
Với phương pháp Pattern Matched (mục 1.5.7.6) sẽ gom nhóm các số điện thoại của từng nhà mạng theo các đầu số:
Mobifone: 090, 093, 0122, 0126, 0121, 0128, 0120
Vinaphone: 091, 094, 0123, 0125, 0127
Viettel: 097, 098, 0168, 0169, 0166, 0167, 0165
Hình 3.22: Đường trunk tới Gateway sử dụng SIM
Và tùy theo từng đầu số này mà sẽ cho gọi ra bằng đường Trunk nào. Với ví dụ nhóm đang thực hiện thì các đầu số Vinaphone sẽ gọi ra bằng đường Trunk zed3, còn các đầu số khác sẽ gọi ra bằng đường Trunk gsm.
Và tương tự, tạo một đường Route cho các nhà mạng còn lại với đường Trunk để gọi ra là gsm.
Các đầu số của nhà mạng Vinaphone
Đường Trunk tới Gateway để gọi ra
Đường Trunk dự phòng (nếu đường Trunk ở trên mà bận thì
sẽ dùng đường Trunk này)
Cuộc gọi từ điện thoại cố định ra điện thoại di động nói chung có giá là 1500VNĐ/phút, cuộc gọi nội mạng giữa các số điện thoại di động có giá là 880VNĐ/phút. Như vậy, với giải pháp này sẽ tiết kiệm được 1500- 880=620VNĐ/phút.
Từ bảng giá cước trên, với việc sử dụng các cuộc gọi nội bộ giữa các mạng di động thay vì dùng điện thoại cố định gọi tới các mạng di động sẽ tiết kiệm được rất nhiều chi phí. Cụ thể xem bảng 3.6.
Mobifone Vinaphone Viettel
Chi phí tiết kiệm 620 120 610
Với việc triển khai hệ thống VoIP, nhà trường sẽ tiết kiệm được một khoản chi phí cho các cuộc gọi ra ngoài và miễn phí cho các cuộc gọi nội bộ, giảm được số lượng thuê bao, quy tất cả các thuê bao về một mối. Như vậy đã tiết kiệm được thuê bao hàng tháng, đồng thời việc liên lạc cũng thuận tiện do người dùng không cần phải nhớ quá nhiều số điện thoại.
Mobifone Vinaphone Viettel
PSTN 1500 1000 1500 Mobifone 880 880 980 Vinaphone 880 880 980 Viettel 1090 1090 890 (Đơn vị tính: VNĐ/phút) (Đơn vị tính: VNĐ/phút)
Bảng 3.6: Chi phí tiết kiệm khi dùng SIM Bảng 3.5: Giá cước điện thoại di động
Chi phí đầu tư:
Vấn đề quản lý:
Nếu nhà trường đưa hệ thống VoIP vào sử dụng thì việc quản lý sẽ do một phòng ban chịu trách nhiệm. Phòng ban này có nhiệm vụ bảo đảm việc thông suốt liên lạc trong toàn hệ thống điện thoại của nhà trường.
Các số nội bộ cũng do phòng ban này quản lý. Yêu cầu cấp tài khoản từ khoa, phòng ban sẽ đươc chuyển lên phòng ban này, việc cấp các đầu số này phải có quy trình và mục đích sử dụng rõ ràng. Phòng ban này sẽ lập danh sách và gửi lên Ban Giám Hiệu xét duyệt. Nếu được xét duyệt, phòng ban này sẽ tiến hành cấp phát đầu số và cài đặt cho khoa, phòng ban.
Về số nội bộ, mỗi khoa, phòng ban sẽ được cấp một dải số. ví dụ: khoa Công Nghệ Thông Tin sẽ được cấp dải số từ 2000 đến 2049. Tùy theo yêu cầu mở rộng của các khoa, phòng ban khi cấp thêm một số nội bộ sẽ cấp theo dải số tương ứng với khoa, phòng ban đó.
Thiết bị/ Dịch vụ Tính năng kỹ thuật Số lượng Đơn giá (VNĐ) Số tiền đầu tư IP phone CN2x2 Gọi điện 28 1.210.000 33.880.000 Analog VoIP Gateway
Dinstar DAG1000-8O Gateway 1 7.390.000 7.390.000 VoxStack GSM Gateway
8 GSM Channels (Upgradable to 20G)
Gateway 1 26.097.200 26.097.200
IBM eServer x3500 Server 1 38,553,000 38,553,000
Tổng cộng 105.920.200
TỔNG KẾT
Đề tài này chúng tôi tập trung nghiên cứu về hệ thống tổng đài VoIP với giao thức báo hiệu SIP, sau đó xây dựng thử nghiệm hệ thống với phần mềm mã nguồn mở Asterisk hoạt động trên nền hệ điều hành Linux. Qua việc nghiên cứu này, chúng tôi đã nhận thấy được cơ hội và hướng phát triển to lớn của nó trong tương lai. Đây là một giải pháp cung cấp tổng đài điện thoại khá hoàn hảo, là một hướng đi đúng cho tất cả công ty, cơ quan, tổ chức, trường học… và tất cả mọi người. Tuy nhiên với một số hệ thống hạ tầng mạng cũ vẫn còn xuất hiện một số nhược điểm như trễ, mất gói, tiếng vọng… nhưng với sự phát triển mạnh mẽ của Internet như hiện nay và khi mà công nghệ VoIP đang ngày một phổ biến và lớn mạnh cùng với cộng đồng sử dụng và phát triển nó trên toàn thế giới thì những vấn đề này đă được giải quyết một cách triệt để.
Tuy nhiên với thời gian có hạn và kinh nghiệm nghiên cứu chưa có nhiều nên đề tài của chúng tôi chỉ đi vào tổng quan chứ chưa đi sâu vào nghiên cứu tất cả các công nghệ VoIP cũng như tổng đài Asterisk.
Nội dung nghiên cứu tiếp theo:
Trong tương lai sắp tới, cần mở rộng đề tài theo hướng tối ưu hóa và bảo mật hệ thống. Nghiên cứu sâu hơn về việc bảo mật VoIP và những biện pháp khắc phục để xây dựng một hệ thống tổng đài an toàn, tìm hiểu và cấu hình QoS để nâng cao chất lượng cuộc gọi và đáp ứng được với một số lượng người dùng lớn, tìm hiểu về việc lập trình xây dựng và phát triển ứng dụng trong tổng đài Asterisk thông qua AGI (Asterisk Gateway Interface) với nhiều ngôn ngữ lập trình khác nhau như PHP, Perl... Từ đó xây dựng một số tính năng mới cho tổng đài Asterisk như tổng đài quà tặng âm nhạc, tra cứu thông tin giá vàng, tỷ giá…
TÀI LIỆU THAM KHẢO TIẾNG VIỆT
[1] Đào Ngọc Anh, “Nghiên cứu giao thức trong mạng VoIP”, Trường Đại Học
Quốc Gia Hà Nội, 2008.
[2] Lê Quốc Toàn – “Sách Asterisk tiếng Việt”.
TIẾNG ANH
[3] Alan B.Johnson, “SIP Understanding The Session Initiation Protocol”, Artech House, 2009.
[4] Benjamin Jackson, Champ Clark, “Asterisk Hacking”, Syngress, 2007.
[5] David Gomillion and Barrie Dempster, “Building Telephony Systems with Asterisk”, Packt Publishing, September, 2005.
[6] Henry Sinnreich, Alan B. Johnston, “Wiley Internet Communications Using SIP
Delivering VoIP and Multimedia Services with Session Initiation Protocol , 2nd Edition”, July, 2006
[7] RFC 3261, “SIP - Session Initiation Protocol”
[8] RFC 3550, “RTP: A Transport Protocol for Real-Time Applications”
INTERNET
[9] Session Initiation Protocol –
http://en.wikipedia.org/wiki/Session_Initiation_Protocol
[10] Diễn đàn Asterisk Việt Nam–http://my.opera.com/asteriskvn
[11] Session Description Protocol–
http://phuongot.wordpress.com/2011/04/19/session-description-protocol-sdp/
[12] Diễn đàn tham khảo các vấn đề liên quan đến VoIP –http://voip-info.org
[13] Xây dựng tính năng Conference Call –
PHỤ LỤC 1
1. Các loại thông điệp yêu cầu của SIP
Thông điệp Diễn giải
INVITE
Khi một UAC muốn thiết lập một phiên mới nó sẽ tạo ra một thông điệp INVITE. Thông điệp này gửi yêu cầu về server cho phép thiết lập một phiên làm việc. Các UAS sẽ kiểm tra thường xuyên xem người sử dụng có đồng ý lời mời không. Nếu đồng ý thiết lập thì các UAS sẽ gửi phản hồi 2xx về, còn nếu như đề nghị không được chấp thuận thì UAS sẽ gửi phản hồi 3xx, 4xx, 5xx hay 6xx đi tùy thuộc vào lý do từ chối. Trước khi gửi tín hiệu phản hồi cuối cùng này, UAS còn gửi kèm một bản tin 1xx để thông báo UAC tiếp tục giữ quá trình liên lạc với người được gọi.
ACK
Thông điệp này khẳng định server đã nhận được thông điệp trả lời cho yêu cầu INVITE. SIP thực thi quá trình bắt tay qua ba bước: Phía gọi gửi thông điệp INVITE; Phía được gọi gửi phản hồi ACK chấp nhận yêu cầu; Phía gọi gửi thông điệp ACK để thông báo quá trình bắt tay đã hoàn tất và quá trình thiết lập cuộc gọi bắt đầu. Cho dù thông điệp INVITE đầu tiên bao gồm gói tin SDP hay không thì bản tin ACK đầu tiên sẽ có SDP của phía được gọi. Các thông điệp phản hồi ACK khác được gửi đi để kết thúc quá trình bắt tay và kèm theo SDP cần để thiết lập cuộc gọi.
OPTIONS
Thông điệp này được gửi để truy vấn các khả năng của một bên gọi, cũng như để tạo cho bên kia biết các khả năng của nơi truyền. Đây là công cụ khá tốt nhằm phát hiện ra loại truyền thông và các phương thức mà một user ở xa được hỗ trợ trước khi tạo ra một cuộc gọi.
INVITE. Nó không ảnh hưởng tới yêu cầu đã hoàn thành trước đó mà server đã gửi phản hồi.
BYE Được sử dụng để yêu cầu hủy một phiên đã được thiết lập trước đó.
REGISTER Sử dụng để đăng ký UA với UAS
2. Các mã lỗi của thông điệp phản hồi SIP
Mã Tên gọi Ý nghĩa
100 Trying
Mã này được trả về từ một proxy server hoặc server trung gian khác trên đường thiết lập cuộc gọi để thông báo rằng nó đang thực hiện kết nối.
180 Ringing Có nghĩa là máy điện thoại đang đổ chuông.
181
Call Is Being Forwarded
Nếu một proxy server trả về mã này nghĩa là cuộc gọi đang được chuyển tiếp
182 Queued Thông báo rằng cuộc gọi được đặt vào hàng đợi. 183
Session
Progress Cuộc gọi đang được tiến hành
200 OK Yêu cầu được thực hiện thành công
300
Multiple Choices
Thông điệp phản hồi này sẽ trả lại một danh sách các liên hệ, từ đó UA sẽ lựa chọn ra một liên hệ để thực hiện yêu cầu
301 Moved
Permanently
Người được gọi không còn được tìm thấy tại địa chỉ được yêu cầu. Người gọi nên cập nhật lại sổ địa chỉ và lưu địa chỉ này lại để sử dụng trong các cuộc gọi sau này.
Temporarily chỉ trả về
305 Use Proxy
Phần phản hồi này sẽ chứa một địa chỉ URI trỏ tới một proxy server để thông báo cho phía đang gọi biết rằng cần phải gửi thông điệp yêu cầu tới proxy server trên.
380
Alternative Service
Dịch vụ được yêu cầu hiện không thực hiện được, nhưng các dịch vụ khác vẫn hoạt động được.
400 Bad Request Yêu cầu không thực hiện được do lỗi cú pháp.
401 Unauthorized
Thông điệp này thông báo cho UA biết là cần phải thực hiện chứng thực. ví dụ, khi UA gửi một bản tin Register tới Registrar server, Registrar server sẽ gửi lại bản tin 401 yêu cầu cung cấp thông tin user name và password, UA sau đó sẽ gửi lại bản tin Register có chứa thông tin về user name và password.
402
Payment Required
Yêu cầu thanh toán. Trong tương lai thông điệp này sẽ được sử dụng.
403 Forbidden Cấm yêu cầu
404 Not Found
Thông báo rằng địa chỉ SIP URI của phía bị gọi mà phía gọi cung cấp không tồn tại, hoặc là do phía bị gọi đang offline.
405
Method Not Allowed
Phương thức được mã hóa trong thông điệp này không được phép cho user được gọi.
406
Not
Acceptable Không chấp nhận yêu cầu
407
Proxy Authentication
Required
Thông điệp này được gửi bởi proxy server để thông báo cho phía UAC biết rằng nó cần phải thực hiện chứng thực với proxy trước khi bản tin request có thể được xử lý.
408
Request Timeout
Server không tạo ra phản hồi trong khoảng thời gian dài. Ví dụ: server không xác định được vị trí của người dùng trong khoảng thời gian quy định
410 Gone User người được gọi đã di chuyển khỏi server này.
413
Request Entity Too Large
Kích thước yêu cầu quá lớn server không thể kiểm soát được
414
Request-URI Too Long
Server đang gặp trở ngại vì Request URI bởi kích thước của nó quá lớn.
415
Unsupported Media Type
Server không thể thực hiện yêu cầu bởi nội dung yêu cầu thuộc định dạng mà nó không được hỗ trợ.
420 Bad Extension Server không hiểu giao thức mở rộng.
480
Temporarily Unavailable
Nơi được gọi hiện tại không được khả dụng. Nếu server biết được tên nhưng không biết đối tượng đang ở đâu thì nó sẽ gửi thông điệp này.
481
Call/Transacti on Does Not
Exist
Server nhận được CANCEL trong yêu cầu không tồn tại hay một BYE cho một cuộc gọi không tồn tại.
482 Loop Detected Pháp hiện thấy vòng lặp (loop).
483
Too Many
Hops Số hop cần đến đích vượt quá giới hạn cho phép.
484
Address
Incomplete Địa chỉ chưa đầy đủ
485 Ambiguous Địa chỉ mập mờ không rõ ràng
486 Busy Here
Cho biết phía được gọi đang bận và không thể trả lời cuộc gọi được.
Error các yêu cầu được.
501
Not Implement
Server không thể xử lý yêu cầu, do yêu cầu này không đúng, hoặc không được server hỗ trợ.
502 Bad Gateway Khi server hoạt động như là gateway hay proxy đã nhận được một phản hồi không hợp lệ từ một server khác.
503
Service
Unavailable Server hiện không khả dụng.
504
Server Time- out
Server không nhận được phản hồi đúng thời gian từ server trung gian khác
505
Version Not
Supported Phiên bản giao thức SIP này không được hỗ trợ
513
Message Too
Large Server không thể xử lý yêu cầu vì thông điệp quá lớn
600
Busy
Everywhere Đối tượng nhận cuộc gọi đang bận
603 Decline Đối tượng nhận cuộc gọi từ chối cuộc gọi (như 486)
604
Does Not Exist Anywhere
PHỤ LỤC 2
1. Một số thư mục quan trọng trong Asterisk
Thư mục Mô tả
/etc/asterisk Chứa tất cả các file cấu hình của Asterisk trừ
/etc/zaptel.conf
/usr/sbin Chứa các đoạn mã và file thực thi của Asterisk bao
gồm: Asterisk, astman, astgenkey và safe_asterisk.
/usr/lib/asterisk/modules Chứa những modules của Asterisk.
/var/lib/asterisk Chứa biến được Asterisk sử dụng.
/var/lib/asterisk/images Chứa các hình được tham chiếu bởi các ứng dụng
hay Dial Plan.