Remover campo de extensão manual do telefone; escreva extensão VOIP através do SecurityService em salvar
Incluir telefoneExtensão de trabalho na resposta by-department; aceitar telefoneWorkExtension on member PUT
Voz elencadaActividadeDetecção para contornar o tipo de TS DOM em falta
voiceActivityDetection é uma propriedade válida WebRTC MediaTrackConstraints mas está ausente da lib DOM do TypeScript, causando um erro de tipo na hora de comp...
Fio VAD + push-to-talk; remover configurações não executáveis
- vadEnabled passou agora como voiceActivityDetection in buildAudioConstraints so o navegador honra a opção ao abrir o microfone para uma chamada - pushToTalk m...
debug+fix(softphone): inspecionar o estado do elemento <audio>, recuperar automaticamente quando os bytes chegarem mas o som permanecer em silêncio
Estatísticas WebRTC de uma chamada recente mostrou inboundBytes=39680 / receptores par desmutado / ICE bem sucedido — a ponte estava entregando áudio para o nav...
Lista de toques com filtro de pesquisa
Faça o painel do catálogo do ringtone corresponder à altura da coluna direita e rolagem verticalmente quando a lista transborda, para que os membros possam nave...
Dump WebRTC state again 5s after Established + rastreie todas as alterações de estado
O despejo de tempo estabelecido sempre mostra receptores com muted=true porque O aperto de mão do DTLS e o chaveamento do SRTP ainda não terminaram. Para diagno...
Adicione mais sete toques ao catálogo
Adiciona Corno de batalha, Corno demoníaco, Linha de terra, anel de 1985, telefone de escritório, Telefone antigo tocando, e Olé em /público/sons / toques / e f...
Adicione toques Sci-Fi e Buzzer ao catálogo
Liberta dois novos activos de toque em /público/sons/ringtones/ e registra-os em RINGTONE CATALOG para que apareçam nos toques subtab e pode ser definido como o...
Configurar STUN para que o navegador ICE possa completar bidirecionalmente
Chamadas de navegador para navegador bipartidário conectadas na camada SIP, mas não tinham áudio em qualquer direcção. Correio de voz (Asterisco de via única → ...
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...
Áudio ao vivo que sobrevive a interrupções de carga, spinner centrado, saída ringback
Três correções coordenadas para o caminho de áudio em chamada: 1. AbortarError no remotoAudio.play() (visível no console de produção como "A requisição 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 ...
Conectando animação + áudio que realmente toca + toque desbloquear
Três correções coordenadas para o caminho de entrada: 1. O feedback visual ao aceitar. Clicar em Resposta deixou ambos os botões resposta, mas sem resposta — a...
Mount SoftphoneProvider acima ToolDock para que as janelas da ferramenta possam lê-lo
Abrindo o popup do Softphone caiu a página com "Esta página não pôde carregar" porque janelas de ferramenta montar dentro ToolDock, que vive em ToolProviders — ...
Use o suporte de tamanho da grade para que os painéis AV preencham a linha
A grade do MUI v7 é baseada em flexbox, por isso o gridColumn sx que eu tinha usado era um no-op — itens renderizados em sua largura natural e deixados vazios e...
Migrar IDs ringtone obsoletos para padrão ao carregar
Se as preferências AV salvas de um usuário referenciam um toque que já não existe no catálogo (por exemplo, «clássico» de antes do catálogo aparado), a aba Toqu...
Layout de áudio de três colunas, gota salva-banner, largura de preenchimento
Coloca o áudio subtab para fora como Microfone , alto-falante , avançado através do linha cheia em telas lg+ (md ainda os emparelha duas-up, pilhas xs). A Cartã...
Dividir configurações AV em áudio/vídeo/ringtones subtabs
Reorganiza a aba Áudio/Vídeo em três subtabs internos e coloca cada um fora horizontalmente para que as configurações se ajustem dentro do viewport sem a parede...
Adicionar guia de configurações de áudio / vídeo e fio no softphone
Adiciona uma loja de preferências AV por dispositivo (localStorage, máquina específica, não roaming) mais um separador completo sobre /sets/member/<id> para con...
Sempre-em sessão SIP com auto-popup + toque em chamadas de entrada
O softphone usado para se registar apenas enquanto a janela de contexto estava aberta — Fechem-na e as chamadas foram silenciosamente perdidas. Levantar a sessã...
Digitos do Dialpad agora registrar em dispositivos de toque
Os botões dialpad chamados e.preventDefault() em ambos onTouchStart e Touchend. Isso impede o navegador de disparar o evento de clique sintético que segue um to...
Seed pbx.k1.kluster.kamocrm.com como um domínio estático
O softphone do navegador precisa SIP-over-WSS para pousar em um hostname com um real TLS cert. Adicione o administrador FreePBX / WS hostname para Static DOMAIN...
Navegador de máquinas SIP WSS em internal.kamocrm.com (certe)
Os navegadores recusaram a ligação WebSocket para o... com código próximo 1006 porque Traefik estava servindo seu certificado padrão auto-assinado para esse nom...
Título dinâmico e descrição de org config.json
Inline JS no title.html deriva o caminho do CDN temáticos do nome do host, obtém config.json, e define o título como "Meets - {siteNameShort}" e metatags descri...
Usar o nome e descrição curtos da org na cabeça HTML
Substituir a lógica de título baseada em org-API pelo site config.jsonNameShort para o o título segue o mesmo padrão de outros sites: "Registrar - {siteNameShor...
Usar o nome e descrição curtos da org na cabeça HTML
O DynamicMetaLoader agora define document.title para "Login - {siteNameShort}" e escreve a descrição org na tag meta descrição. Layout estático.tsx back updated...
Usar o nome e descrição curtos da org na cabeça HTML
DynamicMetaLoader agora define document.title para o siteNameShort (foi siteName) e escreve a descrição org na tag meta descrição. Estático layout.tsx fallback ...
Incluir a descrição de org no config.json
Adicionar campo de descrição para buildConfigJson() e pass org.getDescription() de writeConfigFiles() assim que o tema config.json carrega o org's descrição par...
Presença globo separado para marketing chat ao vivo vs membros
Público Os tickets do widget de bate- papo mantêm o placeholder de org como requestorId; use somente presença de sessão de mídia para essas linhas. Membro de us...
Pipe sip.js init steps to server log via beacon
A falha do init SDK do lado do navegador é atualmente invisível — o popup apenas diz "Phone SDK falhou em inicializar" sem mensagem, o WebSocket nunca abre, e n...
Periódico STOMP presença batimento cardíaco para apoio público
Atualizar Redis TTL para presença de sessão pública para que os agentes vejam o estado online preciso.
Globo usa presença de sessão de mídia para visitantes de marketing
Solicitar sessão de chat público GUIDs em instantâneo de presença; tratar on-line se ambos sessão ou membro solicitante está conectado. Lidar com o envelope de ...
Acompanhe o chat de suporte público por sessão GUID em Redes
Visitantes de marketing usam /ws/public-chat-native sem membroId; tickets ainda Referência ao membro de substituição da organização como solicitante. PRESENÇA ...
Adicionar pesquisa de presença do solicitante para agentes da lista de tickets
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...
Não apagar a atribuição de membros na sincronização de provedores que não possuem metadados
**************************** Sobrescrito incondicionalmente TelefoneExtension.associadoMembro com o que o provedor retornou. FreePBX (e qualquer provedor que nã...
Adicionar incluirEmpresa ao popup de mercado e nome da empresa para leads
Popup de adição/edição de mercado (LeadMarketManager): - Controle de rádio "Track Company Name" / "Individual Only" (obrigatório) - Defaults para desactivar no ...
Adicionar colunas include company e nome da empresa
LeadCompanyColumnRunner (Order 40) acrescenta de forma imediata: - lead markets.include company (BOOLEAN, nullable) — rastreia se a mercado requer nome da empre...
Expor incluirEmpresa em intation-config e market-config respostas
Ambos... E... agora inclui a bandeira includeEmpresa para que o frontend saiba se deve mostrar o campo de nome da empresa na criação de chumbo.
Adicionar incluirEmpresa ao LeadMarket e empresaName ao Lead
- entidade LeadMarket recebe include company (Boolean, nullable) - entidade líder recebe company name (String, max 50, nullable) - LeadMarketDTO, CreateLeadMark...
Mostrar o nome do provedor no modo de visualização + extensão própria no dropdown de edição
Dois insectos em... 1. Modo de visualização descartou o UUID bruto — "Instância 32f520b0-347a-..." — porque a lista de instâncias só foi carregada dentro do ha...
Serialize ExtensionDto.atribuídoMemberId como uma string
transborda o alcance de integração segura da JS (por exemplo, 1168485658174423046 viagens de ida e volta como 1168485658174423000 uma vez que um número JSON ati...
Adicionar registro diagnóstico ao ponto final /nomes
Log orgId, contagem de membros e resolução de nome por membro para diagnosticar Por que razão o nome do membro atribuído não está a resolver correctamente.
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.