Comments 9
Зачем вы используете Background/Playback/Waitexten?
Есть же отличный Read и конструкцию if else. Гораздо гибче. Попробуйте.
Есть же отличный Read и конструкцию if else. Гораздо гибче. Попробуйте.
0
Playback тут для проигрывания. Read же не умеет в линию музыку выдавать, верно, а Playback умеет. А про waitexten, тут вы правы. Но тут главное же показать для начала более простые вариации, для тех кто не знает или плохо знает.
За подсказку спасибо.
За подсказку спасибо.
-1
почитайте документацию прежде чем отвечать на вопрос…
0
«Ближе к телу». Read никогда не пользовался, в документацию по неё смотрел только мельком. Waitexten и playback используются по назначению. Что не так?
0
Playback тут для проигрывания. Read же не умеет в линию музыку выдавать, верно, а Playback умеет
Не так- что Вы написали о функции не зная возможностей функции. Не более. Я не критиковал использование функций вами, я критиковал то, что вы пред ответом не удосужились документацию прочитать… Да что там документацию- 2 сточки…
0
я с Read() пока не работал, по вашей наводке пробежался мельком. Но это не самое главное. мне больше интересно узнать. как можно перехватить в диалплане событие поднятия трубки. т.е. сделали dial(), абонент ответил и вот тут мне надо это событие определять.
0
Вам надо какие то действия в диалплане выполнить?
Я это делаю через флаг U для Dial()
К примеру вот хак когда для миксмонитора не работает опция b:
app.Dial(SIP/DEVICE,TIMEOUT,TtU(mixmonitor^FILEPATH/CALLFILENAME^monopt))
У меня есть контекст где обрабатывается mixmonior только после поднятия трубки.
Более подробно:
core show application Dial
Я это делаю через флаг U для Dial()
К примеру вот хак когда для миксмонитора не работает опция b:
app.Dial(SIP/DEVICE,TIMEOUT,TtU(mixmonitor^FILEPATH/CALLFILENAME^monopt))
У меня есть контекст где обрабатывается mixmonior только после поднятия трубки.
Более подробно:
core show application Dial
0
я запись включаю так:
надо пронаблюдать про опцию b… но мне там не запись нужно, я хочу при поднятии трубки (с точки зрения ami
это будет событие bridge) сам сгенерить некоторое событие, в том числе на http отправить. проблема именно с выдёргиванием этого события. Флаг U описан как, execute via gosub the routine for the called channel before connecting. Т.е. перед соединением. мне нужно после (after connecting).
function record(v1)
local monopt
local fname = string.format("%s-%s%s%s", v1, date.day, date.month, date.year)
WAV = "/var/log/asterisk/wav/"
MP3 = string.format("/records/%s/%s/%s/", date.year, date.month, date.day)
monopt = string.format("/bin/nice -n 19 /usr/bin/lame -b 16 --silent %s%s.wav %s%s.mp3 && rm -f %s%s.wav",WAV,fname,MP3,fname,WAV,fname)
app.mixmonitor(string.format("%s%s.wav,b v(3) V(3) W(3),%s",WAV,fname,monopt))
channel["CDR(recordingfile)"]:set(fname..".mp3")
end
надо пронаблюдать про опцию b… но мне там не запись нужно, я хочу при поднятии трубки (с точки зрения ami
это будет событие bridge) сам сгенерить некоторое событие, в том числе на http отправить. проблема именно с выдёргиванием этого события. Флаг U описан как, execute via gosub the routine for the called channel before connecting. Т.е. перед соединением. мне нужно после (after connecting).
0
Sign up to leave a comment.
Asterisk+Lua — IVR и некоторые другие моменты