2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00
2025-08-03 17:35:11 +03:00

  1. Добавить пользователя в систему Asterisk

    1. В файл /etc/asterisk/manager_custom.conf добавить следующий текст:

      [medods]
      secret = 2H4x9#87A%D3
      read = all
      

      [medods] - имя пользователя (AMI_USER) secret - пароль пользователя (AMI_PASSWORD) read = all - права на чтение всех событий AMI Asterisk

    2. Применить новые настройки. Выполнить команду:

      asterisk -rx "core reload"
      
  2. Подготовить файлы конфигурации модуля интеграции

    1. Изменить файл .env при необходимости:

      AMI_HOST=127.0.0.1
      AMI_PORT=5038
      AMI_USER=medods
      AMI_PASSWORD=2H4x9#87A%D3
      # Фильтр для обработки входящих звонков по каналу поступления. Для использования нескольких каналов: вписать через ", " (запятая и пробел)
      AMI_CHANNEL_FILTER=["SIP/78162782020", "SIP/8162787820"]
      # Для обработки всех входящих звонков без фильтра по каналу поступления оставить значение переменной пустым
      # AMI_CHANNEL_FILTER=
      # Сервер для получения записей звонков в формате mp3. (Дополнительный модуль)
      RECORDS_SERVER=http://192.168.75.10:3050/
      MEDODS_SERVER=http://192.168.75.248:3000/api/v2/telephony/common
      # Версия авторизации на сервере Medods. На 25-08-2024 используется версия "V1". 
      # Указывать только цифровое обозначение версии
      MEDODS_AUTH_VERSION=1
      # API Токен для версии V1. Актуален на 01-08-2025
      MEDODS_V1_TOKEN=NjYzNWU5Y2EyYmU2NWQzYWI4ZGZjZG
      # Данные файла apiKey.csv для версии V2. Актуальны на 25-08-2024
      MEDODS_V2_IDENTITY=ddf28e8a-e6e5-449e-a927-48c0e0cebc13
      MEDODS_V2_SECRETKEY=b4bd5fafe883069f02c32ce0c9b2ba0c89e5caae42bc43852a058dbfe752ba8d
      # Включение логирования событий в файлы. Если файлы не требуются: закомментировать параметр или вписать "false"
      # DEBUG=true
      
    2. Отредактировать файл redirect.json при изменении сотрудников регистратуры:

      {
          "10": [99],
          "12": [99],
          "13": [99]
      }
      

      В ковычках записаны номера телефонов из очереди Asterisk В квадратных скобках список ID телефонии сотрудников из списка "Сотрудники" "Медодс", которые могут отвечать на этом номере телефона. Для внесения нескольких значений нужно добавить необходимое количество данных через ", " (запятая и пробел)

  3. Настройки модуля интеграции

    1. Требования: Python версии не менее 3.10, рекомендуемая версия: 3.12

    2. Основной файл для запуска: "main.py"

    3. Логирование

      1. Консоль С выключенным параметром DEBUG в консоль будут фиксировать короткие сообщения по каждому этапу звонка Со включенным параметром DEBUG в консоль будет добавлена информация по отправляемым на сервер Медодс запросам и полученным от него ответам

      2. Файлы С выключенным параметром DEBUG никакие файлы записываться не будут Со включенным параметром DEBUG в папке "log" (будет создана, если отсутствует) будут создаваться следующие файлы:

        1. medods.log - копия информации, направляемой в консоль
        2. <дата>.log - вся информация, получаемая от AMI Asterisk
        3. <дата>/<уникальный номер звонка>.log - информация, получаемая от AMI Asterisk только по уникальному звонку
  4. Linux Service. Для автоматического запуска и перезапуска сервиса модуля интеграции необходимо выполнить следующие действия:

    1. Создать файл medods.service по пути /etc/systemd/system со следующим содержимым:
      [Unit]
      Description=Medods integration service
      After=mariadb.service
      
      [Service]
      Type=simple
      # Указать путь к папке и файлу размещения основного файла запуска
      ExecStart=/medods/venv/bin/python /medods/main.py
      WorkingDirectory=/medods/
      Restart=always
      RestartSec=2
      KillMode=process
      User=root
      
      [Install]
      WantedBy=multi-user.target
      
    2. Выполнить следующие команды:
      1. systemctl daemon-reload
      2. systemctl enable medods
      3. systemctl start medods
      4. systemctl enable freepbx_logger
      5. systemctl start freepbx_logger
  5. Профилактический перезапуск Нужно в файл /etc/crontabs добавить слудующую строку:

    0   3   *   *   *   root systemctl restart medods
    

    Это позволит обеспечить бесперебойную работу системы и отложенное до следующего рабочего дня применение правок

S
Description
Модуль интеграции Астериск и Медодс для клиники ЦРЗ
Readme 1.2 MiB
Languages
Python 100%