Перейти к содержимому
KAMOUniverse

Журнал изменений

Что нового.

Каждое усовершенствование платформы, как только она появится.

  1. · VOIPService

    Расширение Sync TeamMember phoneWork для сохранения конфигурации VOIP

  2. · SecurityService

    Расширение Backfill TeamMember phoneWork от MemberVoipConfig для стартапа

  3. · kamo-internal

    Настройки функций вызова проводной связи сквозная абстракция провайдера

    - voipApi: добавьте CallFeaturesDto, getCallFeatures() и setCallFeatures() API-звонки - useSoftphone: add ************* state loaded от API при запуске; действия setCallForward/setAutoAnswer сохраняются через API; автоответ и эффекты вызова вперед вызывают входящие вызовы, когда функции активны - SoftphonePanel: удалите состояние функции вызова только локально; проволока Call Forward Toggle и ввод номера в контекст софтфона; проводной автоматический ответ на переключатель на контекст софтфона; Переименовать кнопку nav в «Manage Extended A/V» Настройки Синхронизация аудио слайдеров уже была функциональной с помощью шины событий UseAVSettings — никаких изменений не требуется

  4. · VOIPService

    Добавить функции вызова API — вызов вперед + автоответ, проводной через абстракцию провайдера

    Добавить CallFeaturesDto и SetCallFeaturesRequest - Добавить флаги CallForward/autoAnswer для ProviderCapabilities - Добавить по умолчанию getCallFeatures/setCallFeatures в интерфейс PhoneProvider RingCentral: реализация с помощью Правил Ответов REST API (безусловный переадресация) FreePBX реализуется с помощью GraphQL addCallforward CallFeaturesController: GET/PUT/api/voip/calls/features — первичная синхронизация с провайдером

  5. · kamo-shared-library

    Добавить элемент MemberCallFeatures и репозиторий для предпочтений переадресации вызовов и автоматического ответа

  6. · kamo-asterisk-support

    Начальное обязательство — FreePBX загрузчик записи (GO)

    Часы **************** для готовых записей WAV, группы многоногих ног вызова Asterisk UNIQUEID и загружает каждую партию в APIService /api/voip/recordings/upload с использованием VOIP RECORDING UPLOADS-scoped Ключ API. Файлы удаляются с диска только после подтверждения платформы хранения. Bootstrap обеспечивает пользователя AMI через manager custom.conf и Устанавливает MixMonitor() на крюки каналов через extensions custom.conf Asterisk перезагрузит свои модули dialplan/manager. Оба управляемых блока Они окружены четко обозначенными баннерами, поэтому настройки администратора выживают. Включает Dockerfile, манифесты k8s для k1m1 и k2m1 (Развертывание + ConfigMap +) Секретный шаблон), ****************, отражающий остальные Платформа и нетехнический README.txt для автономных хостов FreePBX.

  7. · kamo-internal

    VOIP RECORDING UPLOADS scope + счетчики/настраиваемые устройства для записи трубопроводов

    APIManager: новая опция VOIP RECORDING UPLOADS (используется службой поддержки Камо-Астериск) на хостах FreePBX для загрузки голосовой почты и записи вызовов через APIService. VoipSmsTab: новая карта «Запись трубопровода» с четырьмя счетчиками процесс, звонки в процессе, голосовые сообщения по ошибке, звонки по ошибке - обновляется каждые 30 лет, использует **************** Новое "Запись Обработка" карты с помощью voipVmBatchSize/voipCallBatchSize/voipPollSeconds Настраиваемые. - systemConfigApi: продлить обновление() для отправки новых настраиваемых файлов; добавить записьStats(). Типы/телефон: SystemConfiguration Dto получает три новых настраиваемых; Добавлена VoipRecordingStatsDto.

  8. · SecurityService

    System-config recording stats + настроек для обработки записей

    - Получить **************** Возвращает четыре стойки экспонируется на камо-внутренних настройках → Платформа → Конфигурация → VoIP/SMS Закладка (vmPending, callPending, vmError, callError). - PUT/api/security/system-config теперь принимает voipVmBatchSize, voipCallBatchSize, voipPollSeconds для настроек записывающего процессора DaemonService. ToDto() включает новые поля, чтобы интерфейс мог прочитать их обратно.

  9. · DaemonService

    RecordingProcessorJob + NATS для свежих загрузок

    Новый кварцевый вакансии ЗаписьПроцессорДжоб тикает каждую минуту, рассылает независимые VM и вызов партий одновременно в ConversionService **************************** **************************** voipCallBatchSize. - Новый RecordingReceivedConsumer подписывается на voip.recording.received NATS Subject Излучается ConversionService на свежих загрузках и запускает немедленный запуск, поэтому Новая запись начинает обрабатываться в течение нескольких секунд, а не ждать О периодическом опросе. - Configmap разоблачает daemon.jobs.recordings.cron **************** — это разговор.

  10. · ConversionService

    Запись глотка + конвейер обработки FFmpeg

    Новый **************** конечные точки многочастная загрузка Пересылается APIService в корзину MinIO **************** и создает необработанную строку записи. Idempotent на ретрис Использование (phoneServerId, asteriskUniqueId). - Новая конечная точка **************** (названная DaemonService) дренажные ряды: загружает постановочные WAV, смешивает ножки вызова в один Opus / WebM мастер через FFmpeg amix, транскодирует по каналу WAV в качестве треков рядом с мастер и загружает через RecordingImagingService с VM RECORDING (8) CALL RECORDING (9) ImageAssocType. Новая обертка FfmpegService (transcodeToOpusWebm / mixToOpusWebm) с тайм-аутом и очистка от вампиров. Издатель NATS издает voip.recording.received на каждой постановочной загрузке DaemonService может сократить свой периодический опрос. Dockerfile устанавливает ffmpeg на стадии выполнения (альпийские корабли ffmpeg) Либопус по умолчанию. - ConfigMap показывает **************************** (общий кросс-сервис) Секрет внутреннего вызова), чтобы новые конечные точки могли аутентифицировать APIService и Абоненты DaemonService.

  11. · APIService

    VoipRecordingUploadController для загрузки с поддержкой Камо-астерикса

    POST/api/voip/recordings/upload принимает многокомпонентные кузова от kamo-asterisk-support Работает на FreePBX хостах. X-Api-Key получил новый VOIP RECORDING UPLOADS - объем (повторное использование кэша проверки *************), затем пересылает многочастную полезную нагрузку + заголовки метаданных (X-Phone-Server-Id, X-Asterisk-Unique-Id, X-Recording-Kind, X-Primary-Extension ****************************

  12. · kamo-shared-library

    UnprocessedRecording Staging entity, ImgDat track tracks, служба записи изображений

    - Исправить столкновение ImageAssocType ID: VM RECORDING=8, CALL RECORDING=9 (были оба) дублирование MY DOCS при 4. Добавьте *******************, чтобы мастер-запись могла По каналу Opus/WebM идет параллельно с существующей концепцией миниатюр. - Добавить ImageMimeType.AUDIO WEBM (аудио/вебм) для контейнеров Opus-in-WebM Производится конверсионным трубопроводом. - Новая необработанная запись (UUID id, IS VM, PHONE SERVER ID, EXTENSION, ASTERISK UNIQUE ID, IS PROCESSED, IS ERROR, ERROR MESSAGE, RESULT IMG ID, DATE CREATED, DATE PROCESSED) staging entity + repository for the kamo-asterisk-support → ConversionService → Трубопровод DaemonService. Новая записьImaging Сервис, который загружает мастера Opus / WebM для визуализации с помощью треков Opus/WebM, подключенных через ImgDat.trackCount. - SystemConfiguration: add voipVmBatchSize/voipCallBatchSize/voipPollSeconds для настроек записывающего процессора DaemonService.

  13. · kamo-asterisk-support

    Начальное обязательство — FreePBX загрузчик записи (GO)

    Часы **************** для готовых записей WAV, группы многоногих ног вызова Asterisk UNIQUEID и загружает каждую партию в APIService /api/voip/recordings/upload с использованием VOIP RECORDING UPLOADS-scoped Ключ API. Файлы удаляются с диска только после подтверждения платформы хранения. Bootstrap обеспечивает пользователя AMI через manager custom.conf и Устанавливает MixMonitor() на крюки каналов через extensions custom.conf Asterisk перезагрузит свои модули dialplan/manager. Оба управляемых блока Они окружены четко обозначенными баннерами, поэтому настройки администратора выживают. Включает Dockerfile, манифесты k8s для k1m1 и k2m1 (Развертывание + ConfigMap +) Секретный шаблон), ****************, отражающий остальные Платформа и нетехнический README.txt для автономных хостов FreePBX.

  14. · kamo-internal

    Замените макет контактной вкладки на полнофункциональный SoftphoneContacts

    Извлекает новый компонент SoftphoneContacts, который подключает контакты софтфона Закладка на реальные контакты API через useContacts(). Заменить 4 жестких макета контакты с живыми данными из всех контактных книг. Особенности: - Таблетки для книг и групповых фильтров с выпадающими селекторами Объявленный поиск, сортировка по последнему / первому / полному имени Цветные инициалы аватара (детерминированный хеш), поддержка фотографий - Список контактов с кнопкой быстрого вызова - Подробный просмотр (заменяет список), показывающий телефоны, электронные письма, документы, заметки Режим встроенного редактирования для всех полей (телефоны / электронные письма с несколькими значениями с добавлением / удалением) - Исключить контакт с этапом подтверждения Пустые и загружающиеся скелетные состояния - "Новый контакт" переходит на /контакты? Действие = Создать Обновляет контакты / page.tsx, чтобы автоматически открыть диалог создания, когда Присутствует ?action=create query param (используется кнопкой софтфона «Новый»).

  15. · kamo-internal

    Замените расширение Chip встроенным текстом рядом с ролью в Центре взаимодействия

  16. · kamo-internal

    Удалите поле расширения телефона вручную; запишите расширение VOIP в службу безопасности

  17. · SecurityService

    Включите расширение phoneWork в ответ отдела; примите расширение phoneWorkExtension на члене PUT

  18. · kamo-shared-library

    Добавить **************** помощников в TeamMember

  19. · kamo-internal

    Wire VAD + push-to-talk; удалите нереализуемые настройки

    - vadEnabled теперь проходит как VoiceActivityDetection в сборке Браузер выполняет переключатель при открытии микрофона для вызова - pushToTalk автоматически изменяет микрофон при приеме вызова и устанавливает keydown/keyup Слушатели, которые отключают, пока настроенный горячий ключ удерживается - Удаленные настройки, которые не имели функциональной проводки и не могут быть реализованы через стандартный браузер WebRTC API: micGain (без GainNode в SIP конвейере), HighPassFilter, noiseGate, vadThreshold, hdVoice, cameraBackgroundBlur (требуется ML), CameraBrightness/cameraContrast (только предварительный просмотр CSS) - Очистка интерфейса AVSettings и DEFAULT AV SETTINGS соответственно; перебалансированные сетки переключения после удаления

  20. · kamo-internal

    Прокручиваемый список рингтонов с фильтром поиска

    Сделайте панель каталога рингтона соответствующей высоте правой колонны и прокрутке вертикально, когда список переполнен, поэтому участники могут перемещаться как больше тонов. добавляются. Добавляет поле поиска, которое фильтрует по ярлыку или имени файла, с помощью Чистая кнопка и сообщение с пустым состоянием.

  21. · kamo-internal

    Добавить еще семь рингтонов в каталог

    Боевой корабль Horn, Demon Horn, Land Line, 1985 Ring, Office Phone Ringing Old Phone, Olé under/public/sounds/ringtones/ and wires В RINGTONE CATALOG они появляются вместе с существующими. Варианты по умолчанию / Sci-Fi / Buzzer / Silent на субтабе Ringtones.

  22. · kamo-internal

    Добавьте рингтоны Sci-Fi и Buzzer в каталог

    Сбрасывает два новых актива рингтона под /public/sounds/ringtones/ и Зарегистрируйте их в RINGTONE CATALOG, чтобы они появились в Ringtones. subtab и может быть установлен как входящий по умолчанию тон софтфона.

  23. · kamo-internal

    Трехколонный аудио макет, выпадающий сохраненный баннер, заполняющий ширину

    Укладывает субтаб аудио как микрофон | Спикер | Продвинутый через полный ряд на экранах lg+ (md по-прежнему соединяет их в пары, xs стек). The Продвинутая карта переключается на вертикальный стек внутри более узкой колонки. Удаляет следящий «Настройки сохранены автоматически» нижний колонтитул — Поведение неявно, и карта просто занимала место. Сила секционных карт панелей до ширины: 100% и добавляет выравнивание элементов = "растяжка" Для каждой подтабной сетки карты всегда заполняют колонку от края до края.

  24. · kamo-internal

    Разделите настройки AV на Audio/Video/Ringtones

    Реорганизует вкладку «Аудио/Видео» в три внутренних подзадачи и закладки каждый из них горизонтально, так что настройки вписываются в видоискатель без Стена вертикальной прокрутки, которую мы имели раньше. Также фиксирует каталог рингтонов, чтобы указать на реальный /sounds/ringtone.mp3 вместо фантомных путей /sounds/ringtones/, так что предварительные просмотры и всегда включенная сессия софтфона Один канонический рингтон.

  25. · kamo-internal

    Добавьте вкладку Audio / Video Settings и подключитесь к софтфону

    Добавляет магазин AV-предпочтений для каждого устройства (локальное хранилище, специфичное для машины). не роуминг) плюс полнофункциональная вкладка на /settings/member/<id> Настройка и тестирование микрофона, динамика, звонка и камеры. Окно инструмента для софтфона, воспроизведение рингтона и адаптеры SIP SDK теперь соблюдать эти настройки в прямом эфире: маршрутизация устройства через setSinkId, getUserMedia ограничения (deviceId + EC/NS/AGC/таблица), объем тона DTMF, кольцевое устройство + выбор тонов, немое на соединении и уведомления рабочего стола.

  26. · kamo-internal

    Всегда включенная SIP-сессия с автоматическим всплывающим + рингтоном на входящих звонках

    Софтфон использовался для регистрации только тогда, когда окно всплывающего инструмента было открыто. Закройте его, и входящие звонки были молча пропущены. Поднять сессию в a SoftphoneProvider установлен на AuthenticatedToolWrapper, поэтому SIP REGISTER удерживается непрерывно, пока оператор подписан и любое входящее приглашение Это привлекает внимание оператора. - app/hooks/useSoftphone.ts: переименовать крючок реализации в ИспользованиеSoftphoneSession для усиления того, что он должен быть установлен ровно один раз за сеанс (владеет учетными данными SIP и регистратора). ************* Новый SoftphoneProvider запускает сеанс Крюк один раз, раскрывает состояние через контекст и реагирует на входящий Звони. Переходы — выскакивает окно инструмента для софтфона через инструмент: открытое пользовательское событие (единая инстанция, поэтому он просто фокусируется, если уже открыт) с идентификатором вызывающего абонента заголовок и проигрывает /sounds/ringtone.mp3 по петле до пользователя Принимает/отклоняет/удаленное висит. Общественное использованиеSoftphone() hook читать из контекста. ************* Переключить импорт на контекст. **************** Оберните дерево инструментов SoftphoneProvider, так что сеанс длится до тех пор, пока состояние auth. классическая каденция NA (440 Гц + 480 Гц, 2s on, 4s silence), так что audio.loop = истинно Получает естественный рисунок кольца/паузы/кольца. ~72 КБ. Браузеры могут блокировать начальную игру () до тех пор, пока пользователь не нажмет на страница; оператор обычно нажимал по крайней мере один раз к моменту вызова Приходит, так что это редко проблема на практике.

  27. · KlusterServices

    Seed pbx.k1.kluster.kamocrm.com как статический домен

    Софтфон браузера нуждается в SIP-over-WSS, чтобы приземлиться на имя хоста с реальным Серт TLS. Добавьте админ FreePBX / WS имя хоста в STATIC DOMAINS Auto-cert seeder provisions a per-host Let's Encrypt cert for it Вместо того, чтобы полагаться на него, он появляется в журналах доступа Traefik. После выдачи сертификата временный внутренний путь .kamocrm.com/voip-ws (предпринятый ранее в качестве обходного пути) может быть удален, и софтфон может используйте канонический pbx.k1.kluster.kamocrm.com/ws URL.

  28. · kamo-register

    Используйте краткое имя и описание в HTML-главе

    Заменить логику заголовка на основе org-API на сайт config.jsonNameShort Заголовок следует той же схеме, что и другие сайты: «Регистрация — {siteNameShort}». Добавлен метатег описания от config.json. Удалить неиспользованный импорт ThemeConfig.

  29. · kamo-login

    Используйте краткое имя и описание в HTML-главе

    DynamicMetaLoader теперь устанавливает document.title на "Login - {siteNameShort}" и записывает описание организации в метатег описания. Обновлен запасной вариант Static layout.tsx; удалены метаданные KamoCRM OG/Twitter.

  30. · kamo-internal

    Используйте краткое имя и описание в HTML-главе

    DynamicMetaLoader теперь устанавливает document.title на siteNameShort и записывает описание организации в метатег описания. Обновление Static layout.tsx до общих значений.

Ваша вселенная ждет.

Начните бесплатно через несколько минут. Добавляйте продукты, когда будете готовы — без миграции, без новых логинов.

Бесплатно навсегда — не требуется кредитная карта