تعداد بازدید: ۶۹
زمان مطالعه: < 1 دقیقهدستور ExecIf()
در استریسک یکی دیگر از ابزارهای کاربردی برای اجرای شرطی یک دستور است، بدون اینکه مسیر تماس تغییر کند. اگر تنها بخواهیم یک دستور خاص در صورت برقرار بودن یک شرط خاص اجرا شود، از ExecIf()
استفاده میکنیم.
ساختار کلی ExecIf:
ExecIf(condition?application(arguments))
مثال:
exten => 3000,1,Set(myVar=1)
exten => 3000,2,ExecIf($["${myVar}" = "1"]?Playback(hello))
exten => 3000,3,Playback(goodbye)
اگر متغیر myVar
برابر ۱ باشد، صدای “hello” پخش میشود، سپس در هر صورت صدای “goodbye” نیز پخش میگردد.
مثال: فعالسازی ضبط تماس تنها برای شماره خاص
[voipiran]
exten => 4000,1,NoOp(بررسی شماره تماس گیرنده
exten => 4000,2,ExecIf($["${CALLERID(num)}" = "09121234567"]?MixMonitor(vip-call.wav))
exten => 4000,3,Dial(SIP/1001)
در این مثال اگر تماس از شماره خاصی باشد، صدای تماس ضبط میشود.
🔗 برای آشنایی بیشتر با نحوه استفاده از
Goto
پیشنهاد میکنم مقاله آموزش دستور Goto در استریسک Asterisk — پرش به مرحله خاص را ببینید.