Asterisk AMI

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

Info: این رابط خودکاراً با چرخه慢‌ترین کنترلگر منطقی برنامه نویسی شده (PLC) مرتبط همگام می‌شود. پیام‌ها توسط سیستم بافر شده‌اند، بنابراین هیچ پیام از دست نمی‌رود.

توجه: می‌توان نیز رویدادهای مستقیم در تلفن ایجاد کرد. این‌ها با یک شیء موجود نماوند ارتباط برقرار می‌کنند.

توضیحات عملکرد

اینترفیس مدیریت Asterisk (AMI) یک مانیتور است و همچنین برای مدیریت سیستم تلفن Asterisk استفاده می‌شود. همه دستورها با متن واضح از طریق TCP/IP ارسال می‌شوند.

اگر اتصال برای 30 ثانیه غیر فعال باشد، یک دستور Ping خودکاراً ارسال می‌شود.

ارسال اقدامات

عملیات به عنوان رشته چند خطی به متغیر action ارسال می‌شود. در اینجا، پایان خط معمولی توسط Antcas Control ارسال می‌شود. این متفاوت از مستندات Asterisk است.

این یک مثال است:

Action: SIPpeerstatus
ActionID: 1234

پاسخ دستور اجرا شده به متغیر response ارسال می‌شود. یک لیست پرسش شده سپس به event ارسال می‌شود. این می‌تواند مانند یک رویداد ارزیابی شود.

توجه: مستندات در زیر یافت می‌شوند: https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+AMI+Actions از نسل دوم به بعد این مستندات https://wiki.asterisk.org/wiki/display/AST/Asterisk+18+AMI+Events است.

مثال

شماره را انتخاب کنید.

Action: Originate
Channel: SIP/<ZIELNUMMER@HOST>
Context: dp<PROJEKTID>
Exten: <TELEFONID>
Priority: 1
Async: True

ارزیابی رویدادها

هر رویداد با زمان چرخه برنامه کندترین برنامه همگام می‌شود. این به معنای آن است که در صورت وجود چندین پاسخ متوالی، هر پاسخ ارزیابی شده و هیچ‌کدام از دست نمی‌رود.

این یک مثال برای تشخیص یک تماس تلفنی است. در اینجا، یک لبه مثبت در بلوک عملکرد Ring ایجاد می‌شود. شناسه شرکت‌کننده پس از مقدار Exten: باید تغییر کند. این شناسه می‌تواند از تلفن یا مانیتور گرفته شود.

توجه: مستندات در زیر یافت می‌شوند: https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+AMI+Events

استفاده از سرور داخلی

سرور Asterisk که روی سرور Antcas اجرا می‌شود، محدودیت‌های مختلفی دارد. برای مثال، نمی‌توان تغییرات سیستم را انجام داد. همچنین امکان ارائه اتصال از خارج وجود ندارد.

برای ایجاد یک اتصال، در پیکربندی، گزینه داخلی را در رابط خروجی انتخاب کنید.