- Вступ
- Сценарій вихідної маршрутизації
- Блок: Визначення набраного номера
- Блок: Набір номера в сценарії
Вступ
На минулому уроці ми розбиралися з прийомом і обробкою вхідних з'єднань, на цьому уроці ми розберемося з вихідними викликами. Всі вихідні дзвінки поділяють на дві групи - вихідні на зовнішні лінії і внутрішні дзвінки (на внутрішні лінії).
В системі Oktell зробити вихідний дзвінок різними способами:
- Коли користувач системи набирає номер зі свого пристрою запускається сценарій IVR вихідної маршрутизації
- Під час перекладу дзвінка використовується сценарій IVR маршрутизації при перекладі дзвінка (якщо він відсутній використовується сценарій виходить маршрутизації)
- Якщо виклик номера відбувається в рамках збору конференції, запускається службовий сценарій набору зовнішніх / швидких номерів (якщо запрошений зовнішній номер) або службовий сценарій набору внутрішніх номерів при запрошенні в конференцію (якщо запрошений внутрішній номер)
- Система може самостійно ініціювати дзвінок, наприклад, через службовий сценарій, сервіс автодозвону або менеджер завдань.
У кожному з цих сценаріїв в першу чергу визначається тип набраного номера: внутрішній або зовнішній. Якщо набраний зовнішній - необхідно визначити по яких лініях піде набір, це потрібно для оптимізації витрат. Наприклад, для здійснення міжміських викликів по всій Росії буде потрібно особливий тарифний план від великого провайдера зв'язку, а дзвінки на мобільні дешевше здійснювати через спеціальну SIM-карту в SIP-GSM шлюзі. Для цього виконуються необхідні перевірки, наприклад на довжину номера, час здійснення дзвінка, виробляються запити в зовнішні сервіси та звернення до баз даних. В результаті визначається вибір напрямку і здійснюється дзвінок. Особливу увагу слід звернути захисту від несанкціонованих дзвінків на міжнародні або платні короткі номери - їх бажано заборонити повністю або встановити пароль доступу.
Сценарій вихідної маршрутизації
IVR сценарій маршрутизації вихідних дзвінків - системний сценарій для набору внутрішніх і зовнішніх номерів користувачами системи. Сценарій запускається під час набору номера з внутрішньої лінії (IP-телефон, гарнітура, USB-телефон).
УВАГА: У цьому і є відмінність, між внутрішніми і зовнішніми лініями. Будь-виклик з зовнішньої лінії потрапляє в IVR сценарій входить маршрутизації, а виклики з внутрішніх ліній - в IVR сценарій виходить маршрутизації.
Починаючи проектування сценарію необхідно взяти до уваги, що більшість IP-телефонів і софтфонів можуть відразу передавати інформацію про набраний номер ще до входу в сценарій, а аналогові телефони і USB-телефони набирають номер вже після з'єднання. Якщо в першому випадку можна визначити набраний номер за допомогою функції «Зовнішній номер (CalledId)", то в другому - доведеться реалізовувати набір номера в сценарії. Таким чином, ми отримуємо наступні блоки:
- 1й блок буде аналізувати чи набраний номер
- 2й дасть можливість здійснити набір номера, якщо пристрій його не передало
- 3й зробить аналіз набраного номера і зробить маршрутизацію за відповідними напрямами.
Розглянемо стандартний сценарій виходить маршрутизації, який включений спочатку в дистрибутив Oktell. Сценарій виглядає наступним чином:
Блок: Визначення набраного номера
Компонент "НОМЕР = CalledID". Визначає набраний номер і зберігає його в змінну.
- Змінної "НОМЕР" (рядок) присвоюємо значення функції CalledID (зовнішній номер)
Компонент "Номер порожньо?". Маршрутизує користувача на блок введення номера, якщо набраний номер порожній.
- Аргумент 1 - змінна "НОМЕР"
- Аргумент 2 - порожній рядок
- Тип порівняння - "="
Якщо рівність не виконається - це буде означати, що якийсь набраний номер існує, ми відразу перейдемо до блоку аналізу набраного номера з наступною маршрутизацією.
Блок: Набір номера в сценарії
Якщо набраний номер дорівнює порожнечі це означає що пристрій ніяку інформацію нам не передало, а значить необхідно вручну організувати набір номера.
Компонент "Починаємо збирати але