Удалите поле расширения телефона вручную; запишите расширение VOIP в службу безопасности
Включите расширение phoneWork в ответ отдела; примите расширение phoneWorkExtension на члене PUT
Обнаружение голосовой активности для обхода отсутствующего типа TS DOM
voiceActivityDetection является действительным свойством WebRTC MediaTrackConstraints. отсутствует в DOM-либе TypeScript, вызывая ошибку типа во время сборки.
Wire VAD + push-to-talk; удалите нереализуемые настройки
- vadEnabled теперь проходит как VoiceActivityDetection в сборке Браузер выполняет переключатель при открытии микрофона для вызова - pushToTalk автоматически из...
debug+fix (softphone): проверка состояния элемента <audio>, автоматическое восстановление при появлении байтов, но звук остается тихим
Статистика WebRTC по недавнему вызову показала входящие Байты = 39680 / приемники Неизменённая / ICE-пара преуспела — мост доставлял аудио на борт Браузер, но о...
Прокручиваемый список рингтонов с фильтром поиска
Сделайте панель каталога рингтона соответствующей высоте правой колонны и прокрутке вертикально, когда список переполнен, поэтому участники могут перемещаться к...
Dump WebRTC state again 5s after Established + отслеживать все изменения состояния
Свалка установленного времени всегда показывает приемники с приглушенным = истинно, потому что Рукопожатие DTLS и SRTP пока не завершены. Диагностировать "звоно...
Добавить еще семь рингтонов в каталог
Боевой корабль Horn, Demon Horn, Land Line, 1985 Ring, Office Phone Ringing Old Phone, Olé under/public/sounds/ringtones/ and wires В RINGTONE CATALOG они появл...
Добавьте рингтоны Sci-Fi и Buzzer в каталог
Сбрасывает два новых актива рингтона под /public/sounds/ringtones/ и Зарегистрируйте их в RINGTONE CATALOG, чтобы они появились в Ringtones. subtab и может быть...
Настройте STUN, чтобы ICE браузера мог выполняться двунаправленно
Двусторонние вызовы браузер-браузер, подключенные на уровне SIP, но не имеющие аудио в любом направлении. Работала голосовая почта (one-way Asterisk → браузер) ...
Dump WebRTC negotiation state on Established
To diagnose "call connects but no audio between parties", log the peer-connection state (ice / dtls / signaling) along with sender and receiver tracks (kind / e...
Живой звук, который выживает при перебоях нагрузки, центрированный спиннер, исходящий рингбек
Три согласованных исправления для входного звукового пути: 1. AbortError on remoteAudio.play() (видимая на консоли) «Запрос на игру был прерван новым запросом ...
Hangup tears down ALL live sessions, not just the primary
Self-call edge case left a session leaked: dialing your own extension creates an outbound session, then Asterisk loops the call back as a second inbound session...
Instant connecting feedback on outbound dial
Same problem the inbound Answer button had: clicking Call kicked off the SIP INVITE round-trip (1-3 seconds) but the button kept its idle "Call" appearance the ...
Подключение анимации + аудио, которое на самом деле играет + разблокировка рингтона
Три согласованных фикса для пути входящего вызова: 1.Визуальная обратная связь при принятии. Щелчок Ответ оставил обе кнопки отзывчивый, но не отзывчивый — пер...
Маунт SoftphoneProvider над ToolDock, чтобы окна инструментов могли читать
Всплывающее окно Softphone разбило страницу с надписью «Эта страница не могла загрузиться» потому что окна инструментов устанавливаются внутри ToolDock, который...
Используйте реквизит размера сетки, чтобы AV панели заполняли строку
Сетка MUI v7 основана на флексбоксе, поэтому я использовал GridColumn sx был нерабочим — предметы отображались на их естественной ширине и оставляли пустыми Про...
Migrate stale ringtone ID по умолчанию
Если сохраненные AV предпочтения пользователя ссылаются на рингтон, который больше не существует в каталоге (например, «классика» до того, как каталог был Обрез...
Трехколонный аудио макет, выпадающий сохраненный баннер, заполняющий ширину
Укладывает субтаб аудио как микрофон | Спикер | Продвинутый через полный ряд на экранах lg+ (md по-прежнему соединяет их в пары, xs стек). The Продвинутая карта...
Разделите настройки AV на Audio/Video/Ringtones
Реорганизует вкладку «Аудио/Видео» в три внутренних подзадачи и закладки каждый из них горизонтально, так что настройки вписываются в видоискатель без Стена вер...
Добавьте вкладку Audio / Video Settings и подключитесь к софтфону
Добавляет магазин AV-предпочтений для каждого устройства (локальное хранилище, специфичное для машины). не роуминг) плюс полнофункциональная вкладка на /setting...
Всегда включенная SIP-сессия с автоматическим всплывающим + рингтоном на входящих звонках
Софтфон использовался для регистрации только тогда, когда окно всплывающего инструмента было открыто. Закройте его, и входящие звонки были молча пропущены. Подн...
Цифры Dialpad теперь регистрируются на сенсорных устройствах
Кнопки dialpad, называемые e.preventDefault(), как в OnTouchStart, так и OnTouchEnd. Это останавливает браузер от запуска синтетического события щелчка что след...
Seed pbx.k1.kluster.kamocrm.com как статический домен
Софтфон браузера нуждается в SIP-over-WSS, чтобы приземлиться на имя хоста с реальным Серт TLS. Добавьте админ FreePBX / WS имя хоста в STATIC DOMAINS Auto-cert...
Хостинг браузера SIP WSS на internal.kamocrm.com (реальный сертификат)
Браузеры отказались от подключения к WebSocket **************** с близким кодом 1006, потому что Traefik обслуживал свою самоподписанную сертификацию по умолчан...
Динамическое название и описание от org config.json
Inline JS в title.html получает тематический путь CDN от имени хоста. fetches config.json, и устанавливает заголовок «Meets - {siteNameShort}» и метатеги описан...
Используйте краткое имя и описание в HTML-главе
Заменить логику заголовка на основе org-API на сайт config.jsonNameShort Заголовок следует той же схеме, что и другие сайты: «Регистрация — {siteNameShort}». До...
Используйте краткое имя и описание в HTML-главе
DynamicMetaLoader теперь устанавливает document.title на "Login - {siteNameShort}" и записывает описание организации в метатег описания. Обновлен запасной вариа...
Используйте краткое имя и описание в HTML-главе
DynamicMetaLoader теперь устанавливает document.title на siteNameShort и записывает описание организации в метатег описания. Обновление Static layout.tsx до общ...
Включить описание формы в config.json
Добавить поле описания для сборкиConfigJson() и пройти org.getDescription(). от writeConfigFiles() так что тематический config.json несет Описание для интерфейс...
Отдельное присутствие в мире для маркетинга в чате против участников
Публикация Билеты на виджет чата сохраняют заполнитель в качестве запрашиваемого; используйте только Присутствие СМИ для этих строк. Внутренние и другие билеты ...
Pipe sip.js init выполняет вход на сервер через beacon
Сбой в SDK на стороне браузера в настоящее время невидим - всплывающее окно просто «Телефон SDK не смог инициализироваться» без сообщения, WebSocket никогда не ...
Периодическое сердцебиение присутствия STOMP для общественной поддержки
Обновите Redis TTL для публичного присутствия на сессии, чтобы агенты видели точное состояние в Интернете.
Globe использует присутствие в медиасессии для маркетинговых посетителей
Запросить сеанс публичных чатов GUIDs при наличии снимка; лечить онлайн, если Сессия или участник запроса подключены. Обработка конверта и СеансGuid deltas on /...
Отслеживайте чат общественной поддержки сеанса GUID в Redis
Маркетинговые посетители используют /ws / public-chat-native без членства; билеты по-прежнему ссылаться на члена-заполнителя организации в качестве запрашивающе...
Surface SIP.js init/transport errors to browser console
Empty "Phone SDK failed to initialize" messages were hiding the actual failure from sip.js. Turn on logBuiltinEnabled so the library writes its transport / regi...
Не стирайте задание участника на синхронизацию от поставщиков, которым не хватает метаданных
**************************** безоговорочно переписанный PhoneExtension.assignedMemberId с любым возвратом провайдера. FreeBX (и любой провайдер, который не отсл...
Добавить Компанию к всплывающему рынку и имя компании
Всплывающее окно (LeadMarketManager): - Радиоуправление "Название компании" / "Только для физических лиц" (обязательно) - Дефолты для запуска на новом рынке; пр...
Добавить в колонку company и company name
LeadCompanyColumnRunner (Order 40) добавляет: - lead markets.include company (BOOLEAN, nullable) - отслеживает, является ли Рынок требует названия компании - le...
Экспозиция включает Компанию в ответах на впуск-конфигурацию и рыночную конфигурацию
*************************** ************************* Теперь включите флаг компании, чтобы фронтенд знал, показывать ли Название компании по созданию свинца.
Добавить Компанию в LeadMarket и название компании в Lead
- Предприятие LeadMarket получает include company (Boolean, nullable) - Ведущий субъект получает имя компании (String, max 50, nullable) - LeadMarketDTO, Create...
Показать имя провайдера в режиме просмотра + собственное расширение в ред
Два бага на **************** 1. Режим просмотра сбросил необработанный UUID — «Instance 32f520b0-347a-...» — потому что Список экземпляров был загружен только ...
Serialize ExtensionDto.assignedMemberId в виде строки
переполнение безопасного целого диапазона JS (например, 1168485658174423046 туда-обратно как 1168485658174423000 как только номер JSON попадает в браузер. фронт...
Добавить запись диагностики в /names endpoint
Log orgId, количество членов и разрешение на имя каждого члена для диагностики Почему имя назначенного члена не решается правильно.
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.