VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Записать голосовое сообщение, не пробрасывая звонок на телеф

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение Vlad1983 »

упорный какой
ну раз так надо:

Код: Выделить всё

exten => 3691,1,Set(EXT=${EXTEN})
exten => 3691,n,Set(CLI=${CALLERID(num)})
exten => 3691,n,Set(REC=${STRFTIME(${EPOCH},,%d-%m-%y__%H-%M)}_from_${CLI}_to_${EXT}_${UNIQUEID})
exten => 3691,n,Background(perevod)
exten => 3691,n,Record(/wav/${REC}.wav)
exten => 3691,n,Hangup
exten => h,1,System(/path/sendmes "${EXT}" "${CLI}" "${REC}" &)
скрипт /path/sendmes писать самому в нем и конвертация в mp3 и отправка

на досуге для общего развития
http://voip.rus.net/tiki-index.php?page ... =voicemail
ЛС: @rostel
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение ded »

У Романа проблема в другом: так как
exten => h,1,System(/usr/local/bin/lame -b 16 -silent /wav/${UNIQUEID}.wav /mp3/${UNIQUEID}.mp3 &)
exten => h,2,System(rm -r /wav/${UNIQUEID}.wav)
находится в том же контексте, где обрабатываются все внутренние (и наружные?) вызовы, то exten => h,1срабатывает на всех ваызовах, когда абонент кладёт трубку. А ему нужно чтобы срабатовало только для 3691.

Для этого надо поместить
exten => 3691,1,
exten => h,1,System
в отдельный контекст, и направлять в него через Goto(этот контекст,3691,1)
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение Vlad1983 »

можно и так отфильтровать из общей кучи
exten => h,n,ExecIf($[ "${EXT}"= "3691" ]?System(/path/sendmes "${EXT}" "${CLI}" "${REC}" &))
ЛС: @rostel
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение ded »

а в точке exten => h,n,ExecIf($[ "${EXT}" содержимое ${EXT} разве не будет равным уже h? Или это будет содержимое ${EXTEN}?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение Vlad1983 »

так понятней наверное будет
exten => 3691,1,Set(EXT=${EXTEN}) ;запоминаем EXTEN в EXT
exten => 3691,n,Set(CLI=${CALLERID(num)})
exten => 3691,n,Set(REC=${STRFTIME(${EPOCH},,%d-%m-%y__%H-%M)}_from_${CLI}_to_${EXT}_${UNIQUEID})
exten => 3691,n,Background(perevod)
exten => 3691,n,Record(/wav/${REC}.wav)
exten => 3691,n,Hangup
....
exten => h,1,NoOp(for all)
exten => h,n,NoOp(...)
exten => h,n,NoOp(send rec for 3691)
exten => h,n,ExecIf($[ "${EXT}"= "3691" ]?System(/path/sendmes "${EXT}" "${CLI}" "${REC}" &))
ЛС: @rostel
Роман1111
Сообщения: 27
Зарегистрирован: 03 сен 2012, 14:49

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение Роман1111 »

....
exten => h,1,NoOp(for all)
exten => h,n,NoOp(...)
exten => h,n,NoOp(send rec for 3691)
exten => h,n,ExecIf($[ "${EXT}"= "3691" ]?System(/path/sendmes "${EXT}" "${CLI}" "${REC}" &))

....
и
exten => h,n,NoOp(...)
это имя контекста???
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение ded »

Роман, не хотите книжку почитать?
Роман1111
Сообщения: 27
Зарегистрирован: 03 сен 2012, 14:49

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение Роман1111 »

хочу, только у меня ее нет (((
Роман1111
Сообщения: 27
Зарегистрирован: 03 сен 2012, 14:49

Re: Записать голосовое сообщение, не пробрасывая звонок на т

Сообщение Роман1111 »

спасибо, буду читать
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH