Cấu hình tổng đài Asterisk nâng cao bài 4

  1. Một kịch bản cơ bản Hàm goto()

 

Ta sẽ xây dựng một kịch bản giống vòng lặp sử dụng hàm goto()

Cấu trúc:   Goto(context,ext,do-uu-tien)

Hoặc goto(context) hàm này sẽ tự nhảy đến extensions trong cùng context cố định

 

Ví dụ ta xây dựng các sip trong context = sait.vn

 

Trong file extensions.conf ta xây dựng như sau:

exten => 0000,1,Answer()

exten => 0000,n,Background(/etc/asterisk/huynh/nuoc-mat)

exten => 0000,n,WaitExten()

exten => 1,1,Playback(digits/1)

exten => 1,n,goto(realtime.vn,0000,1)

 

exten => 2,1,Playback(digits/2)

exten => 2,n,goto(realtime.vn,0000,1)

 

exten => 3,1,Playback(digits/3)

exten => 3,n,goto(sait.vn,0000,1)

 

exten => 4,1,Playback(digits/4)

exten => 4,n,goto(realtime.vn,0000,1)

 

exten => 5,1,hangup()

Khi gọi đến 0000 thời kì ưu tiên số 1 là bắt máy [Answer()]

 

Phát một menu giới thiệu.

 

Rồi chờ ‘waitexten()’

Níu bấm 1 ta Playback() số 1

Bước tiếp theo là lệnh goto() sau khi đọc số 1 là đi đến context ‘sait.vn’ với exten đang chạy menu chính là 0000 và chạy vào vị trí số 1 có nghĩa là quay lại số 0000, ở đây mình tùy chọn độ ưu tiên nhảy số mấy cũng được.

 

Bấm số 5 ta cúp máy