در این مقاله نگاهی بر روی asterisk call files خواهیم داشت، روشی که با ایجاد کردن call file (نحوه ایجاد call file) در دایرکتوری مشخص انجام میشود و باعث میشود تا استریسک با ایجاد شدن این فایل به صورت خودکار تماس گرفته و رول هایی که در آن فایل تعریف شده اجرا شوند.
نحوه ساخت call file:
channel:
channel در واقع مشخص کننده کانالی هست که میخواهیم تماس را بر روی آن ارسال کنیم(نحوه تعریف آن به صورت زیر میباشد)
channel: tech/dest
که در آن tech نشان دهنده تکنولوژیای میباشد که از آن میخواهیم استفاده کنیم مانند (…,SIP,DAHDI,IAX2) و dest همان شماره مقصد میباشد
callerid:
تعیین کننده callerid در تماس که فرمت آن به صورت زیر میباشد
CallerID: “name” <1234>
application:
در این قسمت نام application که بعد از برقراری تماس اجرا خواهد شد مانند زیر:
application: Playback
data:
data در واقع تعیین کننده پارامتر برای application میباشد.
maxretries:
تعداد تلاش برای تماس را نشان میدهد.
context:
نشان میدهد به محض برقراری تماس به کدام context فرستاده شود.
extension:
نشان دهنده extension به context مربوطه میباشد.
priority:
نشان دهنده priority برای extension تعریف شده میباشد.
نکته: توجه کنید به محض برقراری تماس شما میتوانید یا از application و data برای تماس خود استقاده کنید یا از ترکیب context,extension,priority .
archive:
یکی از دو مقدار yes یا no را میگیرد و نشان میدهد که بعد از تماس فایل فایل آرشیو شود یا نه.
نحوه کارکرد call files
به صورت پیش فرض استریسک شاخه var/spool/asterisk/outgoing/ را مانیتور میکند و به محض دیدن فایل جدید، شروع به اجرای آن میکند البته شما میتوانید با تغییر دادن modification time در فایل به آینده، زمان انجام این کار را به زمان مشخص شده تغییر دهید.
مثال:
ابتدا یک فایل با نام test.call یا هر چیز دلخواه دیگر درست کنید و محتویات زیر را درون آن قرار دهید
channel: sip/100 Callerid: " Call Files "<1234> application: Playback data: hello-world
سپس با دستور زیر آن را به مسیر مشخص copy کنید.
scp /root/test.call /var/spool/asterisk/outgoing
نکته: همیشه فایل را در یک مسیر دیگر ساخته و سپس آن را به مسیر اصلی کپی کنید.
مطمئن شوید asterisk دسترسی خواندن به آن فایل را داشته باشد.
ساخت فایل و اجرای آن در آینده:
برای این کار کافیست تا mtime فایل را با استفاده از دستور touc تغییر دهید و سپس آن را به دایرکتوری مورد نظر با دستور mv انتقال دهید.
touch -d 20130108 test.call