02187273

 AMI چیست؟

 AMI چیست؟

 AMI

Asterisk Soft Switch یکی از بهترین نرم‌افزارهایOpen Source است که طرفداران زیادی در عرصه ویپ VoIP دارد.

این سافت سوییچ رابط کاربری گرافیکی ندارد و برای استفاده از آن باید از یک واسط گرافیکی به همراه یک سرویس اتصال به نام AMI (Asterisk Manager Interface)  استفاده کرد. این سرویس مختص اتصال به Asterisk  است و با استفاده از آن قادر خواهید بود تمام رویدادها (Event) و فعالیت‌های داخلی‌های خود اعم از وضعیت رجیستری ، تماس‌ها ، صف‌ها و غیره را با مشخص کردن نوع عملیات (Action)  دریافت کنید و جهت تجزیه و تحلیل در نرم افزارهای خود استفاده نمایید.

نرم افزارهایی مانندElastix  ، Free PBX  ، 3CX و بسیاری دیگر از سافت سوییچ‌ها GUI  مخصوص خود را دارند که با استفاده از AMI  با سافت سوییچ Asterisk  ارتباط برقرار می‌کنند.

شرکت ماهان ویپ نیز برای مدیریت تماس‌های نرم افزار مرکز تماس MV با استفاده از AMI به Asterisk متصل می‌شود.

برای  اتصال به Asterisk  از پروتکل‌های TCP و HTTP استفاده می‌شود:

معمولاً ارتباط با Asterisk از طریقTelnet  با پورت 5038 (TCP) انجام می‌شود که این روش نسبت به روش‌های دیگر رایج تر است. تنظیمات مربوط به کانکشن در فایل manager.conf که در مسیر /etc/asterisk قرار دارد تعریف می‌شود.

برای دریافتEvent  به صورت وب سرویس از پروتکل (HTTP) استفاده می‌شود که باید دسترسی مربوطه در فایل‌های manager.conf و http.conf ایجاد گردد.

تمام بسته‌های AMI اعم ازManager Events  و Manager Actions فرمت یکسانی دارند و به این علت که قابل خواندن(Plain Text)  هستند در نرم افزارهای مختلف به آسانی قابلیت تجزیه و تحلیل دارند.

دسترسی به AMI به صورت پیش فرض درAsterisk  غیر فعال است وتنظیمات مربوط به فعالسازی آن به همراه تنظیمات و دسترسی‌های کاربری در فایل manager.conf  قرار دارند.

برای دسترسی به تنظیمات با استفاده از ویرایشگرهای لینوکسی مانند vi / vim /nano  وارد مسیر زیر شوید و فایل را ویرایش کنید.

Vim /etc/asterisk/manager.com

فعال‌سازی دسترسی AMI و دسترسی وب در این قسمت انجام می‌شود:

[general]

Enabled = yes

webenabled = yes

در این قسمت پورت پیش فرض 5038 می‌باشد که قابل تغییر است و آی پی مجاز به دسترسی که در حالت پیش فرض برای همه مجاز است. اگر ارتباط از خود سیستم برقرار  شود میتوان فقط آدرس 127.0.0.1) یا localhost ) و یا هر آی پی دیگر را مجاز کرد.

port = 5038

bindaddr = 0.0.0.0

 

برای تنظیمات کاربری و سطح دسترسی آن‌ها می‌توانید به این قسمت مراجعه کنید:

[admin]

Secret=1qaz2wsx

Read = all

Write = all

displayconnects = no

تمام رویدادها در Asterisk  طبقه بندی های خود را دارند و برای تخصیص دسترسی آن‌ها به کاربران می‌توان در تنظیمات فایل manager.con نام هر کدام از طبقه بندی ها را در پارامتر read , write واردکرد.

سایر پارامترهای فایل manager.conf به این شرح است:

Tlsenable

Tlsbindaddr

Tlsbindport

Tlssecretfile

Tlsprivatekey

Tlscipher

Allowmultiplelogin

Displayconnects

Timstampevents

Brokeneventsaction

Channelvars

Debug

Httptimeout

ارسال و دریافت اطلاعات در AMI در سه حالت Action)  ، Event و (Response خلاصه می‌شود.

Action : ارسال دستور از طریق کاربر (Client) به Asterisk  است که همیشه باید خط اول در بسته ارسالی باشد.

                                                                                                                                                            action:login

username:admin

Secret: 1qaz2wsx

 

به منظور مشاهده Action  ها در asterisk –r دستور manager show command  را وارد کنید.

Response: هر Action که به سرور ارسال می‌شود می‌تواند حداقل یک پاسخ (Response) داشته باشد. هر پاسخ به همراه هدر response می‌آید و نشان دهنده وضعیت Action  است که می‌تواند Success یا Error ‌باشد.

 

 

Event: نمایش رویدادهای در حال وقوع است و می‌تواند حاوی اطلاعات ورود و خروج از صف، تماس‌های ورودی یک داخلی و غیره باشد.

به منظور مشاهده event ها در asterisk –r  دستور manager show event را وارد کنید.

به طور مثال جهت نمایش اطلاعات تماس اپراتورها به صورت Popup  می‌توان از Event : State  با مشخصات زیر استفاده کرد.

 

Privilege – 1 : مقدار دسترسی برای دریافت Event را مشخص می‌کند.

Channelstatdesc – 2: وضعیت تماس را در سه حالت زیر مشخص می‌کند

Ringing -:  در حال زنگ خوردن

Up -: درحال مکالمه

Down -: آماده و در حالت آزاد

‌:Calleridnum – 3 شماره داخلی اپراتور

Calleridname – 4: نام و شماره قابل نمایش برای اپراتور که میتواند شماره داخلی اپراتور نیزباشد

Connectedlinenum – 5: شماره تماس گیرنده یا مشتری

Connectedlinename – 6: نام و شماره قابل نمایش مشتری

: Duration – 7 مدت زمان مکالمه

Registered – 8: مدت زمان رجیستر شدن داخلی اپراتور

Event های موجود در Asterisk را در لینک زیر مشاهده کنید:

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+AMI+Events

 

 

 

پیمایش به بالا