سیستم تلفنی استریسک (Asterisk) یکی از محبوبترین و پرکاربردترین سیستمهای تلفنی متنباز است که برای پیادهسازی راهکارهای تلفنی مبتنی بر VoIP و PSTN به کار میرود. استریسک بهعنوان یک پلتفرم ارتباطی قوی، به شما این امکان را میدهد که انواع تماسهای ورودی و خروجی را مدیریت کنید، سیستمهای IVR ایجاد کنید، کنفرانسهای صوتی برگزار کنید، و بسیاری از ویژگیهای تلفنی دیگر را پیادهسازی کنید. یکی از مهمترین ویژگیهای استریسک، قابلیت برنامهنویسی و سفارشیسازی تماسها از طریق “Dial Plan” یا همان برنامه تماس است.
در استریسک، “Dialplan” بهعنوان مغز متفکر سیستم عمل میکند. Dialplan مجموعهای از دستورات و برنامههای کاربردی است که تعیین میکند یک تماس ورودی یا خروجی چگونه پردازش شود. درواقع، Dialplan نویسی یعنی کدنویسی برای نحوه مدیریت تماسها در استریسک. هر تماس ورودی یا خروجی از طریق Dialplan پردازش میشود و با توجه به سناریوی تعریفشده، عملیات مختلفی مانند پاسخدهی، انتقال تماس، پخش پیام، ضبط صدا، و غیره روی تماس انجام میشود.
یکی از مزایای بزرگ سیستم تلفنی استریسک این است که تقریباً هر سناریوی تلفنی را میتوان بهراحتی با استفاده از Dialplan نویسی پیادهسازی کرد. برای مثال:
Dialplan شامل چندین Context (زمینه) است که هر کدام از آنها مجموعهای از Extensions (شمارههای داخلی) و Priorities (اولویتها) دارند. هر Extension در Dialplan نشاندهنده یک سناریو خاص است که میتواند شامل مجموعهای از دستورات و برنامههای کاربردی باشد. در هر Extension، شما میتوانید از انواع برنامههای کاربردی مانند Answer
، Hangup
، Dial
و دیگر موارد استفاده کنید تا عملیات مختلفی روی تماس انجام دهید.
مثلاً فرض کنید میخواهید یک تماس ورودی را پاسخ دهید، پیام خوشامدگویی پخش کنید و سپس آن را به یک داخلی خاص هدایت کنید. این سناریو را میتوان بهراحتی در یک Dialplan ساده نوشت:
در این مثال:
از آنجایی که Dialplan کاملاً قابل برنامهنویسی است، میتوان سناریوهای بسیار پیچیدهتری را نیز پیادهسازی کرد. بهعنوان مثال، میتوان سناریوهایی تعریف کرد که بر اساس شرایط خاص مانند زمان، روز هفته، یا شماره تماسگیرنده، تماس به بخشهای مختلف هدایت شود. همچنین امکان تعریف توابع، متغیرها و شرطها در Dialplan وجود دارد که به شما اجازه میدهد هر نوع منطق سفارشی را پیادهسازی کنید.
در مجموع، Dialplan نویسی در استریسک به شما این امکان را میدهد که کنترل کامل و دقیقی بر روی تماسهای تلفنی خود داشته باشید و سناریوهای تلفنی موردنیاز کسبوکارتان را بهراحتی و با انعطافپذیری بالا پیادهسازی کنید. اگر به دنبال یادگیری و تسلط بر Dialplan نویسی و توسعه سیستمهای هوشمند بر پایه استریسک و ایزابل هستید، شرکت در دورههای پیشرفته استریسک که در سایت voipiran.io ارائه میشود، میتواند گزینه مناسبی برای شما باشد.
در سیستم تلفنی استریسک، بخش اصلی هر برنامه تماس (Dial Plan) شامل دستوراتی است که در بخشهای مختلف یک زمینه (Context) تعریف میشوند. هر دستور از یک برنامه کاربردی (Application) در استریسک استفاده میکند که عملی مشخص را در فرایند تماس انجام میدهد. در ادامه به معرفی ۱۰ برنامه کاربردی که بیشتر در استریسک استفاده میشوند، همراه با توضیحات بیشتر درباره موارد استفاده آنها میپردازیم.
این برنامه به کانال تماس پاسخ میدهد. اگر کانال از قبل پاسخ داده شده باشد، هیچ عملی انجام نمیشود. برنامه Answer بهطور معمول در ابتدای سناریوهایی استفاده میشود که لازم است پس از برقراری تماس، اقدام خاصی مانند پخش پیغام یا ضبط تماس انجام شود. مثلاً در سناریوهای IVR (پاسخگوی خودکار) ابتدا تماس پاسخ داده میشود، سپس پیام خوشامدگویی پخش میشود.
این برنامه تماس را قطع میکند و کانال تماس را پایان میدهد. استفاده از Hangup معمولاً در پایان یک سناریو بهکار میرود، جایی که تماس بهطور کامل پردازش شده و نیاز به قطع آن وجود دارد. به عنوان مثال، پس از پخش پیام پایانی، تماس قطع میشود.
این برنامه صدای شلوغی یا ترافیک شبکه را پخش میکند. مقدار ورودی این برنامه تعداد ثانیههایی است که این صدا پخش میشود. این برنامه در سناریوهایی استفاده میشود که سیستم قادر به پردازش تماس یا برقراری تماس با شماره مقصد نیست و لازم است پیغامی به کاربر پخش شود تا بداند تماس او با مشکل مواجه شده است.
نکته: اگر زمان مشخص شود، پس از اتمام زمان تماس بهطور خودکار قطع میشود، بنابراین همیشه بهتر است با مقدار زمانی استفاده شود.
این برنامه یک فایل صوتی را بهطور مداوم پخش میکند. معمولاً از Playback برای پخش پیامهای ثابت مانند خوشامدگویی یا اعلام اطلاعات استفاده میشود. این برنامه در سیستمهای IVR و اطلاعرسانی به مشتریان بسیار کاربردی است.
این برنامه یک فایل صوتی را پخش میکند، در حالی که منتظر وارد شدن شمارهها از طرف کاربر است تا به مقصد جدید هدایت شود. برنامه Background معمولاً در سیستمهای IVR استفاده میشود که در آن کاربر پس از شنیدن پیامی باید یک شماره یا گزینه را انتخاب کند. مزیت Background این است که در حین پخش پیام، کاربر میتواند گزینهای را انتخاب کند و نیازی به منتظر ماندن تا پایان پخش فایل صوتی نیست.
برای اهداف بررسی و دیباگینگ، این برنامه پیامهایی را به خط فرمان استریسک با توجه به سطح verbosity مشخص شده چاپ میکند. این برنامه بیشتر در زمان توسعه و پشتیبانی سیستم برای بررسی جریان تماسها و خطاهای احتمالی استفاده میشود. برنامه Verbose به مدیران سیستم کمک میکند تا بهراحتی اطلاعات مربوط به اجرای برنامه تماس را مشاهده کنند.
این برنامه اجازه میدهد که به اولویت، شماره داخلی، یا زمینه دیگری در برنامه تماس پرش کنید. از GoTo برای ایجاد جریانهای پیچیدهتر در برنامه تماس استفاده میشود، مانند پرش به بخشهای مختلف بر اساس ورودیهای کاربر یا شرایط خاص.
این برنامه به شما اجازه میدهد مقدار یک متغیر کانال یا یک تابع استریسک را تنظیم کنید. از Set برای ذخیره اطلاعاتی مانند شناسه تماسگیرنده، تنظیم مقادیر متغیرهای محیطی یا کانال استفاده میشود. این برنامه در سناریوهایی که نیاز به پردازش اطلاعات ورودی و استفاده از آن در بخشهای مختلف برنامه تماس دارید، کاربرد دارد.
این برنامهها مقدار عددی وارد شده را میخوانند. SayDigits
اعداد را یکبهیک تلفظ میکند، در حالی که SayNumber
عدد کامل را تلفظ میکند. این برنامهها در سناریوهایی استفاده میشوند که سیستم نیاز دارد اطلاعات عددی مانند شمارهها یا مقادیر را به تماسگیرنده اعلام کند.
این برنامه اصلیترین برنامه در استریسک است که تلاش میکند به یک دستگاه یا نقطه انتهایی (Endpoint) متصل شود و تماس برقرار کند. از Dial برای برقراری تماس با دستگاههای مختلف مانند تلفنهای SIP، تلفنهای داخلی یا حتی شمارههای خارجی استفاده میشود. این برنامه در تمامی سناریوهای تماس خروجی کاربرد دارد.
برای دریافت اطلاعات درباره برنامههای کاربردی استریسک، میتوانید از دستورات زیر در خط فرمان استریسک استفاده کنید:
اگر به دنبال برنامهنویسی و توسعه ماژولهای هوشمند روی ایزابل و استریسک هستید، میتوانید در دورههای پیشرفته استریسک که در سایت voipiran.io ارائه میشود شرکت کنید.
در سیستمهای تلفنی تحت ویپ مانند ایزابل (Issabel)، الستیکس (Elastix) و فری پی بی اکس…
Open Source Software نقش مهمی در توسعه نرمافزارهای SaaS (نرمافزار به عنوان سرویس) داشته است.…
SaaS چیست؟ بررسی جامع نرمافزار بهعنوان سرویس و مزایای آن در دنیای فناوری اطلاعات، مدلهای…
در دنیای ارتباطات راه دور و شبکههای VoIP، اصطلاح Softswitch یکی از مفاهیم کلیدی است. Softswitch یک سیستم نرمافزاری…
Asterisk بهعنوان یکی از محبوبترین پلتفرمهای تلفن تحت شبکه (VoIP)، ابزارهای قدرتمند و متنوعی را…
در سیستمهای تلفنی سنتی و مدرن، مفاهیمی مانند FXS و FXO نقشی کلیدی در ارتباطات آنالوگ و دیجیتال ایفا…