آموزش Python AGI در ایزابل

آموزش Python AGI در ایزابل

در ایزابل بصورت پیش فرض پایتون ورژن 2.7 نصب است که از همان ورژن می توانید برای اجرای فایل های agi استفاده کنید.در صورتی که از استریسک خام استفاده می کنید اگر روی CentOs باشید با دستور زیر می توانید اقدام به نصب کنید:

yum install python3

 

برای استفاده از agi python در ایزابل هم علاوه بر پایتون نیاز به نصب پکیچ pyst2 هست اما قبل از آن باید پکیج python-pip را نصب کنید.برای نصب از دستور زیر استفاده کنید:

yum install python-pip

و برای اطمینان از نصب شدن می توانید ورژن آن را با دستور زیر بررسی کنید:

pip –version

بعد از این مرحله پکیج pyst2 را با دستور زیر نصب کنید:

pip install pyst2

برای برنامه نویسی agi  با زبان پایتوی باید کتابخانه python.py که در انتهای آموزش قرار داده شده را در مسیر /var/lib/asterisk/agi-bin/ کپی کنید:

در این آموزش فایل agi ما sample.py نام دارد.

نکته:فایل های agiبرای اجرا شدن باید مجوز 755 داشته باشند.

در فایل sample.py ابتدا کتابخانه python agi را import کرده ایم.سپس یک نمونه از کلاس AGI ساخته و سپس با استفاده از تابع stream_file فایل hello را پخش می کنیم:

#!/usr/bin/python

import agi

agi = agi.AGI()

agi.stream_file("hello")

برای استفاده از این agi هم می توانید در dialplan بصورت زیر استفاده کنید:

exten=>3000,1,answer()

exten=>3000,2,AGI(sample.py)

 

در این dialplan با گرفتن شماره  3000 ابتدا چنل answer می شود و سپس فایل sample.py اجرا شده و پیام hello پخش خواهد شد.

نکته:برای پخش فایل هایی که در مسیر /var/lib/asterisk/sound/custom  هستند باید در تایع stream_file() بصورت زیر بنویسید:

agi.stream_file(custom/filename)