آموزش Python AGI در ایزابل
- تاریخ ارسال: 1402/01/12
- تعداد نمایش: 2576
- گروه:
در ایزابل بصورت پیش فرض پایتون ورژن 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)