Extension Pattern Matching چیست؟
در استریسک، Extension Pattern Matching یا الگوهای شمارهگیری، روشی برای کنترل و مدیریت داخلیها و مقصدهای تماس است. بهجای تعریف تکتک شمارهها، میتونیم با استفاده از الگوها، محدودهای از داخلیها یا شمارهها رو با یک دستور کنترل کنیم. این ویژگی باعث انعطافپذیری بالا در طراحی Dialplan میشه.
چرا به Extension Pattern نیاز داریم؟
فرض کنید بخوایم تمامی داخلیهای بین ۲۰۰ تا ۲۹۹ رو پوشش بدیم. تعریف تکتک اونها وقتگیر و غیرمنطقیه. در عوض، میتونیم بنویسیم:
exten => _2XX,1,Playback(hello)
هر شمارهای که با ۲ شروع شه و دو رقم بعدی داشته باشه (یعنی ۲۰۰ تا ۲۹۹)، این اپلیکیشن براش اجرا میشه.
سمبلهای پرکاربرد در Patternها
سمبل | معنی |
---|---|
X | یک رقم بین ۰ تا ۹ |
Z | یک رقم بین ۱ تا ۹ |
N | یک رقم بین ۲ تا ۹ |
. | هر تعدادی از ارقام |
! | تطبیق فوری (کمتر استفاده میشه) |
[ ] | مجموعهای از ارقام مجاز مثل [۳-۵] یا [۱۳۵] |
مثالهای کاربردی
۱. داخلیهای بین ۱۰۰ تا ۱۹۹:
exten => _1XX,1,Playback(extension)
۲. شمارههای موبایل ایرانسل (شروع با ۰۹۳):
exten => _093.,1,Dial(SIP/${EXTEN}@outbound)
۳. الگوی شمارهگیری بینالمللی:
exten => _00.,1,Playback(international-call)
ساختار پیشنهادی در Issabel
اگر از Issabel 5 استفاده میکنید، باید این الگوها در فایل
extensions_custom.conf
و داخل کانتکست دلخواه مثل[voipiran]
نوشته بشن.
و حتماً کانتکست رو به[from-internal-custom]
اضافه کنید:
[from-internal-custom]
include => voipiran
[voipiran]
exten => _1XX,1,Playback(extension)
exten => _1XX,2,Hangup()
نکته: از Same => n
استفاده نمیکنیم تا خوانایی برای مبتدیها بیشتر بشه.
نکات مهم در طراحی Pattern
-
ترتیب Patternها اهمیت داره. از خاص به عام بنویسید.
-
الگوهای خیلی باز مثل
_X.
میتونن همه چیز رو Match کنن و جلوی بقیه رو بگیرن. -
در پایان الگو میتونید از
${EXTEN}
برای دسترسی به شماره گرفته شده استفاده کنید.
کاربرد واقعی
در طراحی IVR یا تماسهای خروجی، Extension Pattern Matching باعث میشه کنترل کامل روی رفتار تماسگیرنده داشته باشیم. مثلاً:
-
تفکیک تماسهای داخلی و شهری
-
تعیین مقصد تماس بر اساس شماره ورودی
-
ایجاد سیستمهای داینامیک بر اساس شماره
معرفی Voipiran.io
یادگیری Extension Pattern Matching پایه طراحی تماس هوشمنده. توی دورههای آموزشی ویپ در voipiran.io، این مفاهیم بهصورت عملی با پروژههای واقعی آموزش داده میشن. اگه به مسیر حرفهای شدن در برنامهنویسی استریسک علاقهمندید، این دورهها دقیقاً برای شما طراحی شدند.
در این مقاله، به بررسی نحوه استفاده از Extension Pattern Matching در Dialplan استریسک پرداختیم تا بتوانید الگوهای مختلف شمارهگیری را تطبیق دهید. اگر در مورد دستور Answer
یا نحوه مدیریت تماسها در Dialplan سوالی دارید، پیشنهاد میکنم مقاله آموزش دستور Answer در Dialplan استریسک را مطالعه کنید.