ПриветЕсть астериск 13.14.0 с макросом для записи в мп3 голоса в extensions.conf
[general]
static=yes
writeprotect=no
autofallthrough=no[globals]
WAV=/srv/asterisk/wav
MP3=/srv/asterisk/mp3[macro-recording]
exten => s,1,NoOp
same => n,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${ARG1}-${ARG3})
same => n,Set(monopt=nice -n 19 /usr/bin/lame -b 32 --silent "${WAV}/${fname}.wav" "${MP3}/${fname}.mp3" && unlink "${WAV}/${fname}.wav" && chmod o+r "${MP3}/${fname}.mp3")
same => n,Set(CDR(filename)=${fname}.mp3)
same => n,Set(CDR(userfield)=${ARG2})
same => n,Set(CDR(realdst)=${ARG3})
same => n,MixMonitor(${WAV}/${fname}.wav)
same => n,MixMonitor(${WAV}/${fname}.wav,b,${monopt})и есть некие правила с этим макросом
[incoming]
exten => 1111,1,NoOp
same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
same => n,Dial(SIP/1122)exten => 2222,1,NoOp
same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
same => n,Dial(SIP/1133)
Звонки проходят, голос пишется, все ок.
Но стоит убрать макрос из правилаexten => 2222,1,NoOp
;same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
same => n,Dial(SIP/1133)То происходит следущее - при дозвоне на 2222 идет звонок на 1133, абонент берет трубку и..тишина, его голоса не слышно. Возвращаем макрос и голос абонента возвращается.
Есть идеи как этот макрос может глобально аффектить сессии?
> [macro-recording]
> exten => s,1,NoOp
> exten => 2222,1,NoOp
> ;same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
> same => n,Dial(SIP/1133)
> То происходит следущее - при дозвоне на 2222 идет звонок на 1133,
> абонент берет трубку и..тишина, его голоса не слышно. Возвращаем макрос и
> голос абонента возвращается.
> Есть идеи как этот макрос может глобально аффектить сессии?Доброго дня. Предположу с потолка, погуглив, что при отключении макроса, вызов не попадает в екстеншен с именем "s" (Start)...?
>[оверквотинг удален]
>> exten => s,1,NoOp
>> exten => 2222,1,NoOp
>> ;same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
>> same => n,Dial(SIP/1133)
>> То происходит следущее - при дозвоне на 2222 идет звонок на 1133,
>> абонент берет трубку и..тишина, его голоса не слышно. Возвращаем макрос и
>> голос абонента возвращается.
>> Есть идеи как этот макрос может глобально аффектить сессии?
> Доброго дня. Предположу с потолка, погуглив, что при отключении макроса, вызов не
> попадает в екстеншен с именем "s" (Start)...?Не совсем понял, почему вызов должен попадать в s, если явно указано правило для 2222 ?
Или может быть следует указывать явно Return() в конце макроса?
> Не совсем понял, почему вызов должен попадать в s, если явно указано
> правило для 2222 ?
> Или может быть следует указывать явно Return() в конце макроса?Если мой вариант сразу кажется чушью, извини, скорее всего так и есть. У меня по астериску идёт начальная начитка.
Попробуй так:exten => 2222,1,NoOp
;same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
same => Answer()
same => n,Dial(SIP/1133)
exten => 2222,1,NoOp
same => n,Answer()
same => n,Dial(SIP/1133)
>[оверквотинг удален]
> same => n,Dial(SIP/1133)
> Звонки проходят, голос пишется, все ок.
> Но стоит убрать макрос из правила
> exten => 2222,1,NoOp
> ;same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
> same => n,Dial(SIP/1133)
> То происходит следущее - при дозвоне на 2222 идет звонок на 1133,
> абонент берет трубку и..тишина, его голоса не слышно. Возвращаем макрос и
> голос абонента возвращается.
> Есть идеи как этот макрос может глобально аффектить сессии?Смотрите синтаксис и порядок правил. Подобные проблемы воникают когда где-то пропущена строчка которая начинается с пункта "1" (exten => XXX,1,Application).
Для порядка попробуйте сделать для всего диалплана без всяких "same" и "n" в обработке вызовов:
exten => XXX,1,Application1
exten => XXX,2,Application2
и т.д.Ну и не мешает запустить консоль астериска с ключами -vvvr и посмотреть, что собственно происходит в момент подобного вызова, так-же не мешает. Если не поймете - выкладывайте вывод обработки вызова и полный диалплан для номера куда звонят и номера куда непосредственно уходит звонок.
>[оверквотинг удален]
> same => n,Dial(SIP/1133)
> Звонки проходят, голос пишется, все ок.
> Но стоит убрать макрос из правила
> exten => 2222,1,NoOp
> ;same => n,Macro(recording,${CALLERID(num)},${CALLERID(name)},${EXTEN})
> same => n,Dial(SIP/1133)
> То происходит следущее - при дозвоне на 2222 идет звонок на 1133,
> абонент берет трубку и..тишина, его голоса не слышно. Возвращаем макрос и
> голос абонента возвращается.
> Есть идеи как этот макрос может глобально аффектить сессии?use ael, Luke