Ответы пользователя по тегу IVR
  • Cоздание IVR на Asterisk, чтобы искал и озвучивал с БД нужную информацию. Как это сделать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Background()
    WaitExten()
    Read()
    Playback()
    Asterisk + ODBC
    База данных любая, с которой может работать odbc.
    По приходу звонка идёт воспроизведение приветствия через Background. При нажатии кнопки переход на соответствующий экстеншин, оттуда в другой контекст. Там приглашение ввести идентификатор (Baсkground, WaitExten), после ввода определённого количества цифр - переход на экстеншин вида _XXXXXXX, (X - по количеству цифр в идентификаторе). Затем запрос к базе через ODBC_, формирование списка аудиофайлов для ответа, воспроизведение через Playback.
    Ответ написан
    1 комментарий
  • Asterisk, как сделать многоуровневый IVR?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Каждую подветку IVR оформляете отдельным контекстом, далее в каждом контексте примерно так:
    [ivr-main]
    exten => s,1,Answer()
    same => n,Background(ivr-menu-main)
    same => n,WaitExten(5)
    
    exten => i,1,Playback(key-invalid)
    same => n,Goto(somewhere)
    
    exten => t,1,Playback(go-to-operator)
    same => n,Goto(somewhere)
    
    exten => 1,1,Goto(ivr-menu-1,s,1)
    ...


    Второй вариант - через Read, тогда можно всё в одном контексте
    [ivr]
    exten => s,1,Answer()
    same => n,Read(KEY,ivr-menu-main,1,,1,3)
    same => n,GotoIf($["${KEY}"=""]?error,1:ivr${KEY},1)
    
    exten => ivr1,1,Read(KEY,ivr-menu-1,1,,1,3)
    ...
    Ответ написан