آموزش Hangup در استریسک Asterisk — قطع تماس در Dialplan
معرفی دستور Hangup
دستور Hangup
یکی از سادهترین اما حیاتیترین دستورات در Dialplan استریسک (Asterisk) است که وظیفهاش پایان دادن به تماس جاری است. این دستور معمولاً در پایان هر سناریوی تماس قرار میگیرد تا تماس پس از اجرای سایر دستورات بهدرستی قطع شود.
در واقع، اگر شما تماس را به صورت دستی قطع نکنید، ممکن است برخی منابع سیستم آزاد نشوند یا تماس بهصورت ناقص پایان یابد. به همین دلیل استفادهی درست از Hangup
اهمیت زیادی دارد.
محل استفاده رایج
-
پایان تماسهای معمول
-
خروج از منوهای IVR یا صف تماس
-
قطع تماس در شرایط خاص (مثلاً پس از بررسی شرطی در GotoIf)
-
جلوگیری از لوپ شدن تماس یا اشغال کانال
ساختار فنی دستور Hangup
exten => شماره_داخلی,priority,Hangup([کد_خطا])
پارامتر اختیاری:
causecode
یا همان کد خطا عددی است که علت قطع تماس را مشخص میکند. استفاده از این کد در حالتهای خاص مفید است (مثل قطع تماس به دلیل شلوغی یا مسدودی).
مثلاً:
-
۱۶
– تماس نرمال قطع شده -
۱۷
– تماس توسط کاربر رد شده -
۳۴
– مسیر موقتا در دسترس نیست
در اغلب موارد نیاز به تعیین کد خاص نیست و بدون پارامتر استفاده میشود.
مثال ساده و عملی
فرض کنید میخواهید داخلی ۲۰۰ تماس را پاسخ دهد و پس از ۵ ثانیه قطع شود:
; فایل extensions_custom.conf
[voipiran]
exten => 200,1,Answer()
exten => 200,2,Wait(5)
exten => 200,3,Hangup()
حتماً فراموش نکنید که کانتکست
voipiran
را در فایلextensions_custom.conf
ایجاد کرده و آن را درfrom-internal-additional
اینکلود کنید:
[from-internal-additional]
include => voipiran
نکته فنی مهم:
در ایزابل (Issabel 5) و استریسک ۱۸، همه دیالپلنهای سفارشی باید فقط در فایل extensions_custom.conf
نوشته شوند تا در آپدیتهای آینده یا تغییرات رابط گرافیکی (GUI) بازنویسی نشوند.
نتیجهگیری
دستور Hangup
گرچه ساده بهنظر میرسد، اما ستون اصلی پایان تماس در استریسک است. در تمام پروژههای واقعی، مانند IVR، صف تماس، تماس با اپراتور و…، استفادهی درست از آن، نشانهی یک دیالپلن اصولی و حرفهای است.
در این مقاله، نحوه استفاده از دستور Hangup
برای قطع تماسها در Dialplan استریسک را توضیح دادیم. اگر به یادگیری بیشتر در خصوص نحوه پاسخ دادن به تماسها با استفاده از دستور Answer
و دیگر دستورات پایه علاقهمند هستید، میتوانید مقاله آموزش دستور Answer در Dialplan استریسک را مطالعه کنید.