» » » Джим Меггелен - Asterisk™: будущее телефонии Второе издание


Авторские права

Джим Меггелен - Asterisk™: будущее телефонии Второе издание

Здесь можно скачать бесплатно "Джим Меггелен - Asterisk™: будущее телефонии Второе издание" в формате fb2, epub, txt, doc, pdf. Жанр: Программное обеспечение. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Asterisk™: будущее телефонии Второе издание
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Asterisk™: будущее телефонии Второе издание"

Описание и краткое содержание "Asterisk™: будущее телефонии Второе издание" читать бесплатно онлайн.








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

Отправляет произвольное событие в интерфейс 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 ZapChannel: 1

ActionID: 01234567899876543210

Response: Success

ActionID: 01234567899876543210

Message: DND Disabled

ZapDNDon

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

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

Параметры

ZapChannel

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

Привилегии

none

Пример

Action: ZapDNDon ZapChannel: 1

ActionID: 98765432100123456789

Response: Success

ActionID: 98765432100123456789

Message: DND Enabled

ZapDialOffhook

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

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

Параметры

ZapChannel

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

Number

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

ActionID

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

Привилегии

none

Пример

Action: ZapDialOffhook ZapChannel: 1 Number: 543215432154321 ActionID: 5676

Response: Success ActionID: 5676 Message: ZapDialOffhook

ZapHangup

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

ZapChannel

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

ActionID

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

Привилегии

none

Пример

Action: ZapHangup ZapChannel: 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 Channel: 1

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

Event: ZapShowChannels Channel: 4

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

Event: ZapShowChannelsComplete ActionID: 9999999999

ZapTransfer

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

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

Привилегия

none

Пример

Action: ZapTransfer ZapChannel: 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})})

exten => login,n,GotoIf($[${PIN_ENTERED} = ${${E}_PIN}]?valid_login,1)

exten => login,n,Playback(invalid-pin,1)

exten => login,n,GotoIf($[${PIN_TRIES} <= ${MAX_PIN_TRIES}]?get_pin:login_fail,1)

exten => valid_login,1,NoOp()

exten => valid_login,n,Set(LOCATION=${CUT(CHANNEL,/,2)})

exten => valid_login,n,Set(LOCATION=${CUT(LOCATION,-,1)})

exten => valid_login,n,Set(ARRAY(USERS_LOGGED_IN)=${HOTDESK_CHECK_PHONE_LOGINS

(${LOCATION})})

exten => valid_login,n,GotoIf($[${USERS_LOGGED_IN} > 0]?logout_login,1)

exten => valid_login,n(set_login_status),NoOp()

exten => valid_login,n,Set(HOTDESK_STATUS(${E})=1\,${LOCATION})

exten => valid_login,n,GotoIf($[${ODBCROWS} < 1]?error,1)

exten => valid_login,n,Playback(agent-loginok)

exten => valid_login,n,Hangup()

exten => logout_login,1,NoOp()

exten => logout_login,n,Set(ROW_COUNTER=0)

exten => logout_login,n,While($[${ROW_COUNTER} < ${USERS_LOGGED_IN}])

exten => logout_login,n,Set(WHO=${HOTDESK_LOGGED_IN_USER(${LOCATION}, ${ROW_COUNTER})})

exten => logout_login,n,Set(HOTDESK_STATUS(${WHO})=0)

exten => logout_login,n,Set(ROW_COUNTER=$[${ROW_COUNTER} + 1])

exten => logout_login,n,EndWhile()

exten => logout_login,n,Goto(valid_login,set_login_status)

exten => logout,1,NoOp()

exten => logout,n,Set(HOTDESK_STATUS(${E})=0)

exten => logout,n,GotoIf($[${ODBCROWS} < 1]?error,1)

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


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Asterisk™: будущее телефонии Второе издание"

Книги похожие на "Asterisk™: будущее телефонии Второе издание" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Джим Меггелен

Джим Меггелен - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Джим Меггелен - Asterisk™: будущее телефонии Второе издание"

Отзывы читателей о книге "Asterisk™: будущее телефонии Второе издание", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.