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

Elastix 2.4.0, проблема с IVR

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Ответить
2life
Сообщения: 8
Зарегистрирован: 31 мар 2014, 22:29
Откуда: Nizhniy Novgorod

Elastix 2.4.0, проблема с IVR

Сообщение 2life »

Настроил IVR, всё работает, кроме сообщения об ошибке набора. Нет ни повтора, не сообщения об ошибке((

Изображение

В самом конфиге, как то всё грустно:

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

[ivr-3]
include => ivr-3-custom
include => from-did-direct-ivr
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => h,1,Hangup
exten => s,1,Set(MSG=custom/Welcome)
exten => s,n,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=3)
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,ExecIf($["${MSG}" != ""]?Background(${MSG}))
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(ext-group,10,1)
exten => 2,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(ext-group,20,1)
exten => 9,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 9,n,Set(__NODEST=)
exten => 9,n,Goto(from-did-direct,501,1)
exten => i,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => i,n,Set(MSG=custom/InvalidDigit)
exten => i,n,GotoIf($[${LOOPCOUNT} <= 1]?s,begin)
exten => i,n,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => i,n,Set(__NODEST=)
exten => i,n,Goto(ext-group,10,1)
exten => t,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => t,n,Set(__NODEST=)
exten => t,n,Goto(ext-group,10,1)

; end of [ivr-3]
Много раз настраивал IVR через FreePBX, там всё ок.
ippbx-nn.ru
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix 2.4.0, проблема с IVR

Сообщение ded »

Вы лучше не в конфиг смотрите, а в консоль, когда нажимаете неверные цифры, ожидая услышать Invalid Digit
2life
Сообщения: 8
Зарегистрирован: 31 мар 2014, 22:29
Откуда: Nizhniy Novgorod

Re: Elastix 2.4.0, проблема с IVR

Сообщение 2life »

Сразу сваливает в Invalid Destination, безо всякого объявления.

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

-- <SIP/phonecom_peer0-000001c2> Playing 'custom/Welcome.slin' (language 'ru')
    -- Invalid extension '85' in context 'ivr-3' on SIP/phonecom_peer0-000001c2
  == CDR updated on SIP/phonecom_peer0-000001c2
    -- Executing [i@ivr-3:1] NoOp("SIP/phonecom_peer0-000001c2", "Deleting:  ") in new stack
    -- Executing [i@ivr-3:2] Set("SIP/phonecom_peer0-000001c2", "__NODEST=") in new stack
    -- Executing [i@ivr-3:3] Goto("SIP/phonecom_peer0-000001c2", "ext-group,10,1") in new stack
    -- Goto (ext-group,10,1)
Пробовал "Повтор перед i-dest" тоже отключить, результата нет.

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

[ivr-3]
include => ivr-3-custom
include => from-did-direct-ivr
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => h,1,Hangup
exten => s,1,Set(MSG=custom/Welcome)
exten => s,n,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=3)
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,ExecIf($["${MSG}" != ""]?Background(${MSG}))
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(ext-group,10,1)
exten => 2,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(ext-group,20,1)
exten => 9,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 9,n,Set(__NODEST=)
exten => 9,n,Goto(from-did-direct,501,1)
exten => i,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => i,n,Set(__NODEST=)
exten => i,n,Goto(ext-group,10,1)
exten => t,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => t,n,Set(__NODEST=)
exten => t,n,Goto(ext-group,10,1)

; end of [ivr-3]
ippbx-nn.ru
2life
Сообщения: 8
Зарегистрирован: 31 мар 2014, 22:29
Откуда: Nizhniy Novgorod

Re: Elastix 2.4.0, проблема с IVR

Сообщение 2life »

Предполагаю не хватает этого в /etc/asterisk/extensions_custom.conf, подправьте, пожалуйста:

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

exten => i,1,Set(LOOPCOUNT=$[${LOOPCOUNT}+1])
exten => i,n,GotoIf($[${LOOPCOUNT} > 1]?final)
exten => i,n,Set(MSG=custom/InvalidDigit)
exten => i,n,Goto(s,start)
exten => i,n(final),Playback(custom/InvalidDigit)
exten => i,n,Goto(ext-group,10,1)

exten => t,1,Set(TIMEOUT=$[${TIMEOUT}+1])
exten => t,n,GotoIf($[${TIMEOUT} > 3]?final)
exten => t,n,Set(MSG=no-valid-responce-pls-try-again)
exten => t,n,Goto(s,start)
exten => t,n(final),Playback(no-valid-responce-transfering)
exten => t,n,Goto(ext-group,10,1))
ippbx-nn.ru
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Elastix 2.4.0, проблема с IVR

Сообщение ded »

Нужно разобраться почему не отрабатывает стандартно, а не _custom.conf сразу сооружать.
Видно, что по таймауту
exten => t,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => t,n,Set(__NODEST=)
exten => t,n,Goto(ext-group,10,1)
и при неправильном наборе
exten => i,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => i,n,Set(__NODEST=)
exten => i,n,Goto(ext-group,10,1)
уходит в ext-group, на экстен 10, 1-й шаг.

Вот и посмотрите
dialplan show ext-group
что там есть на тему
exten => 10,1
2life
Сообщения: 8
Зарегистрирован: 31 мар 2014, 22:29
Откуда: Nizhniy Novgorod

Re: Elastix 2.4.0, проблема с IVR

Сообщение 2life »

Ну по таймауту, и по неправильному набору звонок идёт куда нужно.
Просто проигрыш сообщения, о неправильном наборе отсутствует ...

Вот, вывод части диалплана, где увидел 10.

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

[root@ippbx ~]# asterisk -rx 'dialplan show ext-group'
Privilege escalation protection disabled!
See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details.
[ Context 'ext-group' created by 'pbx_config' ]
  '10' =>           1. Macro(user-callerid,)                      [pbx_config]
                    2. GotoIf($["foo${BLKVM_OVERRIDE}" = "foo"]?skipdb) [pbx_config]
                    3. GotoIf($["${DB(${BLKVM_OVERRIDE})}" = "TRUE"]?skipov) [pbx_config]

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

                    17. Set(__NODEST=)                            [pbx_config]
                    18. Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})}) [pbx_config]
                    19. Goto(ext-group,10,1)                      [pbx_config]
     [nodest]       20. Noop(SKIPPING DEST, CALL CAME FROM Q/RG: ${RRNODEST}) [pbx_config]
  'h' =>            1. Macro(hangupcall,)                         [pbx_config]
  Include =>        'ext-group-custom'                            [pbx_config]
ippbx-nn.ru
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH