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

MixMonitor, запись всех входящих

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

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

Ответить
Alukardd
Сообщения: 6
Зарегистрирован: 20 авг 2012, 11:29

MixMonitor, запись всех входящих

Сообщение Alukardd »

Здравствуйте.

Как правильно организовать запись всех входящих вызовов, что бы не писать MixMonitor к вызову каждого абонента отдельно?

Сейчас ситуация следующая (пинать за кривость конфига разрешается ;-) ):

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

[siptel_inbound]
exten => primary,1,Dial(LOCAL/ask@company&LOCAL/sai@company,,ti)
exten => тут_наш_номер,1,Dial(LOCAL/primary@siptel_inbound&LOCAL/other@siptel_inbound,,ti)
[company]
exten => _.,1,MixMonitor(${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${EXTEN:0}.wav)
exten => _.,n,Dial(LOCAL/${EXTEN}@company_local,,Tt)
; Кажется сюда вообще без опции g после Dial дальше выполнение не идёт
exten => _.,n,StopMixMonitor()
[company_local]
exten => ask,1,Dial(SIP/ask,,Tt)
exten => 1001,1,Dial(SIP/ask,,Tt)
Так без лишнего выглядит цепочка входящего звонка.
Суть проблемы что файл с записью входящих вызовов при такой схеме весит 364байта и понятное дело пуст. Как я понимаю, проблема в том, что я открваю MixMonitor, но далее делаю Dial в другой extension в другом контексте, и по этой причине запись тут же останавливается.
Можно ли это решить, что бы не обрамлять Dial каждого конечно пользователя в MixMonitor функции? Это не сложно технически, т.к. пользователи в extension.conf добавляются скриптом автоматически, но не хочется что бы он так ужасно выглядел, если можно этопокрасивее разрулить.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: MixMonitor, запись всех входящих

Сообщение zzuz »

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

[company]
exten => _X.,1,Dial(LOCAL/${EXTEN}@company_local,,TtU(sub-record^${EXTEN}))

[sub-record]
exten => s,1,MixMonitor(${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${ARG:0}.wav) ; тут вообще непонятен срез на экстеншене.
exten => s,n,Return()
; StopMixMonitor() не нужен, он сам завершиться , когда канал поймает исключение завершения звонка.

Пинаю. Конфиг просто отвратительный.
Линия24 - Системы Массового Телефонного Обслуживания
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: MixMonitor, запись всех входящих

Сообщение virus_net »

zzuz прав :)
_. лучше не использовать, о чем астер скажет в консоли есть включить verbose и релоаднуть диалплан.
не понятно зачем ты стока раз вызываешь Dial. он должен вызываться непосредственно когда ты собрался диалить, а у тя диал в каждом контексте.
zzuz писал(а):

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

[company]
exten => _X.,1,Dial(LOCAL/${EXTEN}@company_local,30,TtU(sub-record^${EXTEN}))
Это через саб, а ещё можно через макро:

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

exten => _X.,1,Dial(LOCAL/${EXTEN}@company_local,,rtM(record))

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

[macro-record]
exten => s,1,Set(MCALLER=${CALLERID(num)})
exten => s,n,Set(MCALLED=${MACRO_EXTEN})
exten => s,n,Set(MDIRECTION=${IF($["${ARG1}" = ""]?IN:${ARG1})})
exten => s,n,NoOp(Call from ${MCALLER} to ${MCALLED} direction ${MDIRECTION})
exten => s,n,Set(FOLDER=/path/to/save/monitor/${MCALLED})
exten => s,n,Set(CALLFILENAME=${STRFTIME(${EPOCH},,%C%y-%m-%d_%H-%M-%S)}_CID${MCALLER}_CAID${MCALLED}_ID${UNIQUEID}_${MDIRECTION})
exten => s,n,MixMonitor(${FOLDER}/${CALLFILENAME}.wav)
exten => s,n,MacroExit()
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: MixMonitor, запись всех входящих

Сообщение zzuz »

Отвыкайте от макросов , они как уже давно deprecated . Тем более в Dial , так как при разных опциях макросы ведут себя неоднозначно.
Линия24 - Системы Массового Телефонного Обслуживания
pan-user
Сообщения: 128
Зарегистрирован: 24 мар 2011, 13:40

Re: MixMonitor, запись всех входящих

Сообщение pan-user »

дауж в 11 макросы выкинули, GoSub к сожалению не всегда замена...
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: MixMonitor, запись всех входящих

Сообщение Vlad1983 »

где это Sub не замена?
ЛС: @rostel
pan-user
Сообщения: 128
Зарегистрирован: 24 мар 2011, 13:40

Re: MixMonitor, запись всех входящих

Сообщение pan-user »

Hangup от туда херово как то делается...

http://asterisk-support.ru/question/403 ... migration/
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: MixMonitor, запись всех входящих

Сообщение Aven »

zzuz писал(а):Отвыкайте от макросов , они как уже давно deprecated . Тем более в Dial , так как при разных опциях макросы ведут себя неоднозначно.
С чего Вы взяли, что deprecated?
pan-user писал(а):дауж в 11 макросы выкинули, GoSub к сожалению не всегда замена...
Что за бред несете? Все на месте и прекрасно работает.
Решения телефонии на базе Asterisk || http://it-need.ru
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: MixMonitor, запись всех входящих

Сообщение virus_net »

zzuz писал(а): Тем более в Dial , так как при разных опциях макросы ведут себя неоднозначно.
но пока они ещё есть и для задачи топикстартера будет работать без каких либо приколов. я просто привел пример.
Aven писал(а):С чего Вы взяли, что deprecated?
это действительно так, читай тут.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
Alukardd
Сообщения: 6
Зарегистрирован: 20 авг 2012, 11:29

Re: MixMonitor, запись всех входящих

Сообщение Alukardd »

zzuz писал(а):

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

[company]
exten => _X.,1,Dial(LOCAL/${EXTEN}@company_local,,TtU(sub-record^${EXTEN}))

[sub-record]
exten => s,1,MixMonitor(${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${ARG:0}.wav) ; тут вообще непонятен срез на экстеншене.
exten => s,n,Return()
; StopMixMonitor() не нужен, он сам завершиться , когда канал поймает исключение завершения звонка.

Пинаю. Конфиг просто отвратительный.
Так, а что Вы изменили свои GoSub? Реально-то ни чего не поменялось, число Dial'ов такое же и осталось, MixMonitor как активировался на предпоследнем из них так и осталось...

А что касается маски _., так это потому, что у меня в первую очередь пользователи обзываются буквенно, а номера это просто синонимы к ним и в основном все операции идут именно с буквенными именами. Так что _., я использую что бы вызвать абонента можно было как по имени, так и по номеру и ни чего не сломалось в Dialplan'е при этом.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH