Di động:

Quản lý cuộc gọi theo thời gian với hàm GotoIfTime() trong Asterisk Không rõ

20/02/2014 09:05 | lpag | Lập trình | Nhận xét(0) | Đọc(3352)
   Nguồn: Tự viết || Sưu tầm | Lớn | Vừa | Nhỏ
Bài toán: Các cuộc gọi vào giờ hành chánh từ 7h30 đến 16h30 thì chuyển đến số điện thoại 224, ngoài giờ hành chánh, ngày thứ bảy, chủ nhật và ngày lễ thì chuyển cuộc gọi đến số điện thoại 225.

GotoIfTime(times,days_of_week, days_of_month,months?lable)

Giải thích: 
+ Times : thời gian trong ngày như bài toán trên thì times sẽ có giá trị là 07:30-16:30, Nếu khai báo dấu * có nghĩa là bất cứ thời gian nào trong ngày.

+ days_of_week : đây là danh sách ngày trong tuần : mon, tue, wed, thu, fri, sat, sun; theo bài toán thì khai báo như sau: mon-fri. Cách khác có thể khai báo như sau: mon & tue& wed& thu& friNếu khai báo dấu * có nghĩa là bất cứ thời gian nào trong ngày. 

+ days_of_month: ngày trong tháng, có giá trị từ 1-31. Nếu khai báo dấu * có nghĩa là bất kỳ ngày nào trong tháng. Có thể khai báo ngày 1 và ngày 5 thì khai báo: 1&5

+ months: Tháng trong năm, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, có thể khai báo tháng 1 đến tháng 4 như sau: jan-apr, hoặc Jan&Feb&Mar&Apr Nếu khai báo dấu * có nghĩa là bất kỳ tháng nào trong năm

+ lable : nếu điều kiện thỏa thì đi đến nhãn này.

Giải bài toán : 
exten=> s,1, GotoIfTime(*,*,1,1? NgayNghi,s,1)
same=> n,GotoIfTime(*,*,1,5? NgayNghi,s,1)
same=> n,GotoIfTime(*,*,30,3? NgayNghi,s,1)
same=> n,GotoIfTime(*,*,2,9? NgayNghi,s,1)

same=> n,GotoIfTime(07:30-16:30, mon-fri, *,*? NgayLamViec,s,1)
same=> n,Goto(NgayNghi,s,1)
[NgayNghi]
exten=> s,1,dial(SIP/ 224,30)
same=> n,Hangup()
[NgayLamViec]
exten=> s,1,dial(SIP/225,30)
same=> n,Hangup()

+ exten=> s,1, GotoIfTime(*,*,1,1?NgayNghi,s,1) : có nghĩa là bất cứ giờ nào, bất cứ thứ mấy trong tuần, ngày tết dương lịch 1 tháng 1 hàng năm thì chuyển cuộc gọi đến ngữ cảnh NgayNghi, giải thích tương tự cho các hàm same=> n,GotoIfTime(*,*,1,5? NgayNghi,s,1), same=> n,GotoIfTime(*,*,30,3? NgayNghi,s,1), same=> n,GotoIfTime(*,*,2,9? NgayNghi,s,1)

+ same=> n,GotoIfTime(07:30-16:30, mon-fri, *,*? NgayLamViec,s,1) : ngày làm việc bình thường thì chuyển đến số điện thoại 224 tại ngữ cảnh NgayLamViec.

+ Thời gian và ngày còn lại được xem là ngày nghỉ nên chuyển đến số điện thoại 225 tại ngữ cảnh NgayNghi

Tác giả: Lê Quốc Toàn
Nguồn: http://my.opera.com/asteriskvn/blog/

  Đánh giá nội dung
Vui lòng đánh giá nội dung này nếu bạn thấy hay. Cám ơn bạn!

Bài viết số 1290 đã được: 6.0/10 (1 Đánh giá)

Bài viết liên quan Bài viết ngẫu nhiên
Dùng thử mã nguồn Swift của Apple ngay trên trình...
9 ngôn ngữ lập trình "xưa như trái đất" có...
12 lập trình viên nổi tiếng nhất đương đại -...
Học lập trình Android cơ bản bắt đầu từ tải...
[WP8] Đọc file từ thẻ nhớ SDCard
Viết ứng dụng Windows Phone chỉ trong 60 phút
Javascript – Chàng hiệp sĩ toàn năng
Thu âm cuộc gọi với hàm MixMonitor() trong Asterisk
Nén Javascript và CSS thế nào?
Gai của hoa hồng
Facebook cho phép dùng video làm...
Máy in Fuji Xerox bị mất...
Top 10 bí ẩn khoa học...
Làm gì khi máy tính bỗng...
Một số vấn đề thường gặp...
Tự động cập nhật bài viết...
Xoá triệt để file không xóa...
Tình thương không lời
Cách chuyển mã font bằng UniKey...
Nếu bạn thấy bài viết hay vui lòng Bookmark bài viết. Cám ơn bạn!

Bookmark and Share
Edit & develop by LPAg v1.0.3.1376006758 [+] Từ khóa: LPAg, Computer, Mobile, Software, Hardware