Интерфейс сервисов для аналогового дисплея (Analog Display Services Interface, ADSI). Нужен для предоставления улучшенных сервисов по обычным аналоговым телефонным сетям. Можно использовать только для поддерживающих этот стандарт телефонов. Телефон должен быть напрямую подключен к каналу Zapata, так как ADSI-сообщения не могут передаваться на удаленный аналоговый телефон через VoIP-соединение.
Возможности стандарта adsi: - Отображение в меню телефона списка сообщений голосовой почты. - Поиск абонента по телефонному номеру и отображение адреса этого лица на экране телефона - Отправка/Получение сообщений электронной почты с помощью ADSI-устройства. - Уведомление о сообщениях входящей электронной почты, домашний банкинг , закупка билетов и доступ к расписание поездов и самолетов.
Опции в adsi.conf:
adsi=yes/no - Поддержка стандарта. alignment = center/left/right/ - Выравнивание на экране. greeting => Welcome to the - Приветствие maxretries = 3 - Кол-во попыток отправки сообщения adsi на телефон. <code> Скрипты ADSI. Скрипты находятся в файле asterisk.adsi Для того чтобы включить загрузку сценария при набором с телефона в плане набора: <code> exten => 1234,1,ADSIProg(telcordia-1.adsi); exten => 1234,2,Hangup;
Пример adsi.conf:
[intro] alignment = center greeting => Welcome to the greeting => Asterisk greeting => Open Source PBX[/collapsed] [collapsed title="Пример asterisk.adsi:"] ; ; Asterisk default ADSI script ; ; ; Begin with the preamble requirements ; DESCRIPTION "Asterisk PBX" ; Name of vendor VERSION 0x00 ; Version of stuff ;SECURITY "_AST" ; Security code SECURITY 0X9BDBF7AC ; Security code FDN 0x0000000F ; Descriptor number ; ; Flags ; FLAG "nocallwaiting" ; ; Predefined strings ; DISPLAY "titles" IS "** Asterisk PBX **" DISPLAY "talkingto" IS "Call active." JUSTIFY LEFT DISPLAY "callname" IS "$Call1p" JUSTIFY LEFT DISPLAY "callnum" IS "$Call1s" JUSTIFY LEFT DISPLAY "incoming" IS "Incoming call!" JUSTIFY LEFT DISPLAY "ringing" IS "Calling... " JUSTIFY LEFT DISPLAY "callended" IS "Call ended." JUSTIFY LEFT DISPLAY "missedcall" IS "Missed call." JUSTIFY LEFT DISPLAY "busy" IS "Busy." JUSTIFY LEFT DISPLAY "reorder" IS "Reorder." JUSTIFY LEFT DISPLAY "cwdisabled" IS "Callwait disabled" DISPLAY "empty" IS "asdf" ; ; Begin soft key definitions ; KEY "callfwd" IS "CallFwd" OR "Call Forward" OFFHOOK VOICEMODE WAITDIALTONE SENDDTMF "*60" GOTO "offHook" ENDKEY KEY "vmail_OH" IS "VMail" OR "Voicemail" OFFHOOK VOICEMODE WAITDIALTONE SENDDTMF "8500" ENDKEY KEY "vmail" IS "VMail" OR "Voicemail" SENDDTMF "8500" ENDKEY KEY "backspace" IS "BackSpc" OR "Backspace" BACKSPACE ENDKEY KEY "cwdisable" IS "CWDsble" OR "Disable Call Wait" SENDDTMF "*70" SETFLAG "nocallwaiting" SHOWDISPLAY "cwdisabled" AT 4 TIMERCLEAR TIMERSTART 1 ENDKEY KEY "cidblock" IS "CIDBlk" OR "Block Callerid" SENDDTMF "*67" SETFLAG "nocallwaiting" ENDKEY ; ; Begin main subroutine ; SUB "main" IS IFEVENT NEARANSWER THEN CLEAR SHOWDISPLAY "titles" AT 1 NOUPDATE SHOWDISPLAY "talkingto" AT 2 NOUPDATE SHOWDISPLAY "callname" AT 3 SHOWDISPLAY "callnum" AT 4 GOTO "stableCall" ENDIF IFEVENT OFFHOOK THEN CLEAR CLEARFLAG "nocallwaiting" CLEARDISPLAY SHOWDISPLAY "titles" AT 1 SHOWKEYS "vmail" SHOWKEYS "cidblock" SHOWKEYS "cwdisable" UNLESS "nocallwaiting" GOTO "offHook" ENDIF IFEVENT IDLE THEN CLEAR SHOWDISPLAY "titles" AT 1 SHOWKEYS "vmail_OH" ENDIF IFEVENT CALLERID THEN CLEAR ; SHOWDISPLAY "titles" AT 1 NOUPDATE ; SHOWDISPLAY "incoming" AT 2 NOUPDATE SHOWDISPLAY "callname" AT 3 NOUPDATE SHOWDISPLAY "callnum" AT 4 ENDIF IFEVENT RING THEN CLEAR SHOWDISPLAY "titles" AT 1 NOUPDATE SHOWDISPLAY "incoming" AT 2 ENDIF IFEVENT ENDOFRING THEN SHOWDISPLAY "missedcall" AT 2 CLEAR SHOWDISPLAY "titles" AT 1 SHOWKEYS "vmail_OH" ENDIF IFEVENT TIMER THEN CLEAR SHOWDISPLAY "empty" AT 4 ENDIF ENDSUB SUB "offHook" IS IFEVENT FARRING THEN CLEAR SHOWDISPLAY "titles" AT 1 NOUPDATE SHOWDISPLAY "ringing" AT 2 NOUPDATE SHOWDISPLAY "callname" at 3 NOUPDATE SHOWDISPLAY "callnum" at 4 ENDIF IFEVENT FARANSWER THEN CLEAR SHOWDISPLAY "talkingto" AT 2 GOTO "stableCall" ENDIF IFEVENT BUSY THEN CLEAR SHOWDISPLAY "titles" AT 1 NOUPDATE SHOWDISPLAY "busy" AT 2 NOUPDATE SHOWDISPLAY "callname" at 3 NOUPDATE SHOWDISPLAY "callnum" at 4 ENDIF IFEVENT REORDER THEN CLEAR SHOWDISPLAY "titles" AT 1 NOUPDATE SHOWDISPLAY "reorder" AT 2 NOUPDATE SHOWDISPLAY "callname" at 3 NOUPDATE SHOWDISPLAY "callnum" at 4 ENDIF ENDSUB SUB "stableCall" IS IFEVENT REORDER THEN SHOWDISPLAY "callended" AT 2 ENDIF ENDSUB