7. Kết cấu của đề tài:
2.4.3.2. Xây dựng tính năng Voicemail
Asterisk cung cấp khả năng xây dựng ứng dụng Voicemail, với khả năng này giúp cho người sử dụng điện thoại không bỏ lỡ bất cứ cuộc gọi điện thoại nào. Một số tính năng của hệ thống Voicemail:
Khi người gọi không được trả lời, máy không được kết nối mạng hay máy điện thoại đang bận, hệ thống đều có thông điệp riêng để thông báo tình trạng của máy thuê bao được gọi và phát thông điệp mời để lại tin nhắn.
Mỗi hộp thư đều được quản lý bằng mật khẩu và thư mục riêng.
Khi thông điệp được nhận hệ thống Voicemail có thể gửi qua Mail để thông báo, tất nhiên có kèm theo file thông điệp.
Có thể kiểm tra Voicemail trực tiếp trên máy điện thoại.
Những thông điệp lời chào trong hệ thống hoàn toàn có thể thay đổi phù hợp với ngữ cảnh sử dụng. Không nhất thiết phải sử dụng thông điệp mặc định.
Cấu hình file voicemail.conf:
Đây là file lưu giữ thông tin về hộp thư thoại của người dùng. Những thông tin này được đặt trong context mặc định [default] của hệ thống Voicemail hoặc cũng có thể tạo một context khác. Lưu ý, những context trong file voicemail.conf hoàn toàn không liên quan đến các context trong file extensions.conf.
Cú pháp để tạo một hộp thư thoại như sau: Mailbox_munber => password,name,email
Mailbox_number: số dùng để đăng kí hộp thư thoại cho user trong file sip.conf.
Password: mật khẩu của hộp thư thoại, có thể thay đổi thông qua điện thoại của người dùng khi truy cập vào hệ thống Voicemail.
Email: địa chỉ email của người sử dụng hộp thư. Asterisk có thể gửi những thông báo về tin nhắn thoại mới và kèm theo file tin nhắn thoại tới email này.
Ví dụ:
[hopthuthoai]
200 => 123,Minh Dung, dung@gmail.com
Tuy nhiên, cũng có thể cấu hình hộp thư thoại cho người dùng thông qua giao diện web của FreePBX trong phần thông tin của extension.
Cấu hình file sip.conf
Thêm cú pháp sau vào trong phần thông tin của extension: Mailbox = Mailbox_number@voicemail_context
Ví dụ: [200]
Mailbox = 200@hopthuthoai
Nhưng với việc quản lý các extension bằng FreePBX thì khi chức năng Voicemail của extension được kích hoạt (enabled) thì FreePBX sẽ tự động thêm phần này vào trong thông tin của extension.
Cấu hình file extensions.conf
Voicemail có hai chức năng chính là cho phép người gọi để lại lời nhắn và cho phép người dùng nghe lại lời nhắn đó. Do đó cũng sẽ có hai ứng dụng cho Voicemail là: VoiceMail – cho phép để lại lời nhắn và VoiceMailMain – cho phép nghe lại lời nhắn.
Ứng dụng VoiceMail:
Ứng dụng này cho phép để lại lời nhắn và lời nhắn sẽ được lưu trữ trong thư mục /var/spool/asterisk/voicemail/voicemail- context/mailbox_number/INBOX.
Cú pháp: VoiceMail([option]mailbox_number@voicemail_context) Trong đó những tùy chọn [option]:
u: thông báo cho người gọi là người dùng số này hiện đang đi vắng (không nhấc máy sau một khoảng thời gian nhất định hoặc chưa kết nối tới tổng đài) và cho phép người gọi để lại lời nhắn.
b: thông báo cho người gọi là số điện thoại này đang ở trạng thái bận (đang nhấc máy) và cho phép người gọi để lại lời nhắn. Ví dụ:
[incoming]
Exten => 200,1,Dial(SIP/200,30)
Exten => 200,2,VoiceMail(200@hopthuthoai) Exten => 200,3,Hangup()
Khi một người bất kì gọi đến số 200 và khi đó người dùng số 200 không nhấc máy trong vòng 30 giây hoặc người dùng chưa kết nối tới tổng đài thì Asterisk sẽ mở hộp thư 200 trong voicemail-context [hopthuthoai] và thông báo cho người gọi để lại lời nhắn của mình. Lời nhắn này được lưu trữ trong thư mục /var/spool/asterisk/voicemail/hopthuthoai/200/INBOX. Và để nghe lại lời nhắn này thì phải dùng ứng dụng VoiceMailMain.
Ứng dụng VoiceMailMain
Ứng dụng này cho phép truy cập vào hệ thống hộp thư thoại của Asterisk. Để truy cập vào hộp thư mong muốn thì phải nhập đúng hộp thư thoại và mật khẩu của hộp thư thoại đó.
Cú pháp:
VoiceMailMain([option][mailbox_number]@voicemail_context) Trong đó tùy chọn [option]: s là bỏ qua quá trình chứng thực (kiểm tra mật khẩu) khi truy cập vào hộp thư thoại.
Ví dụ:
[incoming]
Exten => 333,1,Answer()
Exten => 333,2,VoiceMailMain(s200@hopthuthoai) Exten => 333,3,Hangup()
Khi người dùng gọi vào số 333 thì Asterisk sẽ tự động nhấc máy bằng ứng dụng Answer(), tiếp theo đó ứng dụng VoiceMailMain sẽ được thực thi và hệ thống sẽ cho phép người dùng truy cập vào hộp thư 200 (không cần nhập mật khẩu vì đã có tùy chọn “s”) và nghe lại những lời nhắn trong hộp thư này.