مقدمه
در سیستمهای تلفنی، کنترل دسترسی و امنیت تماسها اهمیت بسیار زیادی دارد. برنامه Authenticate در Dialplan استریسک، ابزاری ساده و در عین حال کاربردی برای احراز هویت کاربران قبل از ادامه تماس است. این برنامه امکان میدهد تماسگیرنده با وارد کردن یک کد یا پسورد معتبر، اجازه دسترسی به بخشهای خاص سیستم یا برقراری تماسهای خاص را داشته باشد.
در این مقاله با کاربردها، پارامترها و مثالهای عملی برنامه Authenticate آشنا میشویم.
برنامه Authenticate چیست؟
برنامه Authenticate یک برنامه کاربردی در استریسک است که به شما اجازه میدهد تماسگیرنده را وادار به وارد کردن یک رمز عبور (PIN) کنید. این برنامه معمولاً در سناریوهایی مثل دسترسی به تلفنهای داخلی خاص، خروجیهای ترانک یا بخشهای حساس IVR کاربرد دارد.
ساختار دستور Authenticate
ساختار کلی برنامه Authenticate به صورت زیر است:
exten => 1234,1,Answer()
exten => 1234,n,Authenticate(1234)
exten => 1234,n,Dial(SIP/100)
exten => 1234,n,Hangup()
توضیح:
-
عدد داخل پرانتز (مثلاً
۱۲۳۴
) رمز عبور یا PIN مورد نظر است. -
در صورت وارد کردن صحیح PIN، اجرای برنامه ادامه یافته و به دستور بعدی میرود.
-
در صورت اشتباه، تماس قطع یا به دستورات دیگر هدایت میشود.
پارامترهای مهم برنامه Authenticate
پارامتر | توضیح | مثال کاربردی |
---|---|---|
pin | کد عبور یا رمز عبور مورد نیاز | Authenticate(5678) |
tries (اختیاری) | تعداد دفعات مجاز برای وارد کردن رمز | پیشفرض ۳ بار، مثلاً Authenticate(1234,5) |
نکات مهم
-
برنامه Authenticate بعد از دستور Answer باید قرار بگیرد تا تماسگیرنده بتواند کد را وارد کند.
-
اگر کاربر کد را به درستی وارد نکند، استریسک به صورت پیشفرض تماس را قطع میکند، مگر اینکه در Dialplan دستور دیگری تعیین شده باشد.
-
بهتر است پس از Authenticate، لاگگیری و کنترل بیشتری در Dialplan اعمال شود تا امنیت بالاتر برود.
-
در ایزابل و سیستمهایی مانند [voipiran] بهتر است این برنامه در کانتکستهایی مانند
[from-internal-additional]
یا[voipiran]
استفاده شود تا تداخلی با مسیرهای دیگر نداشته باشد.
مثالهای کاربردی
مثال ۱: محافظت از داخلی خاص با PIN
exten => 2000,1,Answer()
exten => 2000,n,Authenticate(4321)
exten => 2000,n,Dial(SIP/2000)
exten => 2000,n,Hangup()
توضیح: برای شماره داخلی ۲۰۰۰، تماسگیرنده باید کد ۴۳۲۱ را وارد کند تا بتواند تماس برقرار کند.
مثال ۲: احراز هویت برای خروجی ترانک
exten => _9X.,1,Answer()
exten => _9X.,n,Authenticate(9876,4)
exten => _9X.,n,Dial(SIP/provider/${EXTEN:1})
exten => _9X.,n,Hangup()
توضیح: برای برقراری تماس خروجی (با شمارههایی که با ۹ شروع میشوند)، کاربر باید کد ۹۸۷۶ را حداکثر در ۴ تلاش وارد کند.
مثال ۳: احراز هویت قبل از دسترسی به منوی IVR خاص
exten => 7777,1,Answer()
exten => 7777,n,Authenticate(2468)
exten => 7777,n,Goto(voipiran,ivr-main,1)
توضیح: فقط کاربران وارد شده با رمز ۲۴۶۸ میتوانند وارد IVR اصلی در کانتکست [voipiran] شوند.
جمعبندی
برنامه Authenticate یک راهکار ساده و مؤثر برای افزایش امنیت در استریسک است که به کمک آن میتوانید دسترسی به بخشهای حساس یا داخلیها را محدود کنید. با تنظیم درست این برنامه در Dialplan، امنیت تماسها را به شکل قابل توجهی افزایش دهید.
FAQ – سوالات متداول
س: چند بار میتوانم رمز را اشتباه وارد کنم؟
ج: به طور پیشفرض ۳ بار، اما میتوانید تعداد دفعات را با پارامتر دوم مشخص کنید.
س: اگر رمز اشتباه وارد شود، چه اتفاقی میافتد؟
ج: تماس قطع میشود مگر اینکه در Dialplan دستورات دیگری برای مدیریت خطا تعریف شده باشد.