دستور Answer چیست؟
در استریسک، زمانی که یک تماس به Dialplan میرسد، سیستم هنوز تماس را بهصورت رسمی «پاسخ نداده» و زنگ زدن ادامه دارد. دستور Answer()
برای پایان دادن به مرحله زنگخوردن (Ringing) و پاسخ رسمی تماس استفاده میشود.
با اجرای این دستور، تماس بهصورت رسمی توسط سرور پاسخ داده میشود و میتوان عملیات بعدی مانند پخش فایل صوتی یا گرفتن ورودی از کاربر را انجام داد.
چرا Answer مهم است؟
بسیاری از اپلیکیشنها مانند Playback()
, Read()
, Background()
و حتی Dial()
به تماس پاسخدادهشده نیاز دارند. بدون اجرای Answer()
، ممکن است تماس ناخواسته قطع شود یا تماسگیرنده هیچ خروجیای نشنود.
سینتکس دستور Answer
Answer([delay])
-
delay
: (اختیاری) مدت زمان انتظار به میلیثانیه قبل از پاسخ دادن تماس. مثلاً:
Answer(1000)
به مدت ۱ ثانیه (۱۰۰۰ میلیثانیه) قبل از پاسخ دادن تماس صبر میکند.
مثال ساده از Answer در Dialplan
[voipiran]
exten => 100,1,Answer()
exten => 100,2,Playback(welcome)
exten => 100,3,Hangup()
در این مثال، اگر داخلی ۱۰۰ گرفته شود:
-
تماس پاسخ داده میشود
-
فایل صوتی
welcome
پخش میشود -
سپس تماس قطع میشود
پیادهسازی در Issabel
در ایزابل، همانطور که قبلاً گفتیم:
-
Dialplan باید در فایل
extensions_custom.conf
نوشته شود. -
Context دلخواه مثلاً
[voipiran]
تعریف شود. -
این کانتکست در
[from-internal-custom]
اینکلود شود.
[from-internal-custom]
include => voipiran
[voipiran]
exten => 100,1,Answer()
exten => 100,2,Playback(welcome)
exten => 100,3,Hangup()
نکات فنی و عملی
-
اگر تماس از سمت مخابرات یا ترانک SIP برقرار شده باشد، اجرای Answer باعث شروع Billing (صورتحساب) میشود.
-
برای تماسهای تستی داخلی، Answer بدون تأثیر مالی است.
-
بهتر است در IVR یا سیستمهای خودکار، تماس همیشه بهصورت رسمی با Answer پاسخ داده شود.
مقایسه با دستورات مشابه
-
اگر از
Playback()
بدون Answer استفاده کنید، در برخی مواقع صدای پخش نمیشود چون تماس هنوز پاسخ داده نشده. -
Answer یکی از اولین دستورات توصیهشده در هر سناریوی تماس ورودی است.
در این مقاله، با نحوه استفاده از دستور Answer
برای پاسخ به تماسها در Dialplan استریسک آشنا شدید. برای یادگیری نحوه قطع تماسها با استفاده از دستور Hangup
و آشنایی با دیگر دستورات Dialplan، میتوانید به مقاله آموزش Hangup در استریسک Asterisk مراجعه کنید.