...

کار با برنامه Record برای دریافت صدای کاربر در Dialplan استریسک

استریسک دستور record

فهرست مطالب

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

مقدمه

یکی از برنامه‌های بسیار کاربردی و مهم در Dialplan استریسک، برنامه Record است که به شما امکان می‌دهد صدای کاربر را ضبط و ذخیره کنید. این قابلیت برای سناریوهای مختلفی مانند دریافت پیام صوتی، ضبط مکالمه یا ذخیره پیغام‌های صوتی کاربران بسیار مفید است. در این مقاله با کاربردهای برنامه Record، پارامترهای آن و نمونه‌های عملی آشنا می‌شویم.


معرفی برنامه Record و کاربرد آن

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


نحوه استفاده و ساختار دستور Record در Dialplan

ساختار کلی برنامه Record به صورت زیر است:

exten => 1234,1,Answer()
same => n,Record(/var/spool/asterisk/recordings/${CALLERID(num)}-message.wav,5,30)
same => n,Playback(/var/spool/asterisk/recordings/${CALLERID(num)}-message)
same => n,Hangup()

توضیح:

  • /var/spool/asterisk/recordings/${CALLERID(num)}-message.wav مسیر ذخیره فایل صوتی است که با شماره تماس گیرنده نام‌گذاری شده.

  • عدد اول (مثلاً ۵) حداقل زمان ضبط به ثانیه است.

  • عدد دوم (مثلاً ۳۰) حداکثر زمان ضبط است.


پارامترهای مهم برنامه Record

پارامتر توضیح مثال کاربردی
file مسیر و نام فایل ضبط /tmp/record-${CALLERID(num)}
silence تعداد ثانیه سکوت پس از آن ضبط متوقف شود ۳ ثانیه سکوت برای پایان ضبط
maxduration حداکثر زمان ضبط (ثانیه) ۲۰ ثانیه
options پارامترهای اضافی مانند s برای ضبط بدون سکوت اولیه s

مثال‌های کاربردی و عملی

مثال ۱: ضبط پیام کاربر تا ۲۰ ثانیه با توقف در ۳ ثانیه سکوت

asterisk
exten => 6000,1,Answer()
exten => 6000,n,Playback(beep)
exten => 6000,n,Record(/var/spool/asterisk/voipiran-recording-${CALLERID(num)}.wav,3,20,s)
exten => 6000,n,Playback(vm-thankyou)
exten => 6000,n,Hangup()

توضیح:
کاربر پس از شنیدن بوق، شروع به ضبط پیام می‌کند و اگر ۳ ثانیه سکوت کند یا ۲۰ ثانیه تمام شود، ضبط متوقف می‌شود.


مثال ۲: ضبط پیام صوتی و ارسال آن به اپراتور (از طریق صف)

asterisk
exten => 7000,1,Answer()
exten => 7000,n,Playback(beep)
exten => 7000,n,Record(/var/spool/asterisk/voice_msgs/${UNIQUEID}.wav,5,60)
exten => 7000,n,Queue(support_queue,tT)
exten => 7000,n,Hangup()

نکات مهم و هشدارها

  • مسیر ذخیره فایل‌های ضبط شده باید دسترسی نوشتن داشته باشد.

  • برای جلوگیری از اشغال بیش از حد فضای دیسک، فایل‌های ضبط شده باید دوره‌ای پاک یا آرشیو شوند.

  • در ایزابل، معمولا باید این Dialplanها را در کانتکست [voipiran] یا [from-internal-additional] تعریف کنید تا تداخلی با مسیرهای داخلی پیش‌فرض نداشته باشید.


جمع‌بندی

برنامه Record یک ابزار قدرتمند برای ضبط صدای کاربر در استریسک است که در IVRها، دریافت پیام صوتی و پروژه‌های حرفه‌ای VoIP کاربرد فراوان دارد. با تنظیم دقیق پارامترها می‌توانید کنترل کاملی روی فرایند ضبط داشته باشید و تجربه کاربری بهتری فراهم کنید.


FAQ – سوالات متداول

س: چگونه ضبط را با حداکثر زمان ۳۰ ثانیه تنظیم کنم؟
ج: پارامتر سوم در برنامه Record را ۳۰ تنظیم کنید؛ مثلاً Record(filename,3,30)

س: اگر کاربر سکوت کند ضبط متوقف می‌شود؟
ج: بله، پارامتر دوم تعیین‌کننده تعداد ثانیه سکوت قبل از توقف ضبط است.

 

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

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