با سلام و احترام،
در سیستم تلفنی استریسک Asterisk که قبل تلفنی ایزابل Issabel است مکانیز های مختلفی همچون Dialplan، AGI, AMI و البته ARI برای برنامه نویسی و ساخت سیستم تلفنی هوشمند وجود دارد.
برای درک AGI در ابتدا باید با مفهوم Dialplan باید آشنا بشویم.
دیال پلن Dialplan چیست؟
تمامی اتفاقات در استریسک به صورت اسکریپت که به آن Dialplan می گویند پیاده سازی شده است، به طور ساده تر برای هر شماره این گرفته می شود یا هر تماس وارد استریسک می شود مسیری در قابل Dialplan وجود دارد و استریسک بر اساس Dialplan تعریف شده تماس را هدایت و اتفاقات را رقم می زند.
بله Dialplan ها نوشته شده قبل استریسک هستند و تمامی اتفاقات در استریسک توسط Dialpaln نوشته شده یا می شوند.
برای مثال قابل درک تر می توان امکانات محیط وب را در نظر گرفت، اگر در محیط وب شما یک صف، follow me, outbound, inbound, ivr یا هی چیز دیگری می سازید در کد استریسک تبدیل به Dialplanمی شود تا استریسک بتواند بر اساس آن کد ها تصمیم گیری کند و مسیر تماس و اتفاقات را رقم بزند.
پس به صورت کلی برنامه نویسی بر روی استریسک همان Dialplan نویسی است.
اگر می خواهید IVR محیط وب را تغییری بدهید، یا یک امکان جدید مثل شنود هوشمند یا مدیر منشی تعریف کنید باید در Dialplan موجود تغییرات ایجاد کنید یا یک Dialplan جدید بسازید.
کد های Dialplan استریسک در فایل /etc/asterisk/extensions.conf قرار دارند که البته تغییرات در آن نیاز به دانش کامل استریسک و Dialplan نویسی دارد.
با دانش برنامه نویسی استریسک یا همان Dialplan نویسی شما هر سیستم هوشمندی را نیز میتوانید پیاده سازی کنید، سیستم هایی که در مسیر تماس تلفنی اتفاق می افتند.
به طور مثال:
- نظر سنجی تلفنی بعد از صف
- دریافت کالر آیدی و اعلام یک پیام در ورودی سیستم تلفنی
- شنود هوشمند
- بیان نام اپراتور در ابتدای صف
- هدایت مشتری به اپراتور مرتبط با وی
- دریافت کد ملی و نمایش برای اپراتور
- و البته هزاران مثال مشابه
تقریبا هر درخواست منطقی از سمت مشتری با Dialplan در استریسک Asterisk قابل پیاده سازی است.
اما AGI چیست؟
درواقع با یک تعریف ساده AGI همان Dialplan نویسی در محیط یک زبان برنامه نویسی است
در محیط Dialplan سیستم تلفنی استریسک Asterisk امکانات تلفنی زیادی را به نام Application برای ما فراهم کرده هنچون گرفتن عدد از مشتری، پخش فایل صوتی یا اعداد که باعث می شود بتوانید هر برنامه ای بنویسید اما اگر برنامه شما کمی بزرگ باشد و بخش هایی همچون ارتباط با دیتابیس، ارتباط با Web servise و یا حلقه های تو درتو و بررسی های زیاد داشته باشد محیط Dialplanکمی برای این کار ضعیف خواهد بود.
استریسک Asterisk این امکان را با مکانیزم AGI فراهم می کند تا همان کد نویسی Dialplan را به واسطه AGI در یک زمان برنامه نویسی داشته باشید، زبان هایی نظیر PHP، پایتون، Perl، جاوا یا دات نت
ماژول های نظر سنحی، پرسش و پاسخ و یا مثلا نوبت دهی تلفنی نیاز دارند در AGI پیاده سازی شوند.
استریسک Asterisk دنیای بسیار جذاب و بزرگی دارد که باید اصولی و حرفه ای بیاموزید، در ایران بیش از 13 سال است که ویپ ایران voipiran.io دوره های تخصصی ویپ را بگزار می کند و دوره تخصصی استریسک پیشرفته را با بیان حدود 20 سناریو عملی تنها جایی است که می توانید استریسک Asterisk را حرفه ای و اصولی بیاموزید و کسب در امد کنید.
با سپاس