Страница 1 из 1

трансферы астериска

Добавлено: 28 июл 2013, 22:47
rayden8
Добрый день.
есть астериск А и астериск Б, на компьютере обычный софтфон(пусть будет X-lite)
поступает вызов с абонента X на астериск А к extension 500 например. extension поболтает и переводит на другой номер Астериск Б extension 501 ( тут я думаю все равно или астериск будет или через провайдера sip на абонента Y).

при этом складывается такая ситуация, что запись разговора идет Абонента X c 500 и после перевода c абонентом 501. т.е. двойная получается(до трансфера и после трансфера)


что необходимо:

чтобы разговор после того, как extension 500 нажмет *(трансфер у меня так на софтфоне), запись останавливалась.

Хоттелось также узнать разные варианты, как можно остановить запись при трансфере. какие необходимы условия для того, чтобы это соблюдалось.



Мое решение( точнее начало):

оно немного отличается от задания, но принцип тот же получается.

использую MixMonitor для записи разговора, но в разговоре участвуют 3 Extension на Asteriske А.

[max_test]
exten => _500,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => _500,2,MixMonitor(/home/share/monitor/${fname}.wav)
exten => _500,3,Dial(SIP/500)

exten => _502,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => _502,2,MixMonitor(/home/share/monitor/${fname}.wav)
exten => _502,3,Dial(SIP/502)

и в итоге получается 2 записи. при звонке на номер 500 и трансфер на номер 502 - 1ая запись и вторая запись только трансфера.

как тут можно использовать StopMixMonitor?

Ну и конечно рассмотрю другие варианты.

Re: трансферы астериска

Добавлено: 29 июл 2013, 06:59
Vlad1983

Re: трансферы астериска

Добавлено: 29 июл 2013, 14:18
rayden8
и как он будет работать? куда его вставить?

Re: трансферы астериска

Добавлено: 29 июл 2013, 15:04
Vlad1983
будет писать в одни файл даже после трансфера
вставлять в нужное место диалплана
все подробности с разъяснениями по ссылке выше

Re: трансферы астериска

Добавлено: 29 июл 2013, 15:09
rayden8
Так нужно чтобы он после трансфера прекращал писать

Re: трансферы астериска

Добавлено: 29 июл 2013, 15:50
ded
rayden8, зачем тупить? Если по ссылке (вверху) остались какие-то непонятки - ищите платный суппорт, или другую профессию.

Re: трансферы астериска

Добавлено: 29 июл 2013, 18:10
noize
В обработку экстеншена 502 добавьте строку с проверкой на переведённый вызов(точно не помню, что за параметр, но хранится в канальной переменной, посмотреть можно через DumpChan). Если вызов переведённый - вызывайте StopMixMonitor

Re: трансферы астериска

Добавлено: 30 июл 2013, 10:55
Wapo
Пример:

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

exten => _[1-9]XX,1,NoOp(Test for transfer: ${BLINDTRANSFER})
exten => _[1-9]XX,n,GotoIf($["${BLINDTRANSFER}"!=""]?blind,${EXTEN},1)
т.е. видим перевод и уходим в другой контекст где делаем что угодно.