Để thực hiện dialplan thêm phần uyển chuyển hơn xin giới thiệu thêm 3 ứng dụng cơ bản nữa trong thực hiện dialplan.
Background() : Ứng dụng này thực hiện phát một file âm thanh và chờ nhận con số từ phím nhấn của máy điện thoại, sau khi nhận con số từ phím nhấn máy điện thoại, asterisk sẽ ngắt phát thông điệp và xử lý chuyển đến số thứ tự priority tương ứng với con số nhận được. cú pháp của ứng dụng:
exten=>extention,priority,background(TênFile)
goto() : Là ứng dụng thực hiện nhảy từ context, extention, priority hiện hành đến context, extention, priority được chỉ định trong ứng dụng goto().
Cú pháp của ứng dụng goto():
/etc/asterisk/extention.conf
exten=>extention,priority,goto(context,extention,priority) exten=>extention,priority,goto(extention,priority)
Sau đây là một đoạn lệnh minh họa cho ứng dụng của một công ty gồm 3 phòng ban đó là phòng kỹ thuật, phòng hành chánh và phòng tiếp thị bán hàng. Khi cuộc gọi đến công ty thì hệ thống asterisk sẽ phát thông điệp mời nhấn số để chọn phòng ban cần liên lạc. Thông điệp “Chào mừng gọi đến công ty ABC của chúng tôi mời nhấn phím 1 để chuyển đến phòng Kỹ thuật, phím 2 đến phòng hành chánh và phím 3 đến phòng tiếp thị bán hàng” sau khi người gọi nhấn phím tương ứng với 1,2,3 thì sẽ được thông báo và chuyển đến phòng ban tương ứng.
/etc/asterisk/extention.conf [incoming] Exten=>s,1,answer() Exten=>s,2,background(LoiChao) Exten=>s,3,hangup() Exten=>1,1,playback(KyThuat) Exten=>1,2,goto(kythuat,s,1) Exten=>2,1,playback(HanhChanh) Exten=>2,2,goto(HanhChanh,s,1) Exten=>3,1,playback(TiepThiBanHang) Exten=>3,2,goto(TiepThiBanHang,s,1)
Dial() : Ứng dụng thực hiện quay số điện thoại, để minh họa cho ứng dụng dial() chúng ta cải thiện đoạn dialplan trên, thay vì chuyển đến ngữ cảnh tương ứng thì thực hiện quay trực tiếp đến số điện thoại của phòng ban đó. Ví dụ thực hiện quay số SIP/8051 cho phòng kỹ thuật, iax2/8000 cho phòng Hành Chánh và gọi đến zap/1 cho phòng tiếp thị bán hàng.
/etc/asterisk/extention.conf [incoming] Exten=>s,1,answer() Exten=>s,2,background(LoiChao) Exten=>s,3,hangup() Exten=>1,1,playback(KyThuat) Exten=>1,2,dial(sip/8051) Exten=>2,1,playback(HanhChanh) Exten=>2,2,dial(iax2/8000) Exten=>3,1,playback(TiepThiBanHang) Exten=>3,2,dial(zap/1)