"pickup"
|
Перехват звонка, поступившего на учетную запись, доступную по указанному номеру.
Номер вычисляется как остаток. Поле 'extension' не применяется.
|
"grouppickup"
|
Перехват звонка на основании присутствия вызываемой учетной записи SIP-пользователя и перехватывающей учетной записи SIP-пользователя в одном групповом номере.
Перехвату подлежит любой звонок, находящийся в состоянии вызова абонента, даже если поступил не на групповой номер, а индивидуально.
Ни остаток, ни поле 'extension' не применяются.
|
"conference"
|
Маршрутизация на сервис конференций.
Номер конференц-комнаты вычисляется как остаток. Поле 'extension' не применяется.
Варианты модификации поведения:
Фабрика конференций (ad-hoc):
-
Если фичакод набран без постфикса, то сервер переадресовывает вызов на номер конференц-комнаты. Конференц-комната определяется по указанному ниже правилу.
Такой способ набора применяется для абонентских устройств, реализующих сбор Ad-hoc Network Conference и самостоятельно производящих перевод всех текущих удерживаемых абонентов на номер конференц-фабрики.
-
Если к фичакоду добавлен постфикс '*', то сервер также переадресовывает вызов на номер некоей конференц-комнаты, а также инициирует и осуществляет перевод туда же абонентов всех вызовов, находящихся на удержании инициатором. Этот режим доступен только для непереведнных вызовов, то есть когда инициатор сам (напрямую или через свою CTI панель) набирает номер.
Такой способ набора применяется для абонентских устройств, не имеющих функции сбора конференции или не реализующих самостоятельно функционал перевода удерживаемых абонентов на номер конференц-фабрики.
Правило определения номера конференц-комнаты при вызове фабрики
При вызове номера фабрики определение конференц-комнаты происходит относительно абонента, осуществившего перевод этого вызова. То есть если абонент А, разговаривая с абонентом Б, переводит абонента Б на номер фабрики (фичакод без постфикса или с постфиксом '*'), то номер конференции определяется относительно абонента А. Если же абонент Б самостоятельно набирает номер фабрики, то номер конференции определяется относительно абонента Б.
При этом:
-
Если определяющий абонент уже удерживает разговор с любой конференцией, то именно эта конференц-комната становится целевой. Фабрика не используется. Таким образом реализуется добавление в активную конференцию новых абонентов с устройства с помощью фичакода фабрики конференций.
-
Если на удержании определяющим абонентом нет активного разговора с какой-либо конференцией, то создается новая ad-hoc конференция с комнатой формата 'НомерАбонента!НомерКомнаты', тем самым эта конференция привязывается к абоненту-создателю, снабжая его возможностями дальнейшего управления: остановки конференции с телефона, отключения участников, просмотр и управление участниками через инструменты клиентского приложения.
|
"stopconf"
|
Выполнение команды завершения текущей конференции.
Подходят только конференции, инициированные самим пользователем на лету (ad-hoc). У таких конференц-комнат номер имеет специальный формат: НомерАбонента!НомерAdHocКомнаты
Сценарий использования: абонент создал трех- или более стороннюю ad-hoc конференцию и хочет ее завершить с отключением всех участников, для этого он ставит конференцию на удержание и вызывает номер этой абонентской функции.
Варианты модификации поведения:
-
Если к фичакоду добавлен постфикс '*', то завершаются все активные ad-hoc конференции пользователя, которые он инициировал, в том числе в которых уже не участвует.
-
Если к фичакоду добавлен любой другой постфикс, то из текущей ad-hoc конференции пользователя отключается участник с указанным номером, если такой обнаружен.
В случае успешного обнаружения и выполнения команды возвращается ответ '410 Gone', а соединение не устанавливается ни при каком сценарии.
Этот фичакод может быть заменен фичакодом 'conference' с установленным в поле 'extension' значением 'stop'.
|
"ivr"
|
Маршрутизация на сервис IVR.
Код сценария IVR указывается в поле 'extension' КАФ. Остаток не применяется.
|
"queue"
|
Маршрутизация в персональную очередь.
Номер абонента берется как остаток. Поле 'extension' не применяется.
|
"hunt"
|
Маршрутизация на сервис hunt-групп и очередей.
Номер hunt-группы ('phonenumber') указывается в поле 'extension' КАФ, если там пусто, то берется как остаток.
|
"hotdesking"
|
Хот-Деск. Авторизация пользователя с телефонного аппарата с одновременным связыванием учетных записей и назначением устройству (аккаунту sipuser) телефонного номера пользователя.
Сервис позволяет производить связывание и отвязывание.
Для связывания необходимо в качестве номера набрать "{Featurecode}{UserNumber}*{UserPincode}". При этом:
-
если пользователь связан с другим аккаунтом sipuser, там он там будет предварительно отвязан.
-
если на текущем аккаунте, с которого совершается вызов, уже привязан другой пользователь, то он также будет предварительно отвязан.
Телефонный номер пользователя и его пинкод устанавливаются в свойствах учетной записи пользователя.
При использовании абонентской функции Хот-Деска один пользователь может быть связан только с одной учетной записью sipuser.
Для отвязывания необходимо в качестве номера набрать "{FeatureCode}" и произвольное количество нулей в конце, в том числе и без нулей.
При отвязывании учетной записи sipuser устанавливаются пустой номер (phonenumber) и пуcтой пользователь (iduser).
|
"voicemail"
|
Управление ящиком голосовой почты, прослушивание голосовых сообщений.
Номер голосового ящика вычисляется как остаток. Поле 'extension' не применяется.
Вызов номера без добавления в конец номера ящика не обслуживается сервисом, о чем производится уведомление.
Номер сервиса голосовой почты вместе с номером ящика, добавленным в виде остатка, может быть указан при настройке MWI (Message-waiting indicator) в телефонном аппарате абонента.
В этом случае телефоном будет осуществлена подписка, и сервер будет уведомлять телефон при поступлении новых сообщений в соответствующий голосовой ящик.
Для прослушивания голосовых сообщений необходимо осуществить вызов на сервисный номер управления голосовым ящиком с добавлением в конец номера почтового ящика.
При наличии непрослушанных сообщений начнется их последовательное воспроизведение. После воспроизведения сообщения оно автоматически переводится в категорию прослушанных сообщений.
При остутствии новых сообщений сервис предложит воспроизвести старые (ранее прослушанные) сообщения.
Во время прослушивания сообщений возможно управление сервисом путем отправки DTMF сигналов:
2 - переход к прослушанным сообщениям (только при воспроизведении новых сообщений);
4 - воспроизведение предыдущего сообщения;
5 - повторное воспроизведение текущего сообщения;
6 - переход к следующему сообщению;
8 - удаление текущего сообщения;
9 - очистка ящика (раздельно для новых сообщений и для ранее прослушанных сообщений);
0 - вызвать абонента-отправителя сообщения;
# - переход в начало (при воспроизведении ранее прослушанных сообщений - проверка наличия новых сообщений и переход к их воспроизведению);
* - воспроизведение инструкции по управлению разделом.
Сервис реализован с помощью встроенного скрытого IVR-сценария с преднастроенным кодом voicemail, содержащим компоненты 'Голосовая почта' и 'Воспроизведение'.
Сценарий использует звуковые файлы, размещенные в каталоге :SYNC/common/voicemail.
Сервис может быть кастомизирован путем создания в домене IVR-сценария с кодом voicemail.
Каждый домен использует собственный сценарий, при его отсутствии — сценарий родительского домена или его предков, а при их отсутствии вплоть до мастер-домена - встроенный скрытый сценарий.
Для ограничения доступа к ящикам других пользователей доступны 3 схемы:
* Ограничение правилами маршрутизации звонков, в которых различаются fromnumber и расширение. Примеры настройки для сервисного номера управления почтой '92':
to_number ⇒ '*92{F}' - сопоставление с набираемым номером.
fromnumber ⇒ '{tab:a}', tonumber ⇒ '*92{tab:a}', в таблице 'a' ⇒ /reg/^.$ - сопоставление частей номеров из двух полей.
* fromnumber ⇒ '{tab:a}', tonumber ⇒ '*92{tab:b}', в таблице 'a' ⇒ /reg/%.$, 'b' ⇒ '/tab/a' - сопоставление частей номеров из двух полей;
* Организация управления ящиками через кастомный сценарий, гибко определяющие фильтры и правила доступа.
* Создание индивидуальных правил маршрутизации на номера ящиков (неоптимально для большого количества ящиков).
В любом случае рекомендуется назначать пользователям голосовые ящики, совпадающими с их личными номерами.
|
"voicemail_send"
|
Запись и отправка голосового сообщения.
Номер голосового ящика вычисляется как остаток. Поле 'extension' не применяется.
Вызов номера без добавления в конец номера ящика не обслуживается сервисом, о чем производится уведомление.
Для отправки голосового сообщения необходимо осуществить вызов на сервисный номер отправки голосового сообщения с добавлением в конец номера почтового ящика адресата.
После звукового сигнала продиктовать сообщение. Прервать запись можно отправкой любого DTMF сигнала, либо дождавшись автоматического завершения записи анализатором тишины (3 секунды).
Сервис реализован с помощью встроенного скрытого IVR-сценария с преднастроенным кодом voicemail_send, содержащим компоненты 'Голосовая почта' и 'Воспроизведение'.
Сценарий использует звуковые файлы, размещенные в каталоге :SYNC/common/voicemail.
Сервис может быть кастомизирован путем создания в домене IVR-сценария с кодом voicemail_send.
Каждый домен использует собственный сценарий, при его отсутствии — сценарий родительского домена или его предков, а при их отсутствии вплоть до мастер-домена - встроенный скрытый сценарий.
|
"parking_put"
|
Постановка вызова на парковку.
Номер парковочного места вычисляется как остаток. Поле 'extension' не применяется.
Если номер парковочного места не передан в виде остатка номера, либо парковочное место занято, то сервис предлагает ввести номер парковочного места с помощью DTMF.
Для постановки абонента на парковку необходимо поставить звонок на удержание и осуществить вызов на сервисный номер постановки на парковку с добавлением в конец номера парковочного места.
Дождаться подтверждения, что вызов размещен на парковке, после чего осуществить перевод подменой.
Сервис реализован с помощью встроенных скрытых IVR-сценариев с преднастроенными кодами parking_put и parking_wait, содержащим компоненты 'Парковка' и 'Воспроизведение'.
Сценарий 'parking_put' осуществляет определение номера парковочного места и размещает вызов на парковке, после чего передеает управление сценарию parking_wait, который воспроизводит мелодию ожидания.
Сценарии используют звуковые файлы, размещенные в каталоге :SYNC/common/parking.
Сервис может быть кастомизирован путем создания в домене IVR-сценария с соответствующим кодом.
Так, для замены мелодии ожидания достаточно создать в домене IVR-сценарий с кодом parking_wait.
Каждый домен использует собственный сценарий, при его отсутствии — сценарий родительского домена или его предков, а при их отсутствии вплоть до мастер-домена - встроенный скрытый сценарий.
|
"parking_get"
|
Взятие вызова с парковки.
Номер парковочного места вычисляется как остаток. Поле 'extension' не применяется.
Если номер парковочного места не передан в виде остатка номера, либо парковочное место занято, то сервис предлагает ввести номер парковочного места с помощью DTMF.
Для взятия абонента с парковки необходимо вызвать сервисный номер взятия с парковки с добавлением в конец номера парковочного места.
В случае успешного обнаружения ожидающего на парковке звонка произойдет автоматический перевод вызова на ожидающего абонента.
Сервис реализован с помощью встроенного скрытого IVR-сценария с преднастроенным кодом parking_get.
Сценарии используют звуковые файлы, размещенные в каталоге :SYNC/common/parking.
Сервис может быть кастомизирован путем создания в домене IVR-сценария с кодом parking_get.
Каждый домен использует собственный сценарий, при его отсутствии — сценарий родительского домена или его предков, а при их отсутствии вплоть до мастер-домена - встроенный скрытый сценарий.
|
"intercom"
|
Вызов абонента в режиме интерком (задача #127).
Целевой номер берется из поля 'extension', а если там нет, то вычисляется как остаток. Далее инициируется новая итерация маршрутизации.
В режиме интеркома разрешаются только звонки по правилам с action = inside и insidepbx.
При попадании на переадресацию вызов сразу блокируется, чтобы исключить неожиданности.
|
"barge"
|
Вторжение к занятому абоненту (задача #141).
Целевой номер берется из поля 'extension', а если там нет, то вычисляется как остаток. Далее инициируется новая итерация маршрутизации.
В случае, если целевой абонент находится в состоянии разговора, происходит интерком-вызов (как следствие с автоматической постановкой текущего разговора на удержание), а если целевой абонент свободен, то происходит обычный вызов.
Если в устройстве настроен приоритет интеркома, то текущий вызов будет поставлен на удержание, а вызов вторжением станет активным.
В отличие от кода абонентской функции 'интерком', когда вызываемый абонент свободен, интерком-вызов не применяется.
|
"callwaiting"
|
Маршрутизация на персональный номер абонента без применения его ограничения на количество одновременных вызовов.
Номер абонента берется как остаток. Поле 'extension' не применяется.
|
"replace"
|
Подмена плеча (задача #163).
Инициирует маршрутизацию на указанный номер с добавлением заголовка Replaces в INVITE с целью подмены.
Поле 'extension' содержит перечисление через запятую стратегий обнаружения подменяемого звонка и плеча:
* num - поиск диалога производится по номеру абонента как один из активных разговоров абонента. Номер берется как остаток (расширение). По номеру вычисляется учетная запись абонента (через маршрутизацию без переадресаций), для абонента обнаруживается активный разговор.
* callid - поиск диалога производится по callid активного звонка/плеча (альтернатива поиска по номеру). Значение callid может быть указано в качестве расширения номера (в т.ч. в кодировке base64), либо в заголовке Replaces или X-Era-Dest-Call-Id.
* base64 - значение CallID указано в кодировке base64.
* opposite - в качестве подменяемого принимается другое плечо обнаруженного диалога, а не указанный абонент/плечо.
* allsites - поиск разговора проводится на всех сайтах системы. Иначе только на текущем сайте.
|
"monitor"
|
Подслушивание. Подключение к существующему разговору в режиме подслушивания - инициатор слышит обоих абонентов, а его не слышит никто из участников разговора.
Все подключенные к прослушиванию одного разговора абоненты слышат друг друга. Также они слышат мелодии ожидания исходного разговора.
Поле 'extension' содержит перечисление через запятую стратегий обнаружения подменяемого звонка и плеча:
* num - поиск диалога производится по номеру абонента как один из активных разговоров абонента. Номер берется как остаток (расширение). По номеру вычисляется учетная запись абонента (через маршрутизацию без переадресаций), для абонента обнаруживается активный разговор.
* callid - поиск диалога производится по callid активного звонка/плеча (альтернатива поиска по номеру). Значение callid может быть указано в качестве расширения номера (в т.ч. в кодировке base64), либо в заголовке X-Era-Dest-Call-Id`.
* base64 - значение CallID указано в кодировке base64.
* allsites - поиск разговора проводится на всех сайтах системы. Иначе только на текущем сайте.
ВАЖНО! Возможность подключения к разговору определяется таблицей маршрутизации: доступ к номеру абонентской функции. Доступность номера абонента для звонка не является критерием наличия права на подключение.
|
"prompt"
|
Суфлер. Подключение к существующему разговору в режиме суфлирования - инициатор слышит обоих абонентов, а его слышит только один из участников разговора (суфлируемый).
Все подключенные к прослушиванию одного разговора абоненты слышат друг друга. Также они слышат мелодии ожидания исходного разговора.
Поле 'extension' содержит перечисление через запятую стратегий обнаружения подменяемого звонка и плеча:
* num - поиск диалога производится по номеру абонента как один из активных разговоров абонента. Номер берется как остаток (расширение). По номеру вычисляется учетная запись абонента (через маршрутизацию без переадресаций), для абонента обнаруживается активный разговор.
* callid - поиск диалога производится по callid активного звонка/плеча (альтернатива поиска по номеру). Значение callid может быть указано в качестве расширения номера (в т.ч. в кодировке base64), либо в заголовке X-Era-Dest-Call-Id.
* base64 - значение CallID указано в кодировке base64.
* opposite - в качестве суфлируемого абонента принимается другое плечо обнаруженного диалога, а не указанный абонент/плечо.
* allsites - поиск разговора проводится на всех сайтах системы. Иначе только на текущем сайте.
ВАЖНО! Возможность подключения к разговору определяется таблицей маршрутизации: доступ к номеру абонентской функции. Доступность номера абонента для звонка не является критерием наличия права на подключение.
|
"mesh"
|
Подключение к существующему разговору в режиме конференции - инициатор слышит обоих абонентов, и его слышат оба участника разговора.
Все подключенные к прослушиванию одного разговора абоненты слышат друг друга. Также они слышат мелодии ожидания исходного разговора.
Поле 'extension' содержит перечисление через запятую стратегий обнаружения подменяемого звонка и плеча:
* num - поиск диалога производится по номеру абонента как один из активных разговоров абонента. Номер берется как остаток (расширение). По номеру вычисляется учетная запись абонента (через маршрутизацию без переадресаций), для абонента обнаруживается активный разговор.
* callid - поиск диалога производится по callid активного звонка/плеча (альтернатива поиска по номеру). Значение callid может быть указано в качестве расширения номера (в т.ч. в кодировке base64), либо в заголовке X-Era-Dest-Call-Id.
* base64 - значение CallID указано в кодировке base64.
* allsites - поиск разговора проводится на всех сайтах системы. Иначе только на текущем сайте.
ВАЖНО! Возможность подключения к разговору определяется таблицей маршрутизации: доступ к номеру абонентской функции. Доступность номера абонента для звонка не является критерием наличия права на подключение.
|
"fax_to_email"
|
Получение факса и отправка на электронную почту.
Фактически маршрутизация на сервис приема факса и отправки файла на электронную почту, реализованный в IVR, который может быть заменен внутри домена.
Список почтовых ящиков получателей и параметры отправителя указываются в настройках домена в параметре fax_to_email.
|