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

IVR игнорирование нажатия кнопок.

Добавлено: 13 апр 2015, 12:20
hamel1on
Добрый день.

вот простенькое меню
[menu]
exten => s,1,Answer()
exten => s,n,Background(greet_full)
exten => s,n,waitexten(3)
exten => s,n,goto(3)

exten => 1,1,dial(LOCAL/1@gr/n,,rd)
exten => 2,1,dial(LOCAL/2@gr/n,,rd)
exten => 3,1,dial(LOCAL/3@gr/n,,rd)


Как сделать чтобы не было никакой реакции на нажатие кнопок кроме 1 2 и 3?
в моем случае выскакивает предупреждение __ast_pbx_run: Invalid extension '0', but no rule 'i' or 'e' in context и происходит разрыв соединения.

Re: IVR игнорирование нажатия кнопок.

Добавлено: 13 апр 2015, 12:40
ded

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

[menu]
exten => s,1,Answer()
exten => s,n,Background(greet_full)
exten => s,n,waitexten(3)
exten => s,n,goto(s,2)

exten => 1,1,dial(LOCAL/1@gr/n,,rd)
exten => 2,1,dial(LOCAL/2@gr/n,,rd)
exten => 3,1,dial(LOCAL/3@gr/n,,rd)
exten => i,1,Playback(уроки_учи_лучше)
exten => e,1,Hangup()
Такие вещи описаны в книге по Будущему телефонии, почему задаёте вопросы, а не читаете?

Re: IVR игнорирование нажатия кнопок.

Добавлено: 13 апр 2015, 12:57
hamel1on
Вы плохо прочитали вопрос. Надо именно игнорировать!!. То есть к примеру во время проигрывания greet_full, при нажатии к примеру 0 не должно прерываться проигрывание greet_full.

Re: IVR игнорирование нажатия кнопок.

Добавлено: 13 апр 2015, 13:01
ded
Вы плохо прочитали Будущее телефонии, там тоже это описано:
exten => s,n,Playback(greet_full)

Если Вы хотите, чтобы при нажатии к примеру 0 не должно прерываться проигрывание greet_full, а при нажатии 1 или 2 - прерывалось - то это вряд ли.

Вариантов - ужасть!

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

[menu]
exten => s,1,Answer()
exten => s,n,Background(greet_full)
exten => s,n,waitexten(3)
exten => s,n,goto(s,2)

exten => 1,1,dial(LOCAL/1@gr/n,,rd)
exten => 2,1,dial(LOCAL/2@gr/n,,rd)
exten => 3,1,dial(LOCAL/3@gr/n,,rd)
exten => _X,1,NoOp(никакой реакции!)
exten => _X,n,goto(s,3)

Re: IVR игнорирование нажатия кнопок.

Добавлено: 13 апр 2015, 14:26
hamel1on
А вот можно. Вот так будет работать!!!

[menu]
exten => s,1,Answer()
exten => s,n,dial(LOCAL/123@menu000/n,,dm(greet_full))

exten => 1,1,dial(LOCAL/1@gr/n,,rd)
exten => 2,1,dial(LOCAL/2@gr/n,,rd)
exten => 3,1,dial(LOCAL/3@gr/n,,rd)

[menu000]
exten => 123,1,wait(1000)
exten => 123,n,goto(1)

Re: IVR игнорирование нажатия кнопок.

Добавлено: 13 апр 2015, 14:45
ded
Удалось книжку почитать?
IMHO, Вы злоупотребляете каналом LOCAL.

Re: IVR игнорирование нажатия кнопок.

Добавлено: 13 апр 2015, 15:19
hamel1on
В книжке про такое не напишут. :D
P.S. Когда надо расширенные cdr писать без LOCAL никак.