Microsoft Teams Phone as a provider
Teams is not one API, so the provider glues three control planes together: • Graph, app-only — call history (getPstnCalls), presence reads, directory and...
Persist il sentiero VOIP PHI a phi access log
Le registrazioni delle chiamate, l'audio di segreteria e le trascrizioni sono state verificate nel registro flusso, che mantiene 14 giorni contro un obbligo di ...
Scansione dei repository MFA condivisi
MfaEnrollmentService è un @Service in kamo-shared-library, quindi la wildcard @ComponentScan("com.kamo") in questa applicazione lo costruisce se questo servizio...
Richiedere VIEW CALL LOGS per la riproduzione delle chiamate in PHI-handling orgs
Registrazione e riproduzione vocale controllato tenancy e nient'altro: qualsiasi membro il proprietario org potrebbe tirare qualsiasi chiamata in esso, trascriz...
Registrazione delle chiamate, segreteria e accesso trascrizione
La riproduzione di registrazione non ha lasciato traccia. Una chiamata registrata è il PHI più denso negozi di piattaforma — la conversazione irrinunciata — e "...
Impegnare lavori eccezionali in corso
Fatta e impegnata come-è così nulla è lasciato noncommesso nell'albero di lavoro. 5 file modificati, 549 inserzioni(+), 2 cancellazioni(-)
Harden il kubectl download contro l'egresso sfacciato [skip ci]
dl.k8s.io sopra l'ingresso del corridore cade in modo intermittente metà del trasferimento: curl: (56) OpenSSL SSL read: decryption fail or bad record mac che f...
Smettere di pinning il segreto wildcard-kamocrm-com scaduto
wildcard-kamocrm-com era un segreto multi-SAN legacy che cert-manager orfano quando il suo certificato è stato rinominato in un segreto per-host. Nulla lo ha ri...
Endpoint delle credenziali TURN-REST per il softphone mobile
GET /api/voip/turn/credentials mints ephemeral coturn creds (HMAC-SHA1 over " <expiry>: <memberId>" con il comune statico-auth-secret) così nativo/cellulare Web...
Accettare X-***-Token su REST + firmato ?st= gettoni di flusso su endpoint audio
OTKValidità Filtro precedente: X-OTK → X-***-Token → ?st= (GET, audio solo percorsi di streaming, verificati tramite StreamTokenCodec condiviso con interno.auth...
Guardia /internal/voip con InternalAuthFilter come documentato — esso 401'd su sessione auth
VoipInternalSyncController ha sempre documentato InternalAuthFilter come sua guardia, ma /internal/voip non è mai stato in PROTECTED PREFIXES né escluso da OTK ...
Permettere agli amministratori di collegare RingCentral per conto di un membro
Il flusso per-membro RingCentral era solo self-serve, quindi un amministratore di gestione Il profilo di un altro membro ha visto "devo collegarlo da solo". Sys...
Per-membro RingCentral OAuth identità + softphone SIP correzioni
Softphone SIP correzioni credenziali: - getSipCredentials: mappa in uscitaProxyBackup + stunServers (web-phone v2 esigenze loro per WSS failover + ICE/media); g...
Confronto costante dell'età interna (oracolo di timing)
Sostituire String.equals con MessageDigest.isEqual risposta quindi la latenza non può fallire il X-Internal-Auth condiviso byte-byte. La spazzata su tutta la fl...
Trascritto di ritorno nella registrazione dei metadati per il lettore softphone
Ritorno 200 tutti Falso per funzionalità di org non configurate
GET /api/voip/capabilities ha lanciato ProviderNotConfiguredException (422) quando un org non aveva alcun fornitore di telefonia, registrando un errore di conso...
Escludere /api/voip/sms/templates dal filtro sessione OTK
Gli endpoint del modello doc-07 SMS sono chiamate interne senza sessione sorvegliate da InternalAuthFilter (X-Internal-Auth), ma OTKValida Filtra ancora correva...
Doc-07 SMS sistema di modello — /api/voip/sms/templates + GSM-7/UCS-2 segment guard
****************************************************************************************************************************************************************...
Wire mlos-internal-auth (INTERNAL AUTH SECRET) in distribuzione [skip ci]
Protegge il nuovo /api/bulktext/send endpoint. Condividi la produzione esistente valore interno-auth (mlos-internal-auth) così il recupero di SecurityService SM...
Implementazione POST /api/bulktext/send interno SMS transazionale
SicurezzaServizio BulkTextSmsClient (password-recupero + Impostazioni account SMS) E' sempre stato arrestato. ma il controller non è mai stato costruito, così o...
Migra a k1m1 (clone+registry+kubeconfig da k1m1, drop k2m1, semplice installazione kubectl)
Bump for kamo-shared-library 1.5.0 snapshot aggiornamento (catalogo programmi M2)
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
Creare la registrazione chiave dell'oggetto MinIO come il flusso di immagini
Omettere l'estensione quando FILE EXT è null/empty quindi il nome dell'oggetto corrisponde RecordingImagingService e ImagingController. Java string concat con n...
Risolvere l'estensione della cronologia delle chiamate da member voip config, non phone extension
E' stato NULL per delle estensioni anche quando... member voip config correttamente mappato il membro alla loro estensione. Utilizzo member voip config (stessa ...
Surface imaging fallback when provider has no call history
KamoPBXProvider.getCallHistory now returns null instead of throwing **************** so the 501 response no longer bypasses the imaging fallback. The provider c...
Fall back to imaging recordings for call history + voicemails
FreePBX 17 doesn't expose voicemail messages over REST or GraphQL on this install (the GraphQL voiceMail type returns mailbox config, not messages, and /admin/a...
Resolve member→extension before VM/CDR provider lookup
CallController was passing memberId where FreePBX (and other PBX-style providers) expect an extension number — voicemail listing returned empty because no PBX e...
Riproduzione di registrazione, archivio segreteria, paginated voicemail, arricchimento di storia
- Nuova registrazione Controller con lookup di massa, audio a range per master + tracce per canale, e metadati per la finestra degli strumenti media-player - Ca...
Cattura nuovoExtNumber come finale per la cattura di agnello in MemberVoipConfigController
nuovoExtNumber è condizionatamente riassegnato all'interno del se (isVoipEnabled && ...) blocco, che lo rende non effettivamente finale. Il blocco di sincronizz...
Sync TeamMember phoneEstensione di lavoro su configurazione VOIP salvare
Aggiungi funzionalità di chiamata API — chiama in avanti + auto-ritorno cablato attraverso l'astrazione del fornitore
- Aggiungi CallFeaturesDto e SetCallFeaturesRichiesta POJOs - Aggiungi bandiere di chiamataForward/autoAnswer a ProviderCapabilities - Aggiungi default getCallF...
Non pulire l'assegnazione dei membri sulla sincronizzazione da fornitori che mancano di metadati
E' il momento giusto. incondizionatamente PhoneExtension.assignedMemberId con qualsiasi cosa il fornitore restituito. FreePBX (e qualsiasi fornitore che non rin...
WSS-aware SIP credenziali per softphone del browser
Il endpoint /api/voip/sip/credentials ora restituisce le credenziali un lato del browser SIP stack può effettivamente utilizzare: trasporto WSS, dominio pubblic...
Aggiungi l'assegnazione del DELETE endpoint a VoipExtensionsController per admin unassign
Aggiungi MemberVoipConfigController per il membro VOIP config con l'assegnazione dell'estensione
Persist connection test result to isConnected field
- test() endpoint saves isConnected=true/false to DB after every health check - update() resets isConnected to null when configJson changes (credentials may h...
Use extensionId as external ID, not Relay node id
FreePBX returns the same Relay id (ZXh0ZW5zaW9uOg== = "extension:") for every extension because the id field is not populated. Using it caused all extensions to...
Riscrivi tutte le query/mutazioni GQL contro l'introspezione dello schema live
Verificato ogni nome del campo e digitare contro lo schema effettivo FreePBX 17. Set completo di correzioni: Query: - fetchAllExtensions: rimuovere il campo "v...
Corretto il nome del campo di GraphQL per fetchAsteriskDettagli
FreePBX API restituisce "Vuoi dire fetchAsteriskDetails?" — rinominare la salute controllare query e il suo percorso di dati accesso di conseguenza.
Aggiungere le intestazioni XHR/Accept e l'analisi della risposta di stringa al client GraphQL
Stesso modello di FreePBXTokenCache: aggiungere X-Requested-With + Accettare: applicazione/json per sopprimere le risposte redirect HTML di FreePBX, e passare t...
Aggiungete le intestazioni Accept+XHR e la parsing di risposta cruda per il punto finale di token
FreePBX stava ritornando testo/html quando viene chiamato tramite cluster DNS perché L'intestazione host non corrisponde al PBX HOSTNAME configurato. Aggiunta A...
Correggere le stringhe di portata OAuth2 per FreePBX API
Gli ambiti FreePBX sono identificatori di alto livello: 'gql' (tutti GraphQL) e 'rest' (tutti REST). Il formato 'gql:read' significa GQL per un modulo chiamato ...
Goccia VOIPService spec md da repo
Per convenzione di progetto (i file md non spediscono con i servizi).
Include com.kamo.z.shared.commerce nella scansione del repository
Ultimi propagatori di kamo-shared-library Non e' vero. (donotmodify.dao.services) che ha una dipendenza del costruttore E' il momento giusto. E' il momento gius...
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
