Parsitem

وب سایت شخصی مهندس رامین ملک قاسمی

مقالات شبکه و کامپیوتر

بايگاني براي اکتبر, 2015

download zimbra mail server

https://www.zimbra.com/downloads/zimbra-collaboration-open-source

نوشته شده به وسيله ramin_malek در Linux ، دیدگاه‌ها برای download zimbra mail server بسته هستند

توضیحات در مورد AGI

Asterisk Gateway Interface که به AGI معروف است در حقیقت یک زبان مستقل برای API نویسی و به منظور پردازش تماس ها میباشد. AGI این امکان را به برنامه نویس ها میدهد تا برنامه های ساده برای مدیریت و route کردن تماس ها در سرورهای استریسک به ساده ترین شیوه ممکن بنویسند.

در این پست معرفی فنی روی AGI توضیح چگونگی کار کردن آن، چگونگی استفاده از آن، جایی که میتوانیم داکیومنت API نویسی را پیدا کنیم و حتی یکسری نمونه هایی از کدهای اولیه که چگونگی استفاده از AGI را نمایش میدهد فراهم آورده است. مخاطبان خاص آن در حقیقت برنامه نویسان، علاقه مندان سیستم های تلفنی یا مدیراین IT که میخواهند درباره اضافه کردن Functionality به سیستم Asterisk PBX شان یاد بگیرند هستند. این پست یک مرجع کاملی از برنامه نویسی AGI نیست و تنها به شما آموزش میدهد که AGI چه چیزهایی را فراهم میآورد و چگونه آن را در Level بالا میتوانیم استفاده کنیم.

چرا استفاده از AGI ؟
سوالی که در میان افراد مربوطه رایج است در حقیقت این است که چه نیازی است که از AGI استفاده کنم؟
این یک سوال عالی میباشد و ارزش بحث کردن دارد.
استریسک چندین راه برای اجرا کردن منطقی تماس ها فراهم آورده : dial plan , AMI , AGI

Dialplan :
دایل پلن در حقیقت زبان اسکریپتینگ Native (اصلی) استریسک میباشد که توسط استریسک تجزیه میشود و برای استفاده به منظور اجرا کردن تماس در memory ذخیره میشود. dialplan سریع، موثر و آسان برای یادگیری میباشد.البته باید به جنبه های منفی آن نیز اشاره کنیم. از آنجایی که این برنامه بسیار پایه و مقدماتی و در اصطلاح ساده میباشد. نمی تواند ساختارهای زبان عملیاتی استاندارد را پشتیبانی کند. (مانند loops)
این بدان معنیست که در اغلب کدها باید از عبارت های GoTo و ساختارهای ساده استفاده کنیم که این امر نوشتن نرم افزارهای بزرگ را خسته کننده و سخت میسازد.

AMI :
AMI یا Asterisk Manager Interface یک زبان مستقل و پیچیده و در سطح بالا برای API نویسی و به منظور کنترل asterisk از طریق سوکت های TCP میباشد. AMI در حقیقت یک راهکار عالی برای نرم افزاری میباشد که باید روی سرورهای ریموت که قرار است در بستر شبکه با استریسک تعامل داشته باشند اجرا شود. بسیاری از برنامه های Click To Call با استفاده از AMI نوشته میشوند. همانطور که همه برنامه های مدیریتی استریسک مانند HUD , FOP و Asterisk Assistant با استفاده از آن نوشته شده اند. AMI ابزاری بی نظیر میباشد زیرا به نرم افزارهای ریموت اجازه میدهد تا سیستم استریسک را به صورت کامل کنترل کنند :
آپدیت های status را دریافت کنند، call ایجاد کنند، call دریافت کنند، call ها را route کنند و غیره…
جنبه منفی استفاده از AMI این است که در حقیقت هیچ داکیومنت خوبی برای آن موجود نیست و در میان کاربران به عنوان سیستم باگ دار و پرخطایی گزارش شده و در حقیقت فشار قابل توجهی را روی PBX ایجاد میکند.

AGI :
AGI در حقیقت وسط این دو قرار میگیرد. و بعضی جاها با توجه به قابلیت و کارایی بین dialplan و AMI قرار میگیرد. AGI نمیتواند به صورت کامل از PBX مستقل باشد (در حالی که AMI کاملا مستقل است) و در حقیقت نیاز دارد که در بعضی جاها dialplan نیز اجرا گردد (برخلاف AMI)، و به یک زبان برنامه نویسی خاص محدود نیست (همانند AMI) و میتواند هم به صورت Local و هم از طریق بستر شبکه مورد استفاده قرار گیرد (همانند AMI).
AGI تنها در حقیقت برای تماس های ورودی مفید میباشد و برای توسعه سیستم تلفنی روی تماس های خروجی گزینه خوبی نمیباشد. AGI در مقایسه با AMI از overhead بسیار کمی استفاده میکند و در حقیقت یک راهکار خوب برای برنامه نویسان و توسعه دهندگانی میباشد که میخواهند یک ماژول یا پلاگین برای استریسک بنویسند که روی هر PBX استفاده شود و سریع و ساده بدون فشار روی سرور اجرا گردد. همچنین AGI یک راه کار بی نظیر برای برنامه نویسان و توسعه دهندگانی که میخواهند برنامه های تلفنی را بدون یاد گرفتن dialplan استریسک ایجاد کنند.
AGI به شما اجازه میدهد تا Aplication ها را با هر زبان برنامه نویسی که شما با ان راحت هستید بسازید که این مورد شدیدا زمان توسعه را کاهش میدهد و نیاز نیست که شما زبان خاصی را یاد بگیرید.

4 نوع از AGI* :
AGI در حقیقت به 4 شیوه میتواند استفاده شود که هر کدام با دیگری متفاوت است :
standard AGI*, dead AGI*, fast AGI*, enhanced AGI*

standard AGI* :
standard AGI* ساده ترین آنهاست و اغلب از این فورم AGI* استفاده میکنند. برنامه های standard agi روی pbx لوکا (local) اجرا میشوند و با استریسک از طریق socket descriptors (به نام های STDIN و STDOUT)
ارتباط برقرار میکنند. standard agi امکان استفاده از تمامی دستورات agi را فراهم میآورد.

dead AGI* :
dead AGI فرم ساده شده AGI میباشد که بعد از اینکه تماس hangup میشود در ادامه اجرا میگردد. در مواقعی که نیاز داریم که برنامه ای بعد از اینکه تماسی قطع شد اجرا شود این agi بسیار مفید میباشد از آنجایی که dead agi به برنامه نویسان اجازه میدهد تا روند را بعد از تماس کنترل کنند تمامی دستورات AGI نمیتواند مورد استفاده قرار گیرد. البته dead agi از استریسک 1.6 به بعد منسوخ شد و دیگر نباید مورد استفاده قرار گیرد.

fast AGI :
fast agi در حقیقت agi از طریق پروتکل TCP میباشد در حقیقت شما در سیستم خودتان میتوانید با استفاده از socket tcp و شبکه agi موجود روی یک سیستم دیگر را اجرا کنید. fast agi به شما اجازه میدهد تا تمام قابلیت های agi به غیر از eagi را داشته باشید و به عنوان راهکاری میباشد برای برنامه نویسانی که نیاز دارند برنامه های agi را با منابع سریع اجرا کنند. با اجرا کردن بخش عمده ای از منطق AGI روی سرور دیگر در حقیقت سرور asterisk خودش تماس ها را پردازش میکند و نگران کنترل محاسبات پیچیده برای سرویس های دیگر نیست. این یک پروتکل توصیه شده برای نرم افزارهای بزرگ میباشد.

EAGI :
آخرین مورد EAGI میباشد.ارتباطات eagi از طریق file descriptors روی ماشین local با استفاده از STDIN و STDOUT میباشد. eagi برای برنامه نویسان راهی فراهم میکند که مستقیما به audio channel برای تماس هایی که پردازش شده اند دسترسی داشته باشند. البته این agi به ندرت استفاده میشود اما راهی برای تجزیه و تحلیل داده های صوتی خام در اختیار برنامه نویسان قرار میدهد.

 

 

نویسنده خانم معصومه وحید

نوشته شده به وسيله ramin_malek در Voip ، دیدگاه‌ها برای توضیحات در مورد AGI بسته هستند

csf firewall on linux

http://www.rmalekghasemi.ir/file/csffirewall.pdf

نوشته شده به وسيله ramin_malek در Linux ، دیدگاه‌ها برای csf firewall on linux بسته هستند

How update php on directadmin

http://duntuk.com/update-directadmin-server-custombuild-20

http://help.directadmin.com/item.php?id=345

How solve apache error afte update

 

https://forum.directadmin.com/showthread.php?t=48406

نوشته شده به وسيله ramin_malek در هاستینگ ، دیدگاه‌ها برای How update php on directadmin بسته هستند

Bgp in mikrotik

http://www.rmalekghasemi.ir/file/bgp.pdf

نوشته شده به وسيله ramin_malek در BGP ، دیدگاه‌ها برای Bgp in mikrotik بسته هستند

Any connetion For android

http://www.rmalekghasemi.ir/file/AnyConnect.apk

نوشته شده به وسيله ramin_malek در Cisco ، دیدگاه‌ها برای Any connetion For android بسته هستند

Disable update windows 10

http://www.rmalekghasemi.ir/file/disableupdate.pdf

نوشته شده به وسيله ramin_malek در ویندوز ، دیدگاه‌ها برای Disable update windows 10 بسته هستند

PingPlotter

www.rmalekghasemi.ir/file/pingplotter.rar

نوشته شده به وسيله ramin_malek در شبکه ، دیدگاه‌ها برای PingPlotter بسته هستند

How Change Timezone in Linux

Change Date and Time in Linux

Now your Linux system should have the timezone that you want. If the date or time is not correct, you can set date and time with date command.

  • MM: two digit month number
  • DD: two digit date
  • hh: two digit hour (24 hour system)
  • mm: two digit minute
  • YYYY: four digit of year
نوشته شده به وسيله ramin_malek در Linux ، دیدگاه‌ها برای How Change Timezone in Linux بسته هستند

How transfer Backup in direct admin

http://help.directadmin.com/item.php?id=57

نوشته شده به وسيله ramin_malek در هاستینگ ، دیدگاه‌ها برای How transfer Backup in direct admin بسته هستند

 Parsitem