Changelog
Was ist neu?
Jede Verbesserung an der Plattform, wie sie geliefert wird.
· SecurityService
Org-Beschreibung in config.json
Beschreibungsfeld hinzufügen zu buildConfigJson() und pass org.getDescription() von writeConfigFiles() so trägt die theed config.json die org's Beschreibung für Frontends, die in HTML-Meta-Tags verwendet werden.
· kamo-internal
Color Ticket Liste Globus von Anfrage oder Chat-Verbindung
· MediaService
Fügen Sie Anfrageor Präsenz Lookup für Ticket-Liste Agenten
· kamo-internal
Add includeCompany to market popup und companyName to Leads
Market Add/edit popup (LeadMarketManager): - Funksteuerung "Track Company Name" / "Individual Only" (erforderlich) - Standardwerte auf neuen Markt zu verunsichern; Vorabfüllungen auf Bearbeitung - Validiert und gesendet als includeCompany in create/update request Leads datagrid (LeadManager): - Firmenspaltung zeigt companyName für Leads aus den Unternehmensmärkten - Zeigt "No Specified", wenn includeCompany=true aber Name ist leer - Zeigt "" für Märkte, wo enthaltenUnternehmen=falsch/Null - Schnellsuche (AG Grid quickFilter) beinhaltet automatisch Firmenwerte Bleiform erstellen (CreateLeadClient): - Bedingt macht Firmennamen Textfeld, wenn Markt einschließlichCompany=true - Feld ist optional (max 50 Zeichen), verdrahtet in die Vorlage Nutzlast über LeadApi leadApi: companyName mapped durch createLead und updateLead-Anfragen
· InitializerService
include_company und company_name Spalten hinzufügen
LeadCompanyColumnRunner (Bestellen 40) fügt idempotently hinzu: - lead_markets.include_company (BOOLEAN, nullable) - verfolgt ob Markt erfordert Firmennamen auf Leads - lead.company_name (VARCHAR(50), annullierbar) - speichert Firmenname bei das Bleiniveau, wenn der Markt enthalten hatCompany=true
· SecurityService
Expose beinhaltenCompany in Intake-config und market-config Antworten
Sowohl **************** und **************** jetzt enthalten die includeCompany-Flagge, so dass das Frontend weiß, ob die Firmennamen Feld auf Blei Schöpfung.
· kamo-shared-library
Add includeCompany to LeadMarket und companyName to Lead
- LeadMarket Entität bekommt include_company (Boolean, nullable) - Lead Entität bekommt company_name (String, max 50, nullable) - LeadMarketDTO, CreateLeadMarketRequest, UpdateLeadMarketRequest carry includecom - LeadDTO trägt companyName und entlarvt Unternehmen innerhalb MarketInfoDTO - ************ carry companyName - LeadMarketService-Drähte beinhalten Unternehmen auf Erstellen/Update - LeadService wires companyName on create/update und bewahrt es über Hypotheken-Typ-Konvertierungen
· kamo-internal
Verkaufstyp Pfad in Add Lead Untertitel anzeigen
Fügt den Markt Verkaufstyp und Sub-Type an die "Adding to"-Linie an, so das Formular spiegelt die Etiketten im Edit Market Popup unter ************ Renders als "Einzugabe zu {Market] (Service - Wohnhypothek)", wenn ein Subtyp ist gesetzt, "Einzugabe zu {Market" (Service) ", wenn nur ein Elternteil gesetzt ist, und "Einzugabe zu {Market", wenn kein Verkaufstyp gesetzt ist.
· kamo-internal
Unified PhoneSdk unterstützt RingCentral + sip.js (FreePBX)
Der Softphone-Hook verwendet, um ringcentral-Web-Telefon bedingungslos zu instanzieren, die auf jede FreePBX Anmeldeform warf, weil dieses SDK hart codiert ist RingCentral's WSS Bereitstellungsformat. - Neue PhoneSdk-Schnittstelle definiert eine Provider-agnostische Oberfläche (start, stoppen, einladen, ************ plus ein PhoneSdkSession mit **************** - RingCentralPhoneSdk wickelt ringcentral-web-phone, Erhaltung der bestehenden RC-Verhalten. - SipJsPhoneSdk sip.js (UserAgent + Registerer + Inviter/Invitation), angehängt Remote-Audio über die ausgehandelte Peer-Verbindung, unterstützt in-dialog re-INVITE für Hold/unhold, und verweist auf Übertragung. - erstellenPhoneSdk wählt den Adapter von creds.provider (RING_CENTRAL, FREE_PBX, KAMO_PBX). - useSoftphone treibt jetzt das vereinheitlichte SDK und Oberflächen den echten SDK-Fehler Text in der RegistrierungError statt der generischen 'Telefon SDK gescheitert initialize' string. - Fügt sip.js@0.21.2 Abhängigkeit hinzu.
· VOIPService
WSS-aware SIP Anmeldeinformationen für Browser-Softphones
Der Endpunkt /api/voip/sip/credentials liefert jetzt Zugangsdaten einer Browser-Seite SIP-Stack kann tatsächlich verwenden: WSS Transport, Public Domain, und eine wsServers URL. - SipController löst MitgliedsmitgliedVoipConfig, validiert VOIP ist aktiviert und eine Erweiterung zugewiesen wird, dann Routen zum Mitgliedsspezifischen Instanz (nicht die primäre der Org). Gibt beschreibende 409s zurück, wenn das Mitglied ist nicht konfiguriert, anstatt leere Zugangsdaten zu produzieren. - SipInfo gewinnt wsServer für SIP-over-WebSocket; SipCredentialsResult gewinnt Anbieter, so dass das Frontend wählt die richtige SDK-Adapter (RingCentral WebPhone vs SIP.js für FreePBX/KamoPBX). - FreePBXProvider leitet die SIP-Domain von der konfigurierten baseUrl ab und standardmäßig wssServers auf wsss://<host":8089/ws. Per-Instanz überschreibt (sipDomain, sipWsServer, sipWssPort, sipTransport) lesen von configJson Cover Split-Einsätze, bei denen SIP mit einem anderen Hostnamen endet oder Traefik beendet TLS bei /ws am Port 443. - PhoneProviderFactory parsiert die neuen optionalen configJson Felder und Feeds Sie in eine SipTransportConfig-Platte auf FreePBXProvider. - RingCentralProvider markiert seine Anmeldeinformationen mit provider=RING_CENTRAL.
· KlusterServices
WSS WebRTC Transport für Browser Softphones hinzufügen
Asterisk's chan_pjsip bindet jetzt einen einfachen WebSocket Transport auf 0.0.0.0:8089 und Traefik beendet TLS bei ************ (Port 443) so kamo-internal können Browser Softphones über die bestehende Wildcard registrieren cert, ohne Verwaltung Zertifikate in der Hülse. - configmap-k1m1.yaml: startup.sh schreibt pjsip.transports_custom.conf mit der WS transport und pjsip.endpoint_custom_post.conf mit webrtc=yes overrides für die bestehenden Erweiterungen (8080, 2523), die auf den WS-Transport geheftet sind. - service.yaml: setze Port 8089 (sip-ws) auf dem freepbx Service so die neue IngressRoute kann es zielen; die pod ist auf hostNetwork, so dass diese Karten zu der k1m1 Host's Port 8089. - ingressroute-ws.yaml: HostRegexp + PathPrefix(/ws) auf Priorität 100 Routen WebSocket rüttelt auf freepbx:8089 *ohne* die Kamo-Middlewares-Kette dass die Kette komprimiert enthält, was SIP-over-WS-Frames korrumpieren würde.
· SecurityService
Hinzufügen /Names Endpoint Rückkehr-ID-Name für alle Mitglieder unabhängig von Staat
Die by-department Endpoint Filter nur für aktive Teammitglieder, aber Erweiterung Zuweisungen können sich auf Mitglieder oder inaktive Mitglieder beziehen. Verwenden / Namen für ID-Name-Auflösung, bei der die Berichterstattung mehr zählt als Aktivitätszuschauer.
· kamo-internal
Single-Lead Add Lead-Formular bei /leads/new
Refactor Add Lead aus einer in-page Multi-Tab-Seanne in eine dedizierte Route bei /leads/new, so dass es direkt verlinkt werden kann. Der aktuelle Markt ist vorbei durch als ?marketId= und vorgewählt. Bleimarkt, Verkäufer und Produkt sind nun erforderlich; der Kontakt erfordert mindestens einen der ersten/letzten/bevorzugten Name und eine von E-Mail oder Telefon. Hypotheken-Subtyp-Felder und jeder Markt Die Felder in Custom-Form, die markiert ist, werden inline dargestellt. Auf Erfolg, leitet zu /leads/view/{id' um.
· SecurityService
************-Endpunkt hinzufügen
Gibt SalesType, SubType und CustomForms für einen Markt nach marketId so zurück die Lead-Form hinzufügen kann Untertypfelder und Einnahme-Benutzerdefinierte Formen darstellen ohne vorher einen Vorsprung zu schaffen.
· kamo-internal
Anzeige auf Einnahme-Keehe hinzufügen, Auto-Lock, wenn erforderlich aktiviert ist
· kamo-internal
Hinzufügen von anzeigenonIntake zu FormField TypeScript Typen
· kamo-shared-library
Coerce isDisplayOnIntake=true, wenn erforderlich=true in CustomFormService
· kamo-shared-library
Hinzufügen vonDisplayOnIntake zum Erstellen/Update von DTOs
· kamo-shared-library
Expose istDisplayOnIntake in FormFieldDTO
· kamo-shared-library
IS_DISPLAY_ON_INTAKE Spalte zu FormField hinzufügen
· kamo-internal
Link zugewiesener Mitgliedsname zu ihrer Telefon-Einstellungen-Seite
· kamo-internal
Mitgliedsnamen-Anzeige und Unsign-Button zu den Registerkarten pro Instanz hinzufügen
· kamo-internal
Mitgliedernamen anzeigen und Unassign-Aktion zu org-Level-Erweiterungen hinzufügen
· kamo-internal
Wire VOIP-Konfiguration an Provider+Extension Selektoren mit Zuweisung Durchsetzung
· kamo-internal
Fügen Sie getippte DTOs, unsign API-Methode hinzu und aktualisieren MembershipPermissionsTab VOIP-Typen
· VOIPService
DELETE-Zuweisungs-Endpunkt zu VoipExtensionsController für Admin hinzufügen unassign
· VOIPService
MemberVoipConfigController für Mitglied VOIP config mit Erweiterungsauftrag hinzufügen
· kamo-shared-library
Die Abfragemethoden von findByAssignedMemberId zu PhoneExtensionRepository hinzufügen
· kamo-internal
Aktive Mailbox in URL-Abfrageparams
Das Umschalten von Postfächern aktualisiert jetzt die URL (?mailboxId, ?mailboxId, ?mailbox) so aktualisieren Sie den Browser stellt die gleiche Mailbox. MessageBrowser liest window.location.search in seinem faulen useState Initializer zur Wiederherstellung activeMailbox vor dem ersten Render, und schiebt URL-Updates über router.Ersetzen Sie auf jedes per Mailbox-geänderte Ereignis. FolderSidebar liest die gleiche URL-Params nach getAccessibleMailboxes löst so den Dropdown spiegelt die restaurierte Auswahl wider.
· kamo-marketing
Flowroute zur Integrations-Hub-Seite hinzufügen

Euer Universum wartet.
Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.
Für immer kostenlos – keine Kreditkarte erforderlich