adsi.conf Asterisk

Интерфейс сервисов для аналогового дисплея (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

Оригинал