- TZ - часовой пояс, который актуален для сервера.
В нашем случае "Europe/Moscow"
- ADRESS_CRM - доменное имя, которое будет вести на нашу CRM. (На том же сервере что и TD)
ADRESS_TD - доменное имя, которое будет вести на нашу TD. - IP_LOCAL - локальный (серый) адрес нашего сервера.
- IP_GLOBAL - глобальный (белый) адрес нашего сервера.
- TOK - уникальное значение, нужное для формирование уникальный токенов.
TOK должен быть в скобках " ' ' ", их удалять не нужно.
- SIP_SERVER_DOMAIN - доменное имя, которое будет вести на наш SIP сервер. (отделен от CRM и TD)
- SIP_SERVER_PORT - порт SIP сервера, на неизменяемое значение.
- SIP_SERVER_USER_PORT - также порт SIP сервера, неизменяемое значение.
- SIP_SERVER_PROTO - тип соединения с SIP серверов, неизменяемое значение.
4. Перейдем к переменным, которые требуются для баз данных mysql:nano env_mysql.yml
- PASS - пароль администратора для входа на сайт по логину admin
- PASS_HASH - захешированный выше пароль, можно сделать с помощью https://bcrypt-generator.com/HASH должен быть в скобках " ' ' ", их удалять не нужно.
- BUYER_ID - id номер покупателя, его стоит уточнить у сотрудников техподдержки Интерсвязь
- NAME_COMPANY - имя компании.
5. Переходим вновь в папку ansible_crm
cd /opt/ansible_crm
6. Запускаем сценарий.
- Загрузка crm:
ansible-playbook install.yml -i hosts.yml -kK --tags "install"
- Через 5 минут после окончания последнего этапа запускаем новый. Загрузка данных в базу данных: ansible-playbook install.yml -i hosts.yml -kK --tags "dbload"
Инструкция по настройке второго сервера.
На сервере должна быть установлена OS Debian 10 (GNU General Public License),
https://www.debian.org/ Будут установлены следующие пакеты в ходе настройки ПО:
- Извлекаем из архива, скачанного в п.1 инструкции по настройке первого сервера, папку SIP
- В файле hosts в раздел televoip необходимо добавить ip адрес сервера.
- Для разворачивания сервера необходимо добавить файл в playbook\roles\televoip\vars\Host, имя файла в vars/Host/ должно совпадать с hostname на сервере - Особенность работы Ansible (например DOMOFON-SRV2.yml). Содержание файла:
CLIENT_SITE: yes SITE_NAME: 'televoip-core' # сокращённое доменное имя # Как называется файл с переменными. NODE_NAME: televoip1-core # имя сервера REDIS_CACHE: '127.0.0.1' # localhost ASTERISK: USER_AGENT: td_televoip_core DOMAIN: televoip-core.ru # доменное имя сервера UPLINK: NAME: td_televoip_core HOST: televoip-core.is74.ru # доменное имя сервера IP: '10.100.11.118' # "Серый" ip адрес, на котором работает asterisk
KAMAILIO: LISTEN: - { ip: '**.**.**.**', port: '7777', adv_ip: 'televoip-core.ru', kamctlrc: True } # ip: "белый" ip адрес на котором работает kamailio DBS: - { type: mysql, name: MDB_LOCATION, kamctlrc: True, server: 'localhost', db_name: kamailio, rw_user: kamailiorw, rw_password: kamailiorw } - { type: mysql, name: TD_MDB_CRM, server: 'localhost', db_name: kamailio, ro_user: kamailioro, ro_password: kamailioro } # RTPENGINE RTPENGINE: INSTALL: true PORT_MIN: 20000 # min port rtpengine PORT_MAX: 60000 # max port rtpengine INTERFACE: '*.*.*.*' # "белый" ip адрес на котором работает kamailio TIMEOUT: 10 WORKERS: 4 # Задается равным количеству ядер в /proc/cpuinfo SYSTEMD_RESTART: always RTPENGINE_APT_VERSION: '9.2.1' GLOBALS: WITH_LOOPPROTECT_PATCH: False WITH_ASYNC_FRAMEWORK: False DEFINE_RTPENGINE_IP: "'*.*.*.*'" # "белый" ip адрес на котором работает kamailio MEDIASERVER: "'sip:10.100.11.118:5060'" # "Серый" ip адрес и порт, на котором работает asterisk WHITELIST_ID: 1 # Авторизация в API CLIENT_API: SERVER: 'https://crm.testing-pl.is74.ru/api' # url для авторизации в api AUTH_DATA: BUYER_ID: # id (например 56) LOGIN: # логин для авторизации (например: 'user') PASS: # пароль для авторизации (например: 'userpass') SERVER_CRM: 'https://crm.testing-pl.is74.ru/' # url сервера crm # Авторизация в ARI CLIENT_ARI: PASSWORD: '{OLgkjegAEg[kaeg' CRYPTED: '$6$vS3aldKc3mtpZaue$KjRWAq78PnBjkOrtIlCPsRMgfs6FI8gbHu9bDFSacJS/f6xK5j1P4ZxPVRJ9gY741bLAD6UH0EjwNvUqUz5KH.' 4. Для установки необходимого ПО нужно проиграть плейбук с playbook_action=install:
ansible-playbook -u spazm82 --limit=televoip1-core-chel1 -bkK playbooks/televoip.yml -vv -e "playbook_action=install SERVER_ROLE=ASTERISK"
ansible-playbook -u spazm82 --limit=televoip1-core-chel1 -bkK playbooks/televoip.yml -vv -e "playbook_action=install SERVER_ROLE=KAMAILIO"
5. Для конфигурирования сервера (kamailio, asterisk) нужно проиграть плейбук с playbook_action=configure, в результате проигрывания на сервер устанавливаются необходимые конфигурационные файлы, устанавливаются необходимые скрипты:
ansible-playbook -u spazm82 --limit=televoip1-core-chel1 -bkK playbooks/televoip.yml -vv -e "playbook_action=configure SERVER_ROLE=ASTERISK"
ansible-playbook -u spazm82 --limit=televoip1-core-chel1 -bkK playbooks/televoip.yml -vv -e "playbook_action=configure SERVER_ROLE=KAMAILIO"
Клиентская часть в виде Android-приложения.
Для проверĸи работоспособности паĸета требуется мобильный телефон с ОС Android версии не ниже 5.0
Установка пакета.
1. Подĸлючите телефон ĸ ĸомпьютеру.
2. Сĸопируйте файл app-release.apk (извлеченный из архива, скачанного в п.1 инструкции по настройке первого сервера) в ĸаĸую-нибудь папĸу на телефоне, например, Downloads
3. Используя любой диспетчер файлов на телефоне, найти и запустить данный APK. Ввести учётные данные. Логин demotest1, Пароль nh2m66, ид 1