- База знаний
- Пример файла конфигурации XML для Cisco 8851 phone
- Пример файла конфигурации XML для Cisco 7970 phone
- Пример файла конфигурации XML для Cisco 9971
- Отладка VoIP звонка с Wireshark
- Книги
- Использование поля Diversion в SIP пакете
- Астериск и Н.323
- ISDN release cause codes
- Пример файла конфигурации голосового шлюза Cisco
- Пример конфигурации интерфейса E1 PRI в голосовом шлюзе Cisco
- Аналоговое зло
- Интернациональные телефонные коды стран
- Практикум по интеграции Астериск в комплексе с OpenBSC/Osmocom
- Факс по IP
Команда Record()
Назначение:
Запись разговора пользователя в файлОписание
До 01-11-2004Record(filename:format[|silence][|maxduration][|option])
После 01-11-2004 (cvs)
Record(filename.format[|silence][|maxduration][|option])
Производит запись разговора на текущем канале в звуковой файл с заданным именем. Параметр format определяет в каком звуковом формате сохранить запись и расширение файла для записи. Если Вы не определили полный путь к файлу, он будет сохранен в директории: /var/lib/asterisk/sounds. Если уже существует файл с таким же именем и расширением, то он будет перезаписан.
Если в имени файла содержится %d, то эти символы будут заменены порядковым номером, который будет увеличиваться на один каждый раз, когда будет производиться запись в этот файл, а полученное в результате имя файла будет помещено в переменную канала: ${RECORDED_FILE}.
Поддерживаемые форматы звуковых файлов: g723, g729, gsm, h263, ulaw, alaw, vox, wav, WAV (WAV - GSM формат wav файлов).
Необязательные параметры:
- silence: количество секунд тишины, после которых запись останавливается. Если пустое значение или 0, детектирование тишины выключено.
- maxduration: Максимальная продолжительность записи в секундах. Если пустое значение или 0, нет ограничений на время записи.
- option: может иметь значение 'skip', это заставляет команду немедленно закончить работу, если канал находиться в неотвеченном состоянии, или может иметь значение 'noanswer', для записи разговора, даже если линия не в состоянии установленного соединения.
Команда Record, сгенерирует beep на канале, перед началом записи. Запись закончиться, если достигнуто время максимальной продолжительности записи или, если нажата кнопка '#' или соединение на канале завершено.
Убедитесь, что аудиопоток проходит через сервер Asterisk, т.е. Вам необходимо установить параметр canreinvite=no в файле конфигурации sip.conf, если это канал SIP, или использовать параметры t или T в Вашей команде Dial, или использовать трансляцию между звуковыми кодеками (абоненты используют различные кодеки для связи).
Коды возврата:
Возвращает -1, когда абонент повесил трубку.Пример
; можно использовать для записи приветствийexten => 205,1,Wait(2)
exten => 205,2,Record(/tmp/asterisk-recording:gsm)
exten => 205,3,Wait(2)
exten => 205,4,Playback(/tmp/asterisk-recording)
exten => 205,5,Wait(2)
exten => 205,6,Hangup
Еще один пример
Данный пример позволяет записывать необходимые Вам сообщения, и создавать несколько записей без необходимости переименования файлов после каждой записи. В данном примере используется синтезатор Festival, который должен быть установлен у Вас в системе. Если не установлен, отредактируйте соответствующие части примера. [recordings]
exten => 500,1,Festival('Please record your message')
exten => 500,2,Record(mymessage:gsm)
exten => 500,3,Festival('You said')
exten => 500,4,Playback(mymessage)
exten => 500,5,Festival('Press 1 to continue or 2 to change your message')
exten => 500,6,ResponseTimeout(3)
exten => t,1,Festival('Sorry, I did not get that')
exten => t,2,Goto(500,5)
exten => i,1,Festival('Sorry, that is an invalid choice')
exten => i,2,Goto(500,5)
exten => 1,1,System(/bin/mv /var/lib/asterisk/sounds/mymessage.gsm /var/lib/asterisk/sounds/local/${TIMESTAMP}.gsm)
exten => 1,2,Festival('Thank you, your recording has been saved.')
exten => 1,3,Festival('Press 3 to record another file or 4 to hang up')
exten => 2,1,Goto(500,1)
exten => 500,1,Festival('Please record your message')
exten => 500,2,Record(mymessage:gsm)
exten => 500,3,Festival('You said')
exten => 500,4,Playback(mymessage)
exten => 500,5,Festival('Press 1 to continue or 2 to change your message')
exten => 500,6,ResponseTimeout(3)
exten => t,1,Festival('Sorry, I did not get that')
exten => t,2,Goto(500,5)
exten => i,1,Festival('Sorry, that is an invalid choice')
exten => i,2,Goto(500,5)
exten => 1,1,System(/bin/mv /var/lib/asterisk/sounds/mymessage.gsm /var/lib/asterisk/sounds/local/${TIMESTAMP}.gsm)
exten => 1,2,Festival('Thank you, your recording has been saved.')
exten => 1,3,Festival('Press 3 to record another file or 4 to hang up')
exten => 2,1,Goto(500,1)
Ссылки по теме:
- Команда Monitor: Запись телефонного разговора
- Команда ZapBarge: Listen in on live ZAP channel calls
- Команда Playback
- Звуковые файлы Asterisk
Asterisk | Файлы конфигурации | План набора: extensions.conf | Список команд | Звуковые файлы