Rezolva istoricul apelurilor de la membru voip config, nu la telefon extensie
***************** a fost NULL pentru unele extensii chiar şi atunci când membru voip config corect cartografiat membrul la extinderea lor. Utilizarea membru voi...
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...
Redare înregistrare, arhivă vocală, mesagerie vocală paginată, îmbogăţire istorie
- Înregistrarea nouă Controlor cu căutare în vrac, audio cu flux de gamă pentru piese master + per-canal, și metadate pentru fereastra instrument de media-playe...
Capture newExtNumber as final for lambda capture in MemberVoipConfigController
newExtNumber este realocat condiționat în interiorul dacă (este VoipEnabled & ...) Bloc, ceea ce nu face în mod eficient final. Blocul de sincronizare TeamMembe...
Sincronizare TeamMember phoneExtensie de lucru pe VOIP config salvează
Adaugă caracteristicile apelului API
- Adăugaţi CallFeaturesDto şi SetCallFeaturesRequest POJOS - Adăugaţi apel Indicatoare Forward/AutoRăspuns către FurnizorCapabilităţi - Adăugați implicit getCal...
Nu ștergeți atribuirea membrilor pe sincronizare de la furnizorii care lipsesc metadate
Nu-ţi face griji. suprascris necondiţionat TelefonExtensie.un membru desemnatId cu orice furnizor returnat. FreePBX (și orice furnizor care nu urmărește care me...
Acreditări WSS-aware SIP pentru softphone-uri browser
Obiectivul /api/voip/sip/credentials returnează acum acreditările unui browser-side SIP stiva poate folosi de fapt: transport WSS, domeniu public, și un URL wsS...
Adăugați obiectivul de atribuire DELETE la VoipExtensionsController pentru admin unassign
Adaugă MemberVoipConfigController pentru membru VOIP config with extension asignation
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...
Rescrie toate întrebările/mutările GQL împotriva introspecţiei de schemă live
Verificat fiecare nume de câmp și tip împotriva schema FreePBX 17 reale. Set complet de corecții: Întrebări: - aduceţiAllExtensii: eliminaţi câmpul inexistent ...
Numele de câmp GrafQL corect pentru a aduceAsteriskDetails
FreePBX API întoarce "Aţi vrut să spuneţi "AsteriskDetails"? verifică interogarea și accesorul traseului de date în consecință.
Adăugați antetele XHR/Accept și răspunsul String parsing la clientul GraphQL
Același model ca FreePBXTokenCache: adăugați X-Requested-Cu + Accept: aplicație/json pentru a suprima răspunsurile de redirecționare HTML FreePBX, și comuta toa...
Adăugaţi antetele Accept+XHR şi răspunsul la coarda brută pentru criteriul final de evaluare
FreePBX returna textul/html când a fost apelat prin cluster DNS deoarece Antet gazdă nu se potrivește cu PBX HOSTNAME configurat. Adăugarea Accept: aplicație/js...
Coarde OAuth2 corecte pentru API FreePBX
Domeniul de aplicare FreePBX sunt identificatori de nivel superior: "gql" (toate GraphQL) și "rest" (toate odihnă). Formatul "gql:read" înseamnă GQL pentru un m...
Drop VOIPService spec md din repo
Conform convenţiei de proiect (.md fişierele nu se trimit cu servicii).
Include com.kamo.z.shared.commerce în scanare depozit
Ultimele propagate kamo-shared-library - Nu. (numodificați.dao.servicii) care are o dependență de constructor Nu-ţi face griji. Nu-ţi face griji. ă serviciul es...
Controlori de resurse perintență + agregate org + sincronizare internă
Resurse perintentale CRUD (extensii / utilizatori / dispozitive / voicemail): - VoipExtensiiController la ************* - VoipUsersController la /api/voip/insta...
Refactor furnizor multi-stanță + full FreePBX + Flowroute SMS
Modificarea modelului de bază: un org → multe VoipProviderInstances (a fost: un per org). Fiecare furnizor de apeluri API este acum spectaculos. Interfață tele...
Rebuild for kamo-shared-library update (remove OrganizationType, adaugati isTopLevel)
Rebuild for kamo-shared-library update (remove OrganizationType, adaugati isTopLevel)
Reconstruiește pentru actualizarea kamo-shared-library (CREATE CHILD ORG dreapta + aplica-la steaguri)
Trage noul RolRightType.CREATE CHILD ORG (id 131), cele trei aplică-la steaguri pe ChildOrgSecurityModel, cele două supraîncărcari de servicii de 13 arg, și apl...
Reconstructie pentru updatare kamo-shared-bibrary (reparatie exclusiv upsert appConfig)
Trage de cărămidă ******************** care nu mai șterge rândurile de aplicațiiConfig ale căror tipuri de servicii sunt absente din sarcina utilă a apelantului...
Reconstrucție pentru actualizare kamo-împărțit-library (rezolvator eficient)
Picks up the new AppliedModeEnforcementService methods (computeAvailabilitysMap, isAppEfficientlyEnabled, getEfficientlyEnabledAppTypes, calculEfficientFatures)...
Bump kamo-shared-library la 1.5.0 pentru aplicarea modelului aplicat
Aduce acest serviciu pe kamo-shared-library 1.5.0 astfel încât să preia noul AplicatModelEnforcementService, ChildOrgSecurityModelAppConfigentity, ServiceAvaila...
Reconstruiește pentru actualizare kamo-shared-library (reguli de forță în timp + descindere DEFAULT în Serviciul Aplicat pentru Drepturile Membre)
Declanseaza o reconstructie astfel incat acest serviciu sa preia informatiile *************** care sa aplice regulile de forta ale machetei si decalajele de la ...
Reconstruiește pentru actualizare kamo-shared-library (model principal, șabloane de rol implicit, remixator de reguli de forță)
Declanseaza o reconstructie astfel incat acest serviciu sa traga noua revizie kamo-shared-library care contine Organizatie.IndustrieTypeID, Organization.masterM...
Bump kamo-shared-library la 1.4.0
Docker Stage 1 construiește kamo-shared-library main (acum 1.4.0) și instalează el la local .m2; pompa de serviciu încă referindu-se la 1.0.0 care Maven nu a pu...
Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)
Handle RC webhook validation token; make body optional for verification requests
Add MMS attachment support — multipart send, base64 storage, image display
- RingCentralProvider: override sendSms with multipart/form-data MMS path - VoipMessageService: accept attachment bytes, store base64 data URL in attachmentUrl ...
Add call event webhook pipeline; branch SMS vs telephony events before processing
Add capabilities, SIP credentials, and call management REST controllers
Implement RingCentral call management methods (sip, history, voicemail, presence, queues)
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.