Выбрать главу

UserEvent

Отправляет произвольное событие

Отправляет произвольное событие в интерфейс Asterisk Manager.

Параметры

UserEvent

[обязательный] Имя отправляемого произвольного события.

Header

[необязательный] Имя и значение произвольного параметра вашего события. В событие можно ввести неограниченное число дополнительных заголовков (и их значений).

ActionID

[необязательный] Идентификатор, который может использоваться для опознавания ответа на эту команду.

Привилегии

Пример

Action: UserEvent Blah: one

SomethingElse: two ActionID: 63346

Event: UserEvent Privilege: user,all UserEvent: Action: UserEvent Blah: one

SomethingElse: two ActionID: 63346

WaitEvent

Ожидает возникновения события

После вызова этой команды Asterisk отправит сообщение Success, как только интерфейс Asterisk Manager поставит в очередь следующее событие. Если команда WaitEvent вызвана для HTTP-сеанса интерфейса Manager, события будут формироваться и ставиться в очередь.

Параметры

Timeout

[необязательный] Максимальное время ожидания событий.

ActionID

[необязательный] Идентификатор, который может использоваться для опознавания ответа на эту команду.

Привилегии

none

Пример

Action: WaitEvent Timeout: 30

Action: Ping

Response: Success

Message: Waiting for Event...

Event: WaitEventComplete

Response: Pong

ZapDNDoff

Отменяет для Zap-канала состояние «не беспокоить» Отменяет для Zap-канала состояние «не беспокоить».

Параметры

ZapChannel

[обязательный] Номер Zap-канала, для которого необходимо отменить состояние «не беспокоить».

ActionID

[необязательный] Идентификатор, который может использоваться для опознавания ответа на эту команду.

Привилегии

none

Пример

Action: ZapDNDoff ZapChanneclass="underline" 1

ActionID: 01234567899876543210

Response: Success

ActionID: 01234567899876543210

Message: DND Disabled

ZapDNDon

Устанавливает для Zap-канала состояние «не беспокоить»

Включает для заданного Zap-канала состояние «не беспокоить».

Параметры

ZapChannel

[обязательный] Номер Zap-канала, который необходимо перевести в состояние «не беспокоить».

Привилегии

none

Пример

Action: ZapDNDon ZapChanneclass="underline" 1

ActionID: 98765432100123456789

Response: Success

ActionID: 98765432100123456789

Message: DND Enabled

ZapDialOffhook

Выполняет набор номера по Zap-каналу, когда телефон подключен к линии

Набирает заданный номер по Zap-каналу, когда телефон подключен к линии.

Параметры

ZapChannel

[обязательный] Zap-канал, по которому выполняется набор номера.

Number

[обязательный] Набираемый номер.

ActionID

[необязательный] Уникальный идентификатор, который может служить для опознавания ответов на эту команду.

Привилегии

none

Пример

Action: ZapDialOffhook ZapChanneclass="underline" 1 Number: 543215432154321 ActionID: 5676

Response: Success ActionID: 5676 Message: ZapDialOffhook

ZapHangup

Разъединяет Zap-канал

ZapChannel

[обязательный] Zap-канал, который должен быть разъединен.

ActionID

[необязательный] Уникальный идентификатор, который может служить для опознавания ответов на эту команду.

Привилегии

none

Пример

Action: ZapHangup ZapChanneclass="underline" 1-1 ActionID: 98237892

Response: Success ActionID: 98237892 Message: ZapHangup

ZapRestart

Выполняет полный перезапуск Zaptel-каналов

Полностью перезапускает Zaptel-каналы, завершая все выполняющиеся вызовы.

Привилегии

none

Пример

Action: ZapRestart

Response: Success Message: ZapRestart: Success

ZapShowChannels

Представляет статус Zapata-каналов

Представляет статус всех Zap-каналов.

Параметры

ActionID

Привилегии

none

Пример

Action: ZapShowChannels ActionID: 9999999999

Response: Success ActionID: 9999999999

Message: Zapata channel status will follow

Event: ZapShowChannels Channeclass="underline" 1

Signalling: FXO Kewlstart Context: incoming DND: Disabled Alarm: No Alarm ActionID: 9999999999

Event: ZapShowChannels Channeclass="underline" 4

Signalling: FXS Kewlstart Context: incoming DND: Disabled Alarm: No Alarm ActionID: 9999999999

Event: ZapShowChannelsComplete ActionID: 9999999999

ZapTransfer

Выполняет переадресацию Zap-канала

Выполняет переадресацию Zap-канала.

Привилегия

none

Пример

Action: ZapTransfer ZapChanneclass="underline" 1 ActionID: 4242

Response: Success Message: ZapTransfer ActionID: 4242

G

Пример func_odbc

В этом приложении представлены примеры из реализации функциональности «горячих столов», о которой шла речь в разделе «Ощутим могущество func_odbc: система "горячих столов"» главы 12. Возможно, есть смысл вернуться к главе 12 и рассмотреть этот код данного примера вместе с объяснениями.

Система «горячих столов» (extensions.conf)

Коддиалплана

; Функция "горячих столов"

[hotdesk][hotdesk] ; Регистрация "горячего стола" exten => _11XX,1,NoOp() exten => _11XX,n,Set(E=${EXTEN}) exten => _11XX,n,Verbose(1|Hot Desk Extension ${E} is changing status) exten => _11XX,n,Verbose(1|Checking current status of extension ${E}) exten => _11XX,n,Set(${E}_STATUS=${HOTDESK_INFO(status,${E})}) exten => _11XX,n,Set(${E}_PIN=${HOTDESK_INFO(pin,${E})}) exten => _11XX,n,GotoIf($[${ISNULL(${${E}_STATUS})}]?invalid_user) exten => _11XX,n,GotoIf($[${${E}_STATUS} = 1]?logout,1:login,1) exten => login,1,NoOp() exten => login,n,Set(PIN_TRIES=0) exten => login,n,Set(MAX_PIN_TRIES=3) exten => login,n(get_pin),NoOp() exten => login,n,Set(PIN_TRIES=$[${PIN_TRIES} + 1]) exten => login,n,Read(PIN_ENTERED|enter-password|${LEN(${${E}_PIN})})