Aller au contenu
KAMOUniverse

Changelog

Ce qui est nouveau.

Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.

  1. · VOIPService

    Synchronisation de l'équipeMembre Téléphonique Work extension sur la configuration VOIP

  2. · SecurityService

    Service de recharge TeamMember Extension de travail à partir de MemberVoipConfig au démarrage

  3. · kamo-internal

    Les fonctions d'appel filaire mettent en bout bout la fin grâce à l'abstraction du fournisseur

    - voipApi: ajouter CallFeaturesDto de type, getCallFeatures() et setCallFeatures() API appels - utiliserSoftphone: ajouter - état chargé à partir de l'API au démarrage; les actions setCallForward/setAutoAnswer persistent via l'API; auto-réponse et les effets d'appel vers l'avant-démarrage des appels entrants lorsque les fonctionnalités sont actives - SoftphonePanel: supprimer l'état de la fonction d'appel local uniquement; basculement d'appel Forward et numéro d'entrée dans le contexte du softphone; fil de changement de réponse automatique vers le contexte du softphone; renommer le bouton nav en «Gestion des paramètres A/V étendus» - La synchronisation des curseurs audio était déjà fonctionnelle via le bus d'événements useAVSettings - aucun changement n'est nécessaire

  4. · VOIPService

    Ajouter les fonctions d'appel API - appel en avant - réponse automatique câblée par l'abstraction du fournisseur

    - Ajouter CallFeaturesDto et SetCallFeaturesRequest POJOs - Ajouter CallForward/autoAnswer flags à ProviderCapabilities - Ajouter par défaut getCallFeatures/setCallFeatures à l'interface PhoneProvider - RingCentral: mise en œuvre via des règles de réponse REST API (UnconditionalForwarding) - FreePBX: mise en œuvre via GraphQL addCallforfor mutation - CallFeaturesContrôleur: GET/PUT /api/voip/calls/features et DB primaire, syne native du fournisseur

  5. · kamo-shared-library

    Ajouter MemberCallFeatures entité et référentiel pour les préférences d'appel et de réponse automatique

  6. · kamo-asterisk-support

    Entraiment initial - FreePBX Record-loader (GO)

    Montres - pour les enregistrements WAV terminés, regroupe des jambes d'appel multi-jauges par Asterisk UNIQUEID, et télécharge chaque lot vers APIService /api/voip/recordements/upload à l'aide d'un VEIP-RECORDING-UPLOADS-scoped Clé API. Les fichiers ne sont supprimés du disque qu'après confirmation de la plate-forme. Bootstrap idempotently fournit un utilisateur de l'AMI via l'adresse suivante: manager.custom.conf et installe MixMonitor() à crochets par canal via extensions-custom.conf, puis demande à Asterisk de recharger ses modules dialplan/manager. Les deux blocs gérés sont entourées de bannières clairement marquées, de sorte que les personnalisations d'administration survivent. Inclut Dockerfile, k8s manifestes pour k1m1 et k2m1 (Déploiement et ConfigMap Modèle secret), en miroir du reste de la plate-forme, et un README.txt non technique pour les hôtes autonomes de FreePBX.

  7. · kamo-internal

    Portée de l'enregistrement des compteurs/tonnes de la filière

    - APIManager: nouvelle option de champ d'application VOIP-RECORDING-UPLOADS (utilisée par kamo-asterisk-support) sur les hôtes FreePBX pour télécharger la messagerie vocale et les enregistrements d'appel via APIService). - VoipSmsTab: nouvelle carte "Enregistrement de l'oléoduc" à quatre compteurs (voixmails à processus, appels à traiter, messages vocaux en erreur, appels d'erreur) et rafraîchissements tous les 30s, utilise - Nouveau "Enregistrement" Carte de traitement" avec voipVmBatchTaille / voipCallBatchSize / voipSeconds témérables. - systemConfigApi: étendre la mise à jour() pour envoyer les nouveaux éléments; ajouter l'enregistrementStats(). - Types/téléphones: SystemConfigurationDous pour gagner les trois nouveaux éléments; VoipRecordingStatsDto a été ajouté.

  8. · SecurityService

    stats d'enregistrement de la configuration du système et d'enregistrement tunables

    - GET et retourne les quatre compteurs Dévoit sur les paramètres kamo-internels - Plateforme - Configuration - VoIP/SMS onglet (vmPending, callPending, vmError, callError). - PUT /api/sécurité/system-config accepte maintenant voipVmBatchSize, voipCallBatchSize, voipPollSeconds pour DaemonService enregistre-processeur tunables. - toDto() inclut les nouveaux champs afin que le frontend puisse les lire en retour.

  9. · DaemonService

    EnregistrementProcessorJob et NATS pour les téléchargements frais

    - Nouveau Quartz RecordingProcessorJob coche chaque minute, expédie indépendant VM et lots d'appels simultanément à ConversionService en utilisant le bouquet voipCallBatchSize. - Nouveau compte d'enregistrement ReceivedConsumer subscribes to voip.recording.reçu sujet NATS émis par ConversionService lors de nouveaux téléchargements et déclenche un parcours immédiat, donc un enregistrement de démarrage de l'enregistrement à un stade frais dans les secondes au lieu d'attendre au scrutin périodique. - Configmap expose daemon.jobs.recordings.cron et le - c'est à qui il parle.

  10. · ConversionService

    Enregistrement ingest - pipeline de traitement FFmpeg

    - Nouvelles phases et téléchargements en plusieurs parties transmis par APIService dans le seau MinIO et crée une ligne d'arrêt UnprocessedRecording. Idémpotent sur les essai à l'aide d'utilisation (phoneServerId, astériskUniqueId). - Nouveau point d'entrée (appelé par DaemonService) draine les lignes: télécharge des WAV mis en place, mélange les jambes d'appel en un seul Opus/WebM master via FFmpeg amix, transcode par canal WAVs comme pistes à côté du master, et téléchargement via RecordingImagingService avec VM-RECORDING (8) / APPRÉCREQUE 9 ImageAssocType. - Nouvelle enveloppe FfmpegService (transcodeToOpusWebm / mixToOpusWebm) avec temporisation et le nettoyage des fichiers temporels. - L'éditeur NATS émet voip.recording.reçu à chaque téléchargement mis en place. DaemonService peut raccourcir son sondage périodique. - Dockerfile installe ffmpeg au stade de l'exécution (navires alpins ffmpeg libopus par défaut). - ConfigMap expose les expositions (transaction croisée partagée) secret d'appel interne) de sorte que les nouveaux points d'extrémité peuvent authentifier APIService et Appelants de DaemonService.

  11. · APIService

    VoipRecordingUploadCurteur de téléchargements de support kamo-asterisk-support

    POST /api/voip/recordages/upload accepte les corps en plusieurs parties à partir de kamo-asterisk-support fonctionnant sur des hôtes FreePBX. Validifie la version X-Api-Key a la nouvelle VOIP-RECORDING-UPLOADS champ d'application (réutiliser le cache de validation de l'utilisateur), puis transmet la charge utile et les en-têtes de métadonnées multipartes (X-Phone-Server-Id, X-Asterisk-Unique-Id, X-Recording-Kind, X-Primary-Extension) à ConversionService -

  12. · kamo-shared-library

    Entité de mise en scène d'enregistrement non traitée, pistes d'ImgDat, service d'enregistrement

    - Correction de la collision ID de type Image: VM-RECORDING-8, APPRÉCOROLAGE-9 (les deux faisant référence à MY-DOCS à 4). - Ajouter - pour qu'un enregistrement maître puisse être transporté Les pistes Opus/WebM par canal côté du concept de vignette existante. - Ajouter ImageMimeType.AUDIO-WEBM (audio/webm) pour les conteneurs Opus-in-WebM produit par la filière de conversion. - Nouveau traitement non traité (UUID id, IS-VM, PHONE-SERVER-ID, EXTENSION, ASTERISK-UNIQUE-ID, IS-PROCESSED, IS-ERROR-MESSAGE, RESULT-IMG-ID, DATE-ADUCTION, DATE-PROCESSÉ) entité de mise en scène - dépôt de l'entité kamo-asterisk-support - ConversionService - pipeline DaemonService. - Nouveau service d'enregistrementImaging qui télécharge un maître Opus/WebM maître sur l'imagerie avec des pistes Opus/WebM par canal fixées via ImgDat.trackCount. - SystemConfiguration: ajouter voipVmBatchSize / voipCallBatchSize / voipPollSeconds pour les tunables de processeur d'enregistrement DaemonService.

  13. · kamo-asterisk-support

    Entraiment initial - FreePBX Record-loader (GO)

    Montres - pour les enregistrements WAV terminés, regroupe des jambes d'appel multi-jauges par Asterisk UNIQUEID, et télécharge chaque lot vers APIService /api/voip/recordements/upload à l'aide d'un VEIP-RECORDING-UPLOADS-scoped Clé API. Les fichiers ne sont supprimés du disque qu'après confirmation de la plate-forme. Bootstrap idempotently fournit un utilisateur de l'AMI via l'adresse suivante: manager.custom.conf et installe MixMonitor() à crochets par canal via extensions-custom.conf, puis demande à Asterisk de recharger ses modules dialplan/manager. Les deux blocs gérés sont entourées de bannières clairement marquées, de sorte que les personnalisations d'administration survivent. Inclut Dockerfile, k8s manifestes pour k1m1 et k2m1 (Déploiement et ConfigMap Modèle secret), en miroir du reste de la plate-forme, et un README.txt non technique pour les hôtes autonomes de FreePBX.

  14. · kamo-internal

    Remplacer l'onglet de contacts fictifs par des contacts entièrement équipés

    Extraire un nouveau composant SoftphoneContacts qui câble les contacts du softphone onglet vers l'API de contacts réels via useContacts(). Remplace 4 maquettes codées en dur contacts avec les données en direct de tous les carnets de contact. Caractéristiques: - Pilules filtrantes pour livres et groupes avec sélecteurs déroulants - Recherche déboutée, trier par dernier/prénom/nom complet - initiales d'avatars à code couleur (hérachisme déterministe), photosupport - Liste de contact avec bouton d'appel rapide stationnaire aéro-reveillant - Vue détaillée (liste des postes dement) montrant les téléphones, les courriels, les org, les notes - Mode d'édition en ligne pour tous les champs (téléphones/courriels multi-valeurs avec add/remove) - Supprimer le contact avec l'étape de confirmation - État de squelette vide et de chargement - "Nouveau contact" navigue vers /contacts?action-créate Actualise les contacts/page.tsx pour ouvrir automatiquement le dialogue de création lorsque La paramétration de créate est présente (utilisée par le bouton "New" pour le softphone).

  15. · kamo-internal

    Remplacer l'extension Puce par le texte en ligne à côté du rôle dans Interaction Center

  16. · kamo-internal

    Supprimer le champ d'extension manuelle du téléphone; écrire l'extension VOIP jusqu'à SecurityService en économiseant

  17. · SecurityService

    Inclure l'extension de travail par le département dans la réponse par le département; accepter le téléphoneExtension sur le membre PUT

  18. · kamo-shared-library

    Ajouter des assistants à l'ÉquipeMembre

  19. · kamo-internal

    VAD du fil et push-to-talk; supprimer les réglages non implémentables

    - vadEnabled maintenant passe comme voixActivitéDétection dans la constructionAudioContraintes ainsi le navigateur honore la bascule lors de l'ouverture du micro pour un appel - pushToTalk auto-mute automatiquement le micro à l'appel accepte et installe le bas de touche/clérir les auditeurs qui se démutent pendant que la touche de force configurée est tenue - Détachés de réglages qui n'avaient pas de câblage fonctionnel et ne peuvent pas être mis en œuvre via les API WebRTC standard de navigateur: micGain (pas de GainNode dans le pipeline SIP), highPassFilter, noiseGate, vadThreshold, hdVoice, cameraBackgroundBlur (nécessite ML), caméraBrightness/cameraContrast (prévisualisation CSS seulement) - Nettoyage de l'interface AVSettings et DEFAULT-AV-SETTINGS en conséquence; rééquilibré des grilles de basculement après enlèvement

  20. · kamo-internal

    Liste des sonneries rouletrables avec filtre de recherche

    Faire correspondre le panneau de catalogue de la sonnerie à la hauteur et défiler la colonne droite verticalement lorsque la liste déborde, de sorte que les membres peuvent naviguer comme plus de tonalités sont ajoutés. Ajout un champ de recherche qui filtre par étiquette ou nom de fichier, avec un un bouton clair et un message d'état vide.

  21. · kamo-internal

    Ajouter sept sonneries supplémentaires au catalogue

    Adds Battleship Horn, Demon Horn, Land Line, 1985 Anneau, téléphone de bureau, Anneaux anciens et Olé sous /public/sons/ingillants/ et fils Ils apparaissent donc à côté de l'actuel Par défaut / Sci-Fi / Buzzer / Options silencieuses sur le sous-tabon des sonneries.

  22. · kamo-internal

    Ajouter les sonneries de Sci-Fi et Buzzer au catalogue

    Largue deux nouveaux actifs de sonneries sous /public/sons/sondes/ et les enregistre dans RINGTONE-CATALOG de sorte qu'ils apparaissent dans les sonneries sous-tab et peut être défini comme la tonalité de softphone entrant par défaut.

  23. · kamo-internal

    Axe audio à trois colonnes, bandelette sauvegardée, largeur de remplissage

    Présente le sous-tabon audio en tant que microphone et haut-parleur plein row sur les écrans lg (md les couple toujours deux-up, xs piles). Le La carte avancée passe à une pile verticale à l'intérieur de sa colonne plus étroite. Supprime le bas de page "Réglages sauvegardés automatiquement" le comportement est implicite et la carte ne faisait que prendre de place. Panneaux de force à la largeur: 100 % et ajouter alignerItems. "stretch" à chaque sous-table, les cartes remplissent toujours leur bord de colonne à bord.

  24. · kamo-internal

    Divis de paramètres AV divisés en sous-tabs audio/vidéo/singues

    Réorganise l'onglet audio/vidéo en trois sous-bits internes et îlots chacun d'entre eux étant fixé horizontalement, de sorte que les réglages s'intègrent dans la fenêtre d'affichage sans la paroi du défilement vertical que nous avions auparavant. Corrige également le catalogue de sonnerie pour pointer sur le réel /sounds/ringtone.mp3 actif au lieu des trajets fantômes sous /sounds/ringones/, donc les aperçus et la session de softphone toujours allumée partager une seule sonnerie canonique.

  25. · kamo-internal

    Ajouter une onglet et un fil de réglage audio/vidéo dans un softphone

    Ajoute un magasin de préférences AV par dispositif (localStorage, spécifique à la machine, non itinérance) plus un onglet complet sur /settings/member/zid pour Configuration et test du microphone, du haut-parleur, de la sonnerie et de la caméra. La fenêtre de l'outil de téléphonie mobile, la lecture de sonnerie et les adaptateurs SIP SDK maintenant honorez ces paramètres en direct: routage de l'appareil via setSinkId, getUserMedia contraintes (deviceId - EC/NS/AGC/sample rate), volume de tonalité DTMF, dispositif de sonnerie - sélection de tonalité, notification de muet-à-côte et notifications de bureau.

  26. · kamo-internal

    Session SIP toujours allumée avec auto-popup et sonnerie sur les appels entrants

    Le softphone utilisé pour ne s'enregistrer que pendant que la fenêtre de l'outil pop-up était ouverte fermer et les appels à l'entrée ont été silencieusement manqués. Relâcher la session en un SoftphoneProvider monté sur AuthenticatedToolWrapper, donc SIP REGISTER est détenus en permanence pendant que l'opérateur est connecté et tout IDON entrant Il attire l'attention de l'opérateur. - app/hooks/useSoftphone.ts: renommer le crochet d'implémentation en useSoftphoneSession pour renforcer le montage exactement une fois par session (il est propriétaire des pouvoirs de contrôle du SIP et du REGISTER). - Nouveau SoftphoneProvider organise la session crochet une fois, expose l'état par le biais, et réagit à hasIncomingCall Transitions - sape la fenêtre de l'outil de téléphonie mobile via un outil: ouvrir un événement personnalisé (unique-instance, donc il se concentre si déjà ouvert) avec l'identifiant de l'appelant dans le titre, et joue /sounds/ringtone.mp3 sur une boucle jusqu'à l'utilisateur accepte/rejets/la télécommande raccroche. Utilisation publiqueSoftphone() crochet lire du contexte. - Passer à l'importation dans le contexte. - Envelopper l'arborescence de l'outil avec SoftphoneProvider donc la session vit aussi longtemps qu'au-avance. Cadence NA classique (440Hz et 480Hz, 2s on, 4s silence) donc audio.boucle-vrai donne un motif annulaire/pause/anneau naturel. 72 KB. Les navigateurs peuvent bloquer la lecture initiale() jusqu'à ce que l'utilisateur ait fait un geste sur le page; l'opérateur a généralement cliqué au moins une fois au moment où un appel arrive, il s'agit donc rarement d'un problème dans la pratique.

  27. · KlusterServices

    Seed pbx.k1.kluster.kamocrm.com en tant que domaine statique

    Le navigateur softphone a besoin de SIP-over-WSS pour atterrir sur un nom d'hôte avec un réel Certœur TLS. Ajouter le nom d'hôte FreePBX admin / WS à STATIC-DOMAINS afin que Un voyant de culbuteur automatique fournit un certificat per-host Let's Encrypt pour elle sans condition au lieu de compter sur lui apparaissant dans les journaux d'accès Traefik. Une fois le cert émis, le chemin temporaire internal.kamocrm.com/voip-ws (mitié précédemment comme solution de contournement) peut être retiré et le softphone can. utiliser l'URL canonique pbx.k1.kluster.kamocrm.com/ws URL.

  28. · kamo-register

    Nom court et description de l'organisation en tête HTML

    Remplacer la logique de titre par l'org-API par le site config.jsonNhort de sorte que Le titre suit le même schéma que les autres sites: "Register - 'siteNameShort'". Ajout de la description meta tag de config.json. Enlève l'utilisation non utiliséeThemeConfig import.

  29. · kamo-login

    Nom court et description de l'organisation en tête HTML

    DynamicMetaLoader définit maintenant le document.title à "Login - 'siteNameShort'" et écrit la description de l'ordonnance dans l'étiquette de méta-description. Mise en page statique.tsx repli mise à jour; suppression des métadonnées KamoCRM OG/Twitter codées en dur.

  30. · kamo-internal

    Nom court et description de l'organisation en tête HTML

    DynamicMetaLoader définit maintenant document.title sur siteNameShort (était siteName) et écrit la description de l'ordonnance dans l'étiquette de méta-description. Static mise en page.tsxback actualisé en valeurs génériques.

Votre univers vous attend.

Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.

Gratuit pour toujours — aucune carte de crédit requise