User Tools

Site Tools


communigate_pro_2016

Table of Contents

Communigate Pro

Модуль 1. Установка сервера, настройка почты, анти-спам стратегии

Теория

Лабораторные работы

1.1 Установка сервера, Демонстрация стандартных интерфейсов (Pronto, WebUser)

Установка

# wget ftp://www.communigate.com/pub/CommuniGatePro/6.1/CGatePro-Linux-Intel-616.tgz

# tar -xvf CGatePro-Linux-Intel.tgz

Запуск из командной строки

# CGateProSoftware/CommuniGate/CGServer-static --Base /var/CommuniGate --LogAll

Автоматический запуск

Первоначальная настройка

Postmaster Password: xxxxxx
Main Domain Name: corpX.un
Time Zone: Europa/Moscow
Interface: Expert

# cat /var/CommuniGate/Settings/Main.settings

Users->Account Defaults->Mail Settings->Mailbox Storage->New Mailbox Format: Sliced

# cat /var/CommuniGate/Settings/DomainDefault.settings

Settings->Network->Blacklisted IPs->UnBlacklistable (White Hole) IP Addresses: 

172.16.1.0/24

# cat /var/CommuniGate/Settings/WhiteHoles.data

Settings->Network->Client IPs: 

!172.16.1.254
172.16.1.0/24

Создание учетных записей

Users->Domains->corpX.un->Objects->

Create Account: user1
Real Name: Иванов Иван Иванович
CommuniGate Password: cpassword1

Create Account: user2
Real Name: Петров Петр Петрович
CommuniGate Password: cpassword2

# cat /var/CommuniGate/Accounts/user1.macnt/account.settings

Настройка web интерфейсов пользователей

Users->Domains->corpX.un->Domain Settings->Domain Aliases: mail.corpX.un

Settings->Services->HTTPU->Listener
  Port 80 Init SSL/TLS Off
  Port 443 Init SSL/TLS On
  
# cat /var/CommuniGate/Settings/HTTPU.settings

Users->Account Defaults->Preferences
Language: Russian
Layout: Basic

Пользователи->Домены->corpX.un->Объекты->postmaster->Настройки->Язык: ...(English)

Общие почтовые ящики

  • user1:
Папки->Создать->Почтовый Ящик->public1

Папки->pubic1->Управление Папкой

Идентификатор->user2->Все галочки (задание для слушателей - найти описание прав в справке)
  • user2:
Папки->Управление->Псевдонимы Папок

Имя Псевдонима: public1
Имя Папки: ~user1/public1

Доступ администратора к ящикам пользователей

Folders->Management->Folder Aliases

Open Folder: ~user1/Sent Items

1.2 Роутинг почты

Настройка DNS

mail.corpX.un. A 172.16.1.100+X

corpX.un. MX 10 mail.corpX.un.

compX.un. MX 10 mail.corpX.un.

Расширение формата почтовых адресов

gate.isp.un% mail public1#user1@corpX.un

Использование утилиты mail

mail.corpX.un# file /usr/bin/mail
/usr/bin/mail: symbolic link to /opt/CommuniGate/mail

mail.corpX.un# echo Hello | mail -s Hello public1#user1@corpX.un

Преобразование адресов правилами маршрутизации

Направление публичной почты в соответствующий ящик

Settings->Router
...
<public1@corpX.un> = public1#user1@corpX.un
...

Замена домена компании

Settings->Router
...
<*@compX.un> = *@corpX.un
...

1.3 Различные методы борьбы со спамом, подкручиваем сервер

Настройка параметров приемника SMTP

Settings->Mail->SMTP->Receiving
Verify
  Return-Path for: ...
  Check SPF records: ...
Non-Client Sender
  Delay Prompt for: 10

Тестирование параметров приемника SMTP

gate.isp.un% mail user1@corpX.un

gate.isp.un% tail -f /var/log/maillog

Использование технологии Honeypot

Settings->Router
...
<director> = spamtrap
...

gate.isp.un% mail user1@corpX.un director@corpX.un

1.4 Сертификаты безопасности, обслуживание нескольких доменов одновременно

Создание сертификата TLS для домена corpX.un

Устанавливаем в базу данных доверенных сертификатов серверов

Users->Domains->corpX.un->Security->SSL/TLS
PKI Services: Enable
Private Key 
Key Size: 1024
Generate Key
Certificate Generator
Common Name: *.corpX.un
Country: RU
State/Province: Moscow region
City: Mosсow
Organization: cko
Unit: noc
Contact: postmaster@corpX.un
Generate Self Signed

Использование S/MIME

Пользователь postmaster создает у себя в интерфейсе сертификат для подписи и шифрования и отправляет подписанное письмо по адресу user1@corpX.un

Подделать текст письма можно:

# vim /var/CommuniGate/Accounts/user1.macnt/INBOX.mbox

  или

# vim /var/CommuniGate/Accounts/user1.macnt/INBOX.mslc/data1

Настройка DNS и маршрутизации почты

mail.compX.un. A 172.16.1.200+X

compX.un. MX 10 mail.compX
Settings->Router
; <*@comp8.un> = *@corp8.un

Настройка дополнительного ip адреса (ip alias) в ОС

Создаем второй домен compX.un

Users->Domains->CreateDomain->compX.un

Users->Domains->compX.un->Domain Settings->Domain Aliases: mail.compX.un

Для поддержки SSL/TLS привязываем домены к разным адресам сервера

Users->Domains->compX.un->Domain Settings->Assigned IP Addresses->[172.16.1.200+X]

Users->Domains->corpX.un->Domain Settings->Assigned IP Addresses->[172.16.1.100+X], [127.0.0.1]

Создаем пользователя в новом домене и назначаем ему права администратора

Users->Domains->compX.un->Objects->Create Account: user3

Real Name: Сидоров Сидор Сидорович
CommuniGate Password: cpassword3

Users->Domains->compX.un->Objects->user3->Settings->
Access Rights->Can Modify This Domain and its Accounts Settings
!!!И Все галочки TABом и пробелом!!!

# less /var/CommuniGate/Domains/compX.un/Settings/access.settings

Логинемся как user3 из домена compX.un и управляем доменом

http://mail.compX.un:8010/

Безопасность->SSL/TLS->Генератор Сертификатов->Имя-Идентификатор: *.comp20.un

Модуль 2. Управление пользователями, внешняя аутентификация, внешние фильтры

Теория

Лабораторные работы

2.1 Регистрация учетных записей пользователей

Создаем шаблон нового пользователя

Users->Account Defaults

Users->Domains->compX.un->Objects->Template

Использование CLI

shell> telnet mail.corpX.un 106

или

shell> nc mail.corpX.un 106
USER postmaster

PASS Pa$$w0rd

NOTIMEOUT

LISTACCOUNTS corpX.un

GETACCOUNTSETTINGS user1

GETACCOUNTDEFAULTS corpX.un

GETACCOUNTEFFECTIVESETTINGS user1

GETACCOUNTINFO user1

GETACCOUNTINFO user3@compX.un

CREATEACCOUNT user4 {Password = "cpassword4";RealName = "Кошкин Василий Муркович";}

QUIT

Создаем пользователя через CLI

Создаем пользователя через файл со списком

Примечание: использовать кодировку utf-8 и табуляцию между столбцами

Name	RealName	Password
user3	'Сидоров Сидор Сидорович'	cpassword3

2.2 Внешняя аутентификация, скрипт для AD

Аутентификация с созданием пользователя

  • Добавляем в домен пользователей user3/Pa$$w0rd3 (Sidor S. Sidorov)
  • Добавляем в AD DNS хост mail.corpX.un
  • Устанавливаем хелпер и необходимые компоненты
# ldapsearch -x -D "cn=Administrator,cn=Users,dc=corpX,dc=un" -W -h server -b "dc=corpX,dc=un" "sAMAccountName=user3"

# wget http://www.stalker.com/CGPerl/CLI.pm

# mv CLI.pm /etc/perl/

# apt-get install libauthen-simple-ldap-perl

# wget http://www.communigate.com/CGAUTH/authLDAPNewAD.pl
  • Настраиваем хелпер
# cat authLDAPNewAD.pl
...
my %domains=( # e-mail domains
  'corpX.un' => {
    address=>'172.16.1.X',  #the address or IP of LDAP server
    port=>389,  # LDAP port, 389 by default
    timeout=>5, # timeout in seconds, 20 by default
    adminDN=>'CN=Administrator,CN=Users,DC=corpX,DC=un',     # the DN for admin bind
    adminPassword=>'Pa$$w0rd',

    searchBase=>'CN=Users,DC=corpX,DC=un',
    searchFilter=>'(&(sAMAccountName=<user>)(objectclass=*))',
    updatePasswords=>1,  #if need to update CommuniGate internal password
  },
);

my $CGServerAddress =  '127.0.0.1';   # You should redefine these values
my $CLILogin = 'postmaster';
my $CLIPassword = 'Pa$$w0rd';
...
# chmod +x authLDAPNewAD.pl
  • Подключаем хелпер к CGP
Settings->General->Helpers->External Authentication

Program Path: /root/authLDAPNewAD.pl
или
Program Path: C:\Perl\bin\perl C:\var\CommuniGate\authLDAPNewAD.pl

Users->Domains->corpX.ru->Domain Settings
Consult External for Unknown: Yes
Consult External on Provision: Yes

Users->Domains->corpX.un->Account Defaults->Settings
External Password: Enabled

SSO AD аутентификация

C:\>ktpass -princ imap/mail.corpX.un@CORPX.UN -mapuser cgatepro -pass Pa$$w0rd -out keytab.data -crypto RC4-HMAC-NT -ptype KRB5_NT_SRV_HST
  • Перенос ключа принципала в CGP (Users→Domains→corpX.un→Security→Kerberos)
  • Входим в домен как user3 с рабочей станции client1

2.3 Использование Communigate в качестве информационной системы

LDAP

Задача: использование адресной книги imap/pop3 клиентами

  • Включаем синхронизацию объектов домена с каталогом
Users->Directory Integration->Domain Subtree->Create It

Directory->Browser
  • Чтение данных с аутентификацией

FreeBSD:

# setenv LDAPTLS_REQCERT never
  или
# pkg install ca_root_nss
# setenv LDAPTLS_CACERT /usr/local/etc/ssl/cert.pem

Linux:

# export LDAPTLS_REQCERT=never

Linux/FreeBSD:

# ldapsearch -x -D "user1@corpX.un" -W -b"cn=corpX.un" -H ldaps://mail.corpX.un:636 
  • Разрешаем читать публичные данные без аутентификации
Directory->Access Rights

Name: ReadAll
Bind DN: anyone
  • Добавление атрибутов
Directory->Units->Main->Schema

Users->Directory Integration
Public Info: telephoneNumber

RADIUS

Задача: Аутентификация доступа пользователей в Internet

  • Включаем и настраиваем сервис в CGP
Settings->Services->RADIUS
Password: testing123
Channels: 3
Listener
Port: 1812
  • Тестирование
# radtest user1 'cpassword1' mail.corpX.un 0 testing123

2.4 Фильтрация писем, почтовые правила

Задача: сохранять всю исходящую почту в особой папке у системного администратора или у сотрудника, отвечающего за безопасность.

Задача: организовать коллективный почтовый ящик без использования маршрутизации

  • На уровне сервера создаем алиас для user1:
Settings->Router
...
; <public1@corpX.un> = public1#user1@corpX.un
...

Users->Domains-corpX.un->Objects->user1->Settings
Aliases: public1
  • На уровне user1 создаем правила:
Управление Почтой
  Добавить Правило: Move to public1
  Изменить
    Любой Кому/Копия: равно *public1*
    Записать в: public1
    Выбросить

Задача: организовать список рассылки с фиксированным списком чиcлом участников

Создаем группу public2 с пользователями user1 и user2
  Set Reply-To to Group: no

GETSERVERMAILRULES
200 data follow
(
  (
    6,
    mark_to_noc,
    ((Subject, "is not", "*[public2]*"), ("Any To or Cc", is, "*public2@corpX*")),
    (("Tag Subject", "[public2] ")),
    "Помечаем тему всех писем, идущих в группу"
  ),
  (
    4,
    replace_from_noc,
    ((Subject, is, "*[public2]*"), (To, "is not", "*public2@corpX*")),
    (("Add Header", "Reply-To: public2@corpX.un")),
    "Устанавливаем Reply-To в группу для всех ответов из группы"
  )
)

2.5 Внешние фильтры для писем, устанавливаем антиспам

Установка антивируса

Подготовка clamd для использования с CGP

# aa-disable usr.sbin.clamd

# /etc/init.d/apparmor restart

# usermod clamav -G root

# service clamav-daemon restart

# clamdscan /var/CommuniGate/virus.zip

Компиляция, настройка и тестирование хелпера

# wget http://program.farit.ru/antivir/cgpav-1.4.tar.gz

# tar -xvf cgpav-1.4.tar.gz

# cd cgpav-1.4/

# ./configure --with-antivirus=clamav --with-spamassassin=no --with-cgpro_dir=/var/CommuniGate

# make && make install

# cat /var/CommuniGate/Settings/cgpav.conf
...
clamd_socket = /var/run/clamav/clamd.ctl
...

# /var/CommuniGate/cgpav
1 FILE virus.zip
1 DISCARD

Подключение хелпера к CGP

Settings->General->Helpers->Content Filtering
Enabled: Clamav
Program Path: /var/CommuniGate/cgpav

Включение хелпера с помощью глобальных правил обработки почты

Settings->Mail->Rules
Name: Clamav
Action: ExternalFilter
Parameter: Clamav

2.6 Использование CGP в качестве пограничного сервера

Для домена compX пользователи которого заведены на сервере преподавателя

Settings->Router
...
<*@comp1.un> = *%comp1.un@isp.un.25.via
...

Модуль 3. SIP, PBX, встроенные приложения, номерной план, пример своего приложения

Теория

  • Общие принципы организации звонков (SIP + Media);
  • Сигналы в Communigate Pro;
  • PBX приложения и PBX среда;

Лабораторные работы

3.1 Локализация PBX

Users->Domains->corpX.un->PBX->Create Custom Enviroment

Languages->Create: Russian

select russian

Download ftp://ftp.stalker.com/pub/stuff/noarch/pbx_russian_files_51.zip

!!! Upload tar файлов из архива !!!

# ls CGateProSoftware/CommuniGate/PBXApps/

# ls /var/CommuniGate/Accounts/PBXApps

3.2 Таблица маршрутизации применительно к SIP, номерной план

Через таблицу маршрутизации

S:<6363@*> = gatewayincoming{pbx,media}#pbx

Организация внутреннего плана нумерации

Users->Domains->corpX.un->Objects->user2->Settings
Aliases: 402

Информация о регистрации SIP пользовательского оборудования

Users->Domains->corpX.un->Objects->user1->Status

или

GETACCOUNTINFO user1 KEY SIPContacts
200 data follow
(
  {
    "" =  "sip:user1@195.19.35.219:5060";
    @regdata =  {
      Allow =  (ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER);
      CSeq =  #68190;
      Call-ID =  3498b62-d4014eab@195.19.35.219;
      Supported =  (x-sipura);
      User-Agent =  "Linksys/SPA3102-3.3.6(GW)";
    };
    Expires =  #T14-10-2014_05:30:41;
  }
)

CDR

Settings->Real-Time->Signals
   Record Call CDRs: yes

# ls /var/CommuniGate/SystemLogs/CDRs/

3.3 Правила для голоса

Settings->Router
...
Signal:<echotest@*>  = echotest#pbx@localhost  ; testing address
...

pbx - пользователь

Users->Domains->corpX.un->Objects->pbx->Settings->Access Rights

  Can Modify This Domain and its Accounts Settings
    Can Access All Files
    Can Impersonate
    Can Administer Other Domains

3.4 Встроенные приложения

IVR

Users->Domains->corpX.un->Object->pbx->Real-Time->Advanced

Department Menu: Custom: techsupport conference
Directory Prefix: 4   - с какой цифры внутренний план нумерации
Directory Digits: 3   - длина номера внутреннего плана нумерации
пункт techsupport - можно заменить на свое название, например abcd
для озвучивания пункта необходимо загрузить файл forabcd.wav через
Users->Domains->corpX.un->PBX
Для пере направления вызова сотрудникам необходимо включить их в одноименную с пунктом меню группу.

Users->Domains->corpX.un->Objects->Create Group: techsupport
Members: user1
Members: user2

Голосовая почта

Пользователю необходимо позвонить на свой номер и записать приветствие, 
далее из своего веб интерфейса выполнить:

Управление Звонками->Голосовая Почта->После: 10 сек

Голосовые конференции

Вариант1: Позвонить на номер 200, создать конференцию, получить по почте номер конференции, разослать этот номер всем участникам, через номер 200 подключиться вместе со всеми.

GETACCOUNTINFO pbx KEY Meetings
...

Вариант2: Создать событие, у которого место проведения (Location) установлено в phone или conference, а в качестве участников перечислены аккаунты.

GETACCOUNTINFO user1 KEY Meetings
...

3.5 Пишем свое небольшое приложение

Hello World по номеру 301

Users->Domains-corpX.un->PBX->russian
  Upload File: sayhello.sppr

или

# cat /var/CommuniGate/Accounts/PBXApps/russian/sayhello.sppr
entry main is
  var errCode = AcceptCall();
  if isString(errCode) then
    syslog("Failed to accept the call: " + errCode);
  else
    PlayFile("blank", 500); // 0.5 sec of silence
    PlayFile("Welcome");
  end if;
end entry;
Users->Domains-corpX.un
  Create Forwarder: 301
  Forward To: sayhello#pbx

pbx - имя аккаунта от которой запускается приложение sayhello

Тоже Hello World, но с CallBack

# cat /var/CommuniGate/Accounts/PBXApps/russian/sayhello_cb.sppr
entry main is
  var data = Vars().startParameter[0];
  syslog("Will call to " + ObjectToString(data));
  var errCode = StartCall(EmailToSIPURI(data));
  if isString(errCode) then
    syslog("Call failed: " + errCode);
    stop;
  end if;
  loop
    data = ReadInput(10);
  exitif isCallCompletedEvent(data);
  end loop;
  if isConnected() then
    PlayFile("blank", 500);
    PlayFile("welcome");
    PlayFile("blank", 500);
    PlayFile("goodbye");
  end if;
end entry;
STARTPBXTASK pbx PROGRAM sayhello_cb PARAM ("401")

Модуль 4. Работа с внешними SIP шлюзами, объединение двух IP АТС

Теория

Лабораторные работы

4.1 Роутинг SIP-звонков с аутентификацией на стороннем сервере — обычно это SIP провайдеры

Организация исходящих вызовов в PSTN

Settings->Router
...
<8916(7d)@*>    = 8916*@telnum
<8495(7d)@*>    = 8495*@telnum
<8499(7d)@*>    = 8499*@telnum
;<+(7-20d)@*>         = +*@telnum               ; +nnnnn calls -> to telnum
;...
...
Signal:telnum        = pstn                    ; unknown telnum -> PSTN
Signal:<*@pstn>      = gatewaycaller{*}#pbx    ; start 'gatewaycaller' app
...

Users->Account Defaults->PSTN
  или
Users->Domains->corpX.un->Account Defaults->PSTN
  или
Users->Domains->corpX.un->Objects->user1->Real-Time->PSTN

Gateway Domain: voip1.un
Name for Gateway: 00000X
Password for Gateway: spasswordX

Организация входящих вызовов из PSTN

Users->Domains->corpX.un->Objects->pbx->Real-Time->RSIP
Name: voip1
Register Every: 5 min
Account: 00000X
at Host: voip1.un
Authentication Name: 00000X
Password: spasswordX
Target:

GETACCOUNTRSIPS pbx
200 data follow
{
  sipnet =  {
    authName =  00000X;
    domain =  voip1.un;
    fromName =  00000X;
    password =  spasswordX;
    period =  5m;
  };
}


Users->Domains->corpX.un->Objects->pbx->Real-Time->Incoming Call Rules->Edit
Redirect To is #pbx
Комментарии службы поддержки по поводу реальной строки регистрации:

gatewayincoming--pbx--val.bmstu.ru%23pbx@195.19.32.125 CommuniGatePro-callLeg/6.0.9

Я: gatewayincoming - видимо приложение?

СП: Да, аналогично приёму звонка через gatewayincoming{pbx@val.bmstu.ru,media}#pbx@195.19.32.125, то есть: доставить INVITE в аккаунт pbx домена, которому принадлежит (в настройках CGPro, не в DNS!) IP 195.19.32.125 и от его имени выполнить скрипт, передав ему pbx@val.bmstu.ru в качестве параметра. Скрипт реализует B2BUA: терминирует входной звонок, создёт задачу, которая инициирует исходящий звонок на URI из параметра, потом устанавливает между задачами мост (стандартная библиотечная функция в PBX среде для этого лежит в callerleg.sppi). B2BUA нужен для изоляции SIP диалогов (например, REFER от одной из сторон дальше принявшего плеча не уйдёт, переключение будет сделано внутри B2BUA) и специальной обработки медиа параметров: прксировать медиа или использовать миксер для полной терминации во избежание re-INVITE в сигнальном плече.

4.2 Роутинг SIP-звонков без аутентификации (2-ая лабораторная) — обычно это сервера под нашим контролем или очень примитивные шлюзы

Модуль 5. IM

Теория

Лабораторные работы

Клиентские программы

Pidgin 2.7.1. Так же хорошо работает Psi, Thunderbird (проблема только убедить его поверить самоподписанному клиенту), на Маке - Adium, на мобильных - BeeJive.

CGP и шлюз в ICQ

Нужен внешний шлюз, который регистрируется в CGPro <http://www.communigate.com/CommuniGatePro/XMPP.html#Components> Мы в тестах использовали JBuddyXMPPGateway <http://www.zionsoftware.com/products/xmpp-gateway/>.

Далее, XMPP клиент, которым пользуется пользователь CgPro, должен тоже поддерживать XEP-0114 (Psi точно поддерживает) и в рамках XMPP сессии предлагать пользователю ввести данные аутентификации в другой системе.

Модуль 6. Web интерфейсы и их модификация

Теория

Лабораторные работы

6.1 Заменяем логотип в стандартном интерфейсе

На уровне сервера:
Users->Skins

На уровне домена:
Users->Domains->corpX.un->Skins->Create Custom Unnamed Skin

Upload File: logo.gif 

# ls /var/CommuniGate/WebSkins/logo.gif
# ls /var/CommuniGate/Accounts/WebSkins/logo.gif

6.2 Заменяем строку на английском и на русском

# cat /var/CommuniGate/Accounts/WebSkins/strings.data
...
  LoginTag1		= "...";
  LoginTag2		= "...";
...
# ls /var/CommuniGate/Accounts/WebSkins/russian.data
...
  LoginTag1		= "...";
  LoginTag2		= "...";
...

6.3 Создаем свой skin и добавляем какую-нибудь совершенно новую ссылку в интерфейс

Users->Domains->corpX.un->Skins->Named Skins->Create: mySkin

# cat /var/CommuniGate/Accounts/WebSkins/mySkin/navigation.wssi
...
  <td nowrap="nowrap"><a href="mailbox.wssp?mailbox=INBOX&">%%HTML:SETTINGS("InboxDisplay")%%</a></td>
  <td nowrap="nowrap"><a href="mailbox.wssp?mailbox=Sent Items&">Sent Items</a></td>
...

6.4 Создание персональных страниц пользователей

“Request Size Limit:” в Settings→Services→HTTPU, поставьте его в unlimited

Доступ: http://corpX.un/~user1

Местоположение и файл по умолчанию

# cat /var/CommuniGate/Accounts/user1.macnt/account.web/default.html

Доступ по имени http://user1.corpX.un (http://www.communigate.com/CommuniGatePro/russian/HowTo.html#WebURL)

Settings->Router
...
mail.corpX.un = corpX.un

*.corpX.un = *@fict
<LoginPage%*@fict> = *

6.5 CGP CGI на CG/PL

Приложение Web Callback

STARTPBXTASK pbx PROGRAM rendezvous PARAM ("401","8916XXXXXXX")
Users->Skins->Upload File: webcallback.wcgp

или

# cat /var/CommuniGate/WebSkins/webcallback.wcgp
entry sysEntry is

  SetHTTPResponseType("text","html");
  SetHTTPResponseCode(200);

  var phone = GetHTTPParameter("phone");
  var operatorphone = "401";
  var data = "";
  var cmd = "";
  
  if not isString(phone) 
  then 
    data = "<h1>Enter phone number</h1><form action=webcallback.wcgp><input name=phone><input type=submit></form>"; 
  else
	cmd = "STARTPBXTASK pbx PROGRAM rendezvous PARAM(\"" + phone + "\",\"" + operatorphone + "\")";
    data = "<h1>Waiting call on phone " + phone + "</h1>";
    var errCode = ExecuteCLI(cmd);
  end if;

  SetHTTPResponseData(data);
end entry;
http://mail.corpX.un/sys/webcallback.wcgp

Модуль 7. Мониторинг

Управление подключениями

Monitors->Access->Sessions

KILLACCOUNTSESSIONS user1

Анализ журналов

Monitors->Logs

# tail -f /var/CommuniGate/SystemLogs/`date '+%Y-%m-%d'`.log

Использование триггеров

HTTP SMS шлюзы

Settings->General->Triggers
  Events
    httpAdminAuthFailed:  ...
    failedAUTHs:  ...
  Handlers
    Send URL: https://rest.nexmo.com/sms/json?api_key=e5610a90&api_secret=1d98ff2a&from=NEXMO&to=79164115716&text=mail.corpX.un+par+^0+val+=+^2

Параметр ^1 возвращает строку с пробелом, которая некорректно передается от CGP к NEXMO

Отправка SMS по SMPP

Надо прописать его в Settings → Real-Time → SMPP server smpp0.nexmo.com:8000, SystemID и Password - из аккаунта на nexmo (api_key и api_secret).

GETMODULE SMPP

Использование custom счетчиков

my $error = $cli->SendCommand('SetStatElement 1.3.6.1.4.1.5678.2.1.1000.1 SET '.$value);

Использование snmp

Использование в качестве syslog сервера

Cluster

communigate_pro_2016.txt · Last modified: 2020/05/07 11:17 by val