آخرین ویرایش اردیبهشت 24, 1404 حامد کوه فلاح
Extension Pattern Matching چیست؟
در استریسک، Extension Pattern Matching یا الگوهای شمارهگیری، روشی برای کنترل و مدیریت داخلیها و مقصدهای تماس است. بهجای تعریف تکتک شمارهها، میتونیم با استفاده از الگوها، محدودهای از داخلیها یا شمارهها رو با یک دستور کنترل کنیم. این ویژگی باعث انعطافپذیری بالا در طراحی Dialplan میشه.
چرا به Extension Pattern نیاز داریم؟
فرض کنید بخوایم تمامی داخلیهای بین 200 تا 299 رو پوشش بدیم. تعریف تکتک اونها وقتگیر و غیرمنطقیه. در عوض، میتونیم بنویسیم:
exten => _2XX,1,Playback(hello)
هر شمارهای که با 2 شروع شه و دو رقم بعدی داشته باشه (یعنی 200 تا 299)، این اپلیکیشن براش اجرا میشه.
سمبلهای پرکاربرد در Patternها
| سمبل | معنی |
|---|---|
X | یک رقم بین 0 تا 9 |
Z | یک رقم بین 1 تا 9 |
N | یک رقم بین 2 تا 9 |
. | هر تعدادی از ارقام |
! | تطبیق فوری (کمتر استفاده میشه) |
[ ] | مجموعهای از ارقام مجاز مثل [3-5] یا [135] |
مثالهای کاربردی
۱. داخلیهای بین 100 تا 199:
exten => _1XX,1,Playback(extension)
۲. شمارههای موبایل ایرانسل (شروع با 093):
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 استریسک را مطالعه کنید.










