Добрый день.
есть астериск А и астериск Б, на компьютере обычный софтфон(пусть будет 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?
Ну и конечно рассмотрю другие варианты.