Asterisk™: будущее телефонии Второе издание
Шрифт:
exten => logout,n,Playback(silence/1&agent-loggedoff)
exten => logout,n,Hangup
exten => login_fail,1,NoOp
exten => login_fail,n,Playback(silence/1&login-fail)
exten => login_fail,n,Hangup
exten => error,1,NoOp
exten => error,n,Playback(silence/1&connection-failed)
exten => error,n,Hangup
exten => invalid_user,1,NoOp
exten => invalid_user,n,Verbose(1|Hot Desk extension ${E} does not exist)
exten => invalid_user,n,Playback(silence/2&invalid)
exten => invalid_user,n,Hangup
include => hotdesk_outbound
[hotdesk_outbound]
exten => _X.,1,NoOp
exten => _X.,n,Set(LOCATION=${CUT(CHANNEL,/,2)}) exten => _X.,n,Set(LOCATION=${CUT(LOCATION,-,1)})
exten => _X.,n,Set(WHO=${HOTDESK_PHONE_STATUS(${LOCATION})})
exten => _X.,n,GotoIf($[${ISNULL(${WHO})}]?no_outgoing,1)
exten => _X.,n,Set(${WHO}_CID_NAME=${HOTDESK_INFO(cid_name,${WHO})})
exten => _X.,n,Set(${WHO}_CID_NUMBER=${HOTDESK_INFO(cid_number,${WHO})})
exten => _X.,n,Set(${WHO}_CONTEXT=${HOTDESK_INFO(context,${WHO})})
exten => _X.,n,Goto(${${WHO}_CONTEXT},${EXTEN},1)
[international]
exten => _011.,1,NoOp
exten => _011.,n,Set(E=${EXTEN})
exten => _011.,n,Goto(outgoing,call,1)
exten => i,1,NoOp
exten => i,n,Playback(silence/2&sorry-cant-let-you-do-that2)
exten => i,n,Hangup
include => longdistance
[longdistance]
exten => _1NXXNXXXXXX,1,NoOp
exten => _1NXXNXXXXXX,n,Set(E=${EXTEN})
exten => _1NXXNXXXXXX,n,Goto(outgoing,call,1)
exten => _NXXNXXXXXX,1,Goto(1${EXTEN},1)
exten => i,1,NoOp
exten => i,n,Playback(silence/2&sorry-cant-let-you-do-that2) exten => i,n,Hangup
include => local
[local]
exten => _416NXXXXXX,1,NoOp
exten => _416NXXXXXX,n,Set(E=${EXTEN})
exten => _416NXXXXXX,n,Goto(outgoing,call,1)
exten => i,1,NoOp
exten => i,n,Playback(silence/2&sorry-cant-let-you-do-that2) exten => i,n,Hangup
[outgoing]
exten => call,1,NoOp
exten => call,n,Set(CALLERID(name)=${${WHO}_CID_NAME})
exten => call,n,Set(CALLERID(number)=${${WHO}_CID_NUMBER})
exten => call,n,Dial(SIP/service_provider/${E})
exten => call,n,Playback(silence/2&pls-try-call-later)
exten => call,n,Hangup
[hotdesk_phones]
exten => _11XX,1,NoOp
exten => _11XX,n,Set(E=${EXTEN})
exten => _11XX,n,Set(LOCATION=${HOTDESK_LOCATION(${E})}) exten => _11XX,n,GotoIf($[${ISNULL(${LOCATION})}]?voicemail,1) exten => _11XX,n,Dial(SIP/${LOCATION},30) exten => _11XX,n,Goto(voicemail,1)
exten => voicemail,1,NoOp
exten => voicemail,n,Voicemail(${E}@hotdesk,u)
exten => voicemail,n,Hangup
Смотрите
Разделы «Система "горячих столов" (sip.conf)», «Система "горячих столов" (func_odbc.conf)», главу 5, главу 6, Read, CUT, While, ISNULL, VoiceMail, CALLERID, Dial,GotoIf
Система «горячих столов» (func_odbc.conf)
Специальные функции диалплана
[INFO]
prefix=HOTDESK dsn=asterisk
read=SELECT ${ARG1} FROM ast_hotdesk WHERE extension = '${ARG2}'
[STATUS]
prefix=HOTDESK
dsn=asterisk
write=UPDATE ast_hotdesk SET status = '${VAL1}', location = '${VAL2}' WHERE extension = '${ARG1}'
[CHECK_PHONE_LOGINS]
prefix=HOTDESK
dsn=asterisk
read=SELECT COUNT(status) FROM ast_hotdesk WHERE status = '1' AND location = '${ARG1}'
[LOGGED_IN_USER]
prefix=HOTDESK
dsn=asterisk
read=SELECT extension FROM ast_hotdesk WHERE status = '1' AND location = '${ARG1}'
ORDER BY id LIMIT '1' OFFSET '${ARG2}'
[PHONE_STATUS] prefix=HOTDESK dsn=asterisk
read=SELECT extension FROM ast_hotdesk WHERE location = '${ARG1}' AND status = '1'
Смотрите также
Разделы «Система "горячих столов" (extensions.conf)», «Система "горячих столов" (sip.conf)», res_odbc.conf
Система «горячих столов» (sip.conf)
Два примера конфигурации телефонов и пример конфигурации поставщика сервиса
; ПОЛЬЗОВАТЕЛИ СИСТЕМЫ "ГОРЯЧИХ СТОЛОВ"
[desk_1]
type=friend
host=dynamic
secret=my_special_secret
context=hotdesk
qualify=yes
[desk_2]
type=friend
host=dynamic
secret=my_special_secret
context=hotdesk
qualify=yes
; КОНЕЦ ОПИСАНИЯ ПОЛЬЗОВАТЕЛЕЙ СИСТЕМЫ "ГОРЯЧИХ СТОЛОВ"
Смотрите также
Разделы «Система "горячих столов" (extensions.conf)», «Система "горячих столов" (func_odbc.conf)», главу 4
Алфавитный указатель
Специальные символыСпециальные символы | > (больше чем), оператор сравнения, 18 >=,оператор 189 | |
! (восклицательный знак), | [ ] (квадратные скобки) 396 | |
универсальное соответствие 180 | контексты 160 | |
!=, оператор 189 | интерфейс Asterisk Manager 277 | |
$ (знак доллара), использование | равноправные участники DUNDi, | |
выражений 188 | описание, 367 | |
% (знак остатка от деления) 189 | редактирование файла iax.conf 147 | |
&(амперсанд) | \ (обратный слэш), использование | |
звонки по нескольким каналам 172 | Set 333 | |
логическое И 189 | Л (знак вставки), в регулярных | |
' (одинарные кавычки) | выражениях 189 | |
использование функции | _ (символ подчеркивания), | |
makerequest 310 | использование сопоставления | |
* (звездочка) | с шаблонами 179 | |
GotoIfTime, функция 196 | { } (фигурные скобки) | |
знак умножения 189 | переменные 176 | |
символ подстановки 103 | функции 190 | |
*** termcap support not found 85 | | (вертикальная черта) 396 | |
+ (знак плюс) 189 | в качестве разделителя 164 | |
, (запятые), использование Set 333 | логический оператор 189 | |
– (знак минус) 189 | почтовые ящики, создание 198 | |
. (точка), универсальное соответствие 179 | приложение Set 333 | |
/ (прямой слэш) | ^law 221 | |
знак целочисленного деления 189 | A | |
использование приложения Dial | 171 | |
: (оператор регулярного выражения) | 189 | |
< (меньше чем), оператор сравнения | 189 | AADK (Asterisk Appliance Developers |
<=,оператор 189 | Kit) 295 | |
= (знак равенства), оператор | AbsoluteTimeout (команда AMI) 593 | |
сравнения 189 | accountcode, CSV-файл 346 | |
=> (добавочные номера) 161 | accountcode, параметр IAX 397 |
accountcode, параметр SIP 421 | amd.conf, файл 539 |
ActiveRecord 287 | ANSWER (AGI) 522 |
база данных 288 | Answer, |
AddQueueMember, приложение 432 | приложение 163, 165, 360, 438 |
Adhearsion 281, 282 | answer, CSV-файл 346 |
Micromenus 291 | AppendCDRUserField, |
интеграция с веб-приложением 293 | приложение 438 |
распространение и повторное | ARRAY, функция 331, 571 |
использование кода 290 | ${ARG n}, переменная 202 |
adsi, параметр IAX 397 | Asterisk |
adsi.conf, файл 535 | Appliance Developers Kit (AADK) 295 |
ADSIProg, приложение 432 | Manager Interface (AMI) 298 |
adtranvofr.conf, файл 535 | Web Voicemail 81 |
AGENT, функция 570 | архитектура реального времени |
AgentCallbackLogin (команда AMI) 594 | (ARA) 42 |
AgentCallbackLogin, приложение 433 | Википедия 36 |
AgentLogoff (команда AMI) 595 | группы пользователей (AUG) 36 |
AgentLogin, приложение 433 | проект GUI 295 |
AgentMonitorOutgoing, | проект создания документации 37 |
приложение 434 | Asterisk Manager Interface |
Agents (команда AMI) 596 | (AMI) 276, 299 |
agents.conf, файл 535 | передача команд по HTTP 301 |
AGI (Asterisk Gateway Interface) 256 | подключение 277 |
обмен информацией 258 | #asterisk, каналы IRC 36 |
agi debug, команда 274 | asterisk.conf, файл 319, 539 |
AGI, приложение 258, 435 | Asterisk-Biz, рассылка 35 |
agi-bin/, папка 93 | Asterisk-BSD, рассылка 36 |
AJAM (Asynchronous JavaScript and | #asterisk-dev, каналы IRC 36 |
Asterisk Manager) 295, 299 | Asterisk-Dev, рассылка 35 |
Ajax (Asynchronous JavaScript and | AsteriskNOW 96 |
XML) 295, 298, 305 | GUI 297 |
обработка форм HTML 305 | AsteriskNOW (Ruby) 283 |
AlarmReceiver, приложение 436 | asterisk-sounds, пакет 69 |
alarmreceiver.conf, файл 538 | Asterisk-Users, рассылка 36 |
Algebraic-Code-Excited Linear Prediction | AstLinux 47 |
(CSACELP) 242 | AstriCon 80 |
allow, параметр IAX 397 | attach, опция почтовых ящиков 198 |
allow, параметр SIP 422 | AUG (группы пользователей |
allowexternalinvites, параметр SIP 412 | Asterisk) 36 |
allowguest, параметр SIP 412 | Authenticate, приложение 439 |
allowoverlap, параметр SIP 412 | autoconf 74 |
allowsubscribe, параметр SIP 412 | autodebug, параметр IAX 398 |
allowtransfers, параметр SIP 412 | autodomain, параметр SIP 412 |
alsa.conf, файл 538 | autokill, параметр IAX 398 |
alwaysauthreject, параметр SIP 412 | Automatic Message Accounting |
amaflags, CSV-файл 347 | (AMA) 398 |
amaflags, параметр IAX 398 | Automatic Number Identification |
amaflags, параметр SIP 422 | (ANI) 411 |
AMD, приложение 436 | Automatic Partitioning, окно 99 |