...

آموزش ضبط تماس در استریسک با MixMonitor و Monitor

استریسک ضبط مکالمه mixmonitor

فهرست مطالب

زمان مطالعه: 2 دقیقه

در بسیاری از پروژه‌های ویپ (VoIP)، نیاز به ضبط تماس‌ها برای اهداف آموزشی، نظارتی، یا قانونی وجود دارد. استریسک (Asterisk) به‌صورت پیش‌فرض دو برنامه کاربردی (Application) قدرتمند برای این منظور فراهم کرده است: MixMonitor و Monitor. در این مقاله، نحوه استفاده از این دو برنامه را به‌طور کامل و همراه با مثال‌های کاربردی در بستر ایزابل (Issabel) بررسی خواهیم کرد.

MixMonitor چیست؟

MixMonitor برنامه‌ای در استریسک است که برای ضبط هم‌زمان صدای طرفین تماس استفاده می‌شود و فایل خروجی آن به‌صورت ترکیب‌شده (میکس‌شده) ذخیره می‌گردد. این برنامه در اغلب سناریوهای عملیاتی ترجیح داده می‌شود، زیرا صدای تماس در یک فایل واحد ذخیره می‌شود که بررسی آن را ساده‌تر می‌کند.

ساختار استفاده از MixMonitor

[voipiran
exten => 1000,1,Answer(
exten => 1000,n,Set(FILENAME=/var/spool/asterisk/monitor/${UNIQUEID}.wav
exten => 1000,n,MixMonitor(${FILENAME},a
exten => 1000,n,Playback(welcome
exten => 1000,n,Dial(SIP/1001,20
exten => 1000,n,Hangup()

در این مثال:

  • از متغیر ${UNIQUEID} برای تولید نام منحصربه‌فرد فایل استفاده شده.

  • گزینه a باعث می‌شود فایل به‌صورت خودکار بعد از پایان تماس بسته شود.

توضیح گزینه‌های مهم MixMonitor

  • b : فقط صدای تماس‌گیرنده (caller) را ضبط می‌کند.

  • B : فقط صدای پاسخ‌دهنده (callee) را ضبط می‌کند.

  • a : فایل را بعد از پایان تماس ببندد.

  • v : حجم صدا را افزایش می‌دهد.

  • W : ضبط را فقط زمانی شروع می‌کند که تماس برقرار شود.

Monitor چیست؟

برنامه‌ی قدیمی‌تری است که صدای دو طرف تماس را به‌صورت جداگانه در دو فایل ضبط می‌کند و یک فایل سوم برای ترکیب این دو تولید می‌شود. معمولاً در پروژه‌های جدید پیشنهاد نمی‌شود، مگر برای اهداف خاص.

ساختار استفاده از Monitor

[voipiran]
exten => 2000,1,Answer()
exten => 2000,n,Monitor(wav,mycall,mb)
exten => 2000,n,Dial(SIP/2001,20)
exten => 2000,n,Hangup()

در این مثال:

  • فایل‌های ضبط‌شده به صورت mycall-in.wav, mycall-out.wav, و mycall.wav ذخیره می‌شوند.

  • گزینه m برای میکس صدا استفاده می‌شود.

  • گزینه b باعث می‌شود ضبط پس از تماس آغاز شود.

مثال عملی – ضبط تماس داخلی به داخلی در ایزابل

اگر بخواهید تمامی تماس‌های داخلی ۳۰۰۰ را ضبط کنید، کافی است در فایل extensions_custom.conf چنین چیزی بنویسید:

[voipiran]
exten => 3000,1,Answer()
exten => 3000,n,Set(FILENAME=/var/spool/asterisk/monitor/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${CALLERID(num)}-${EXTEN}.wav)
exten => 3000,n,MixMonitor(${FILENAME},a)
exten => 3000,n,Dial(SIP/3000,30,tT)
exten => 3000,n,Hangup()

یادتان باشد برای اینکه داخلی‌ها به این context دسترسی داشته باشند، باید در فایل extensions_custom.conf این خط را نیز اضافه کنید:

[from-internal-additional]
include => voipiran

لینک‌های داخلی پیشنهادی برای مطالعه بیشتر

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها