Asterisc ShanSpy

Asterisk налаштування ChanSpy

  Функція ChanSpy (шпигун) в Elastix (FreePBX) за замовчуванням доступна на номері 555, змінити або відключити її можна в меню Feature Codes (рис.1 і рис.2). За допомогою даної функції можна прослуховувати поточні розмови, для цього набираємо номер 555 і система підключитися до вибраного випадковим чином активному каналу. При цьому ми можемо скористатися наступними доп. функціями:

# - збільшення звуку по колу;

* - перехід до наступного активного каналу, якщо такий є.

Мал. 1
Мал. 2

Для більшості власників АТС такого функціоналу буде цілком достатньо, хтось і зовсім цим не користується. Однак далеко не всі знають про всі можливості цієї функції, і в цій статті ми не просто опишемо їх, а й докладно розглянемо варіанти налаштувань з прикладами.

Найбільш популярне питання від тих, хто знає про цю функцію - як налаштувати шепіт в Asterisk? Припустимо у вас є менеджер-стажист, що бідує в контролі. Ви хочете засобами АТС організувати підключення до його розмови з потенційним клієнтом більш досвідченого співробітника, який зможе чути переговори, підказувати стажисту, але при цьому клієнт підказки чути не буде. Це, власне, і є шепіт. Щоб реалізувати такий функціонал, необхідно внести корективи в конфігураційний файл extension_custom.conf. Редагувати цей файл можна з командного рядка (версія asterisk повинна бути вище 1.6):

$ nano /etc/asterisk/extension_custom.conf

або в web інтерфейсі Elastix, розділ tools:

Мал. 3

Припустимо, що номер у стажиста 101, додамо в файл такий рядок:

exten => 555101,1,ChanSpy(SIP/101,wqv(-1)

після цього зберігаємо файл і робимо reload налаштувань.

Мал. 4

Тепер топ-менеджер може набрати номер 555101 і підключитися до лінії 101 в режимі "нашіптування". Підключення відбувається примусово, тобто навіть якщо номер 101 не розмовляє, ми все одно підключаємося і слухаємо "тишу", поки не з'явиться активний дзвінок. Номер 555 101 може бути будь-яким, як ви розумієте, тобто рядок:

exten => *7,1,ChanSpy(SIP/101,wqv(-1)

буде працювати так само, тільки набирати потрібно буде код * 7, тут вже як вашій душі буде завгодно! Таких рядків можна написати кілька, скажімо, у вас 3 стажера з номерами 101,102 і 103, тоді додамо такі рядки:

exten => 555101,1,ChanSpy(SIP/101,wqv(-1)

exten => 555102,1,ChanSpy(SIP/102,wqv(-1)

exten => 555102,1,ChanSpy(SIP/103,wqv(-1)

Як ви помітили, ми використовуємо ключі wqv (-1), вони означають наступне:

w - режим шепоту, ви чуєте обох учасників, вас чує тільки 101;

q - тихий режим, з цим ключем підключення не анонсується звуковим сигналом;

v(+/- n) - гучність шепоту, (-1) означає тихіше на один тон (діапазон від 4 до -4);

Є й інші ключі, їх можна змінювати і комбінувати, наприклад:

W - приватний шепіт, шпигун не чує розмову, але може "прошепотіти" якусь важливу фразу (наприклад офіс менеджер

d - режим ручного перемикання між прослуховуванням: 4 - прослуховування, 5 - шепіт, 6 - обидва канали;

b - можливість прослуховувати канали, які мають двох і більше абонентів, з'єднаних між собою (аудіо-

B - прослуховування та участь в обох каналах;

g - змушує використовувати групу. Читає $ {SPYGROUP} і сканує виклики тільки з цієї групи;

r - дозволяє записувати всю розмову.

Всі інші функції можна вивчити після виведення команди:

*CLI > core show application ChanSpy

А як бути, запитаєте ви, якщо операторів в вашому call центрі 50 або 200, для кожного прописувати рядок досить клопітно, тому ми напишемо свій контекст. Отже, давайте зробимо так, щоб можна було набрати код + номер лінії, яку хочемо слухати. У файлі extensions_custom.conf створимо рядок include => app-custom-chanspy і в кінці запишемо:

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,) # определим номер и имя

exten => _555.,n,Answer # ответ

exten => _555.,n,NoCDR # без записи в CDR

exten => _555.,n,Wait(1) # затримка 1 секунда

exten => _555.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1) # опис функції

exten => _555.,n,Hangup # звільняємо лінію

 

Зберігаємося і робимо reload. Тепер після набору 555 і будь-якого номера, наприклад 101 (тобто набираємо 555 101), система підключить нас до лінії 101 і, завдяки ключу d, ви зможете перемикатися між режимами цифрами 4,5,6.

Якщо необхідно моніторити тільки певні лінії, наприклад номер 200, тоді діалплан буде виглядати так:

 

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,)

exten => _555.,n,Answer

exten => _555.,n,NoCDR

exten => _555.,n,Wait(1)

exten => _555.,n,ChanSpy(SIP/200,qdv(-1)

exten => _555.,n,Hangup

 

Таким чином, система дозволить підключитися тільки до номера 200, набравши 555200, інші номери будуть нам недоступні.

Щоб дозволити користуватися функцією тільки c певних номерів, необхідно прописати:

 

[app-custom-chanspy]

exten => _555./_30X,1,Macro(user-callerid,)

exten => _555./_30X,n,Answer

exten => _555./_30X,n,NoCDR

exten => _555./_30X,n,Wait(1)

exten => _555./_30X,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _555./_30X,n,Hangup

 

в такому випадку цей діалплан буде доступний тільки номерами 300-309, іншим же при спробі набору 555 + номер буде програно повідомлення про неможливість набору номера!

Аналогічно можна зробити ще варіанти:

 

exten => _555./301,1,Macro(user-callerid,) - дозволено підключатися з номера 301

exten => _555./_[23]10,1,Macro(user-callerid,) - дозволено номерами 210 і 310

exten => _555./_[3456789]XX,1,Macro(user-callerid,) - дозволено номерами 300-999

 

Для безпеки і попередження несанкціонованих "шпигунів" можна встановити пароль на користування функцією ChanSpy:

 

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,)

exten => _555.,n,Authenticate(847596)

exten => _555.,n,Answer

exten => _555.,n,NoCDR

exten => _555.,n,Wait(1)

exten => _555.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _555.,n,Hangup

 

тепер, щоб скористатися функцією прослуховування, необхідно буде ввести пароль 847596. При цьому необхідно пам'ятати про те, що є стандартний код 555, його необхідно відключити в налаштуваннях Feature Codes, або додати окремо захист на нього в extension_custom.conf:

; Password Protect Channel Spy - захист паролем

exten => 555,1,Authenticate(12121,5)

exten => 555,n,Goto(app-chanspy,${EXTEN},1)

exten => 555,n,Hangup

 

До речі, при бажанні на різні функції можна призначити різні коди, наприклад:

 

[app-custom-chanspy]

; просте прослуховування

exten => _550.,1,Macro(user-callerid,)

exten => _550.,n,Answer

exten => _550.,n,NoCDR

exten => _550.,n,Wait(1)

exten => _550.,n,ChanSpy(SIP/${EXTEN:3},qv(-1)

exten => _550.,n,Hangup

 

 

; шепот

exten => _551.,1,Macro(user-callerid,)

exten => _551.,n,Answer

exten => _551.,n,NoCDR

exten => _551.,n,Wait(1)

exten => _551.,n,ChanSpy(SIP/${EXTEN:3},wqv(-1)

exten => _551.,n,Hangup

 

;оба канала

exten => _552.,1,Macro(user-callerid,)

exten => _552.,n,Answer

exten => _552.,n,NoCDR

exten => _552.,n,Wait(1)

exten => _552.,n,ChanSpy(SIP/${EXTEN:3},qBv(-1)

exten => _552.,n,Hangup

 

; ручний вибір режимів

exten => _553.,1,Macro(user-callerid,)

exten => _553.,n,Answer

exten => _553.,n,NoCDR

exten => _553.,n,Wait(1)

exten => _553.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _553.,n,Hangup

 

Якщо вам все-таки не вистачає безпеки для налаштованої функції, можна налаштувати повідомлення на e-mail подій користування chanspy. Кожен раз, коли хтось набирає чарівний номер, вам на пошту приходить повідомлення хто дзвонив і коли. Таким чином, ви зможете моніторити використання даної функції. У складений раніше діалплан необхідно додати такий рядок:

exten => 555,n,System(/bin/echo «Номер: ${CALLERID(num)}\nВремя вызова: ${STRFTIME(${EPOCH},,%H:%M:%S)}» | mail -s «Звонок на ChanSpy» [email protected])

На прикладі це буде виглядати так:

[app-custom-chanspy]

exten => _555.,1,Macro(user-callerid,)

exten => _555.,n,Authenticate(847596)

exten => _555.,n,Answer

exten => _555.,n,NoCDR

exten => _555.,n,System(/bin/echo «Номер: ${CALLERID(num)}\nВремя вызова: ${STRFTIME(${EPOCH},,%H:%M:%S)}» | mail -s «Звонок на ChanSpy» [email protected])

exten => _555.,n,Wait(1)

exten => _555.,n,ChanSpy(SIP/${EXTEN:3},qdv(-1)

exten => _555.,n,Hangup

 

Ну ось, власне, і все! Успіхів!

 

8 думки про “Asterisk настройка ChanSpy”

  1. Спасибо за статью!
    Единственное чего я не понимаю, так это как пользоваться параметром «g» . Если не сложно, приведите пример.

    1. Владимир, спасибо за отзыв. Использование опции g позволяет нам разбить extensions на группы. Для этого нужно каждому присвоить значение ${SPYGROUP}. Например операторы — группа 1, технический отдел — группа 2, руководители — группа — 3 и т.д. Таким образом мы изолируем группы от сканирования и прослушивания. Это актуально для крупных call центров.

      1. Добрый день, подскажите пожалуйста как необходимо присвоить ${SPYGROUP} для определенных групп? Т.е у меня есть операторы группы 1 и группы 2, в эти группы необходимо назначить определенные extensions. Спасибо Вам заранее!

        1. Сергей

          Как-то так:

          ;Dialing either 8810, 8820 and 8830 will all match this SIP call
          exten => 1000,1,Set(SPYGROUP=10:20:30)
          exten => 1000,2,Dial(SIP/1000@somewhere)
          exten => _88XX,1,Chanspy(|g(${EXTEN:2}))

  2. g — продолжить выполнение диалплана на следующем приоритете в текущем расширении, если канал назначения вешает трубку.

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

C-Tech logo

Отримайте безкоштовну консультацію

Заповніть форму і ми обов'язково з вами зв'яжемось