Aller au contenu
KAMOUniverse

Changelog

Ce qui est nouveau.

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

  1. · kamo-internal

    Historique de qualité Production et onglets de messagerie vocale avec outil de lecteur multimédia

    Onglet Historique (SoftphoneHistoryTab.tsx): - Rouleau infini via l'Unitre-observateur à l'intérieur du conteneur de défilement du panneau - Puces filtrantes : Toutes / Inbound / Outbound / Missed / Enregistrés - Enregistrement de l'icône en actions de rangée lorsque le côté imagerie comporte une ligne d'enregistrement - Menu de débordement par habitant (Ajouter aux contacts) - Cliquer pour faire appel via le dialpad existant Onglet messagerie vocale (SoftphoneVoicemailTab.tsx): - Fixes de filtrage infinies (Tous / Unread / Has audio) - Lecture par ligne / Rappel / Plus d'actions - Auto-marque-lecture sur le jeu - Suppression permanente du dialogue : Archive (soft-hide, tous les utilisateurs) vs supprimer à titre permanent (parlié par le droit VOIP-VOICEMAIL-PERMANENT-DELETE; retombe à l'état désactivé pour les utilisateurs qui n'en ont pas); - Bouton de lecture long sans pas d'op-lor-zérot MediaPlayer outil popup - Audio: laveur de type forme d'onde synthétisé, click-to-cherk, Replay10/Forward10, taux de lecture (0,5x-2x), boucle, volume et muet, dispositif de sortie honoré à partir des réglages AV - Vidéo: bandes de vision, PiP, plein écran, même épurateur et commandes - Sélecteur multipiste pour les enregistrements d'appel (maître et chaque jambe de train) - Téléchargement - Deux modes de source: enregistrement voipApi (appel/VM) ou asset d'imagerie par imgId - Enregistrement dans tool/registry/registrations.ts en plusieurs instances Crochet et plomberie: - useSoftphone expose l'historique paginé et les messages vocaux (loadMore, hasMore, isLoading) et les actions archivoro-de-sillé-détection - voipApi gagne en recherchagesEnregistrements, getRecordingMetadata, archiveVoicemail, paginated getVoicemails - /api/voip proxy passe les corps audio/vidéo/octet-course à travers avec - intacts (pas de tampon) de sorte que les éléments du média scrub - Nouveaux points de vue et passage au nouveau critère de diffusion en continu de DocsService avec Range - VOIP-VOICEMAIL-PERMANENT-DELETE ajouté au registre de type RoleRightTyper, donc vérifierGarle droite Portes de l'UI de suppression

  2. · InitializerService

    Lecat de migration pour les colonnes de l'enregistrement des fournisseurs de l'enregistrement et des colonnes d'archives VM

    AddORDINGS.provider-instance-id (UUID) et provider-external-id (VARCHAR(64)) plus l'indice de recherche de l'onglet idx-recordings-provider-lookup index utilisé par le critère de recherche de l'onglet de l'historique de l'histoire du softphone. Il ajoute également PHONE-VOICEMAIL.is-archived-date-archived pour le nouveau flux d'archives douces. L'arrimage préexistante / ENREGISTREMENT-EXTES dans le même laissez-passer - naturellement idempotent (le prédicat ne correspond que des rangées dont le fournisseur - externe - NULL, qui ne se produira pas une fois que ConversionService est sur le nouveau chemin de code). L'ordre 35 après l'article 30, de sorte que les tables d'enregistrement existent avant que les ALTER ne débarquent.

  3. · ConversionService

    Persist providerInstanceId et fournisseurExternalId sur l'enregistrement à l'ingest

    File X-Phone-Server-Id et X-Asterisk-Id (déjà en UnprocessedRecording) sur les nouveaux champs RecordingMetadata de sorte que les lignes d'appel/voix dans le système d'imagerie portent la clé de jonction à la ligne du fournisseur source. Pour les messages vocaux, l'assistant envoie le nom de base de nom de fichier brut (par exemple msg0000); nous désordonnons le préfixe msg et les zéros principaux afin que la clé stockée corresponde à ce que la messagerie vocale REST de FreePBX retourne comme le message id.

  4. · DocsService

    Ajouter avec la prise en charge de la plage HTTP

    Scrit générique de streaming pour les actifs d'imagerie audio/vidéo, utilisé par l'outil MediaPlayer kamo-internal. Autorisation Reuses ImageService (même chose que /download/...) mais flux avec Accept-Ranges et Gamme de Contenu afin que les éléments multimédias puissent frotter sans charger le fichier complet.

  5. · VOIPService

    Enregistrement de la lecture, archives de messagerie vocale, messagerie vocale paginée, enrichissement historique

    - Nouveau contrôleur d'enregistrement avec recherche en masse, audio en continu à distance pour les pistes maîtres et par canaux, et métadonnées pour la fenêtre de l'outil de lecteur multimédia - CallController.getCallHistory / getVoicemails enrichit chaque ligne avec l'enregistrement d'imageId via le nouveau RecordingLookupService et un seul aller-retour, pas de N-1 - PhoneProvider.getVoicemails prend maintenant (memberId, page, taille); FreePBX paginates côté client à partir d'un seul aller-retour, RingCentral utilise la radiomessagerie native, KamoPBX continue de lancer NotSupported - Terme terminal des archives de messagerie vocale (soft-hide via PhoneVoicemail.isArchived) et permanent-lettatif par VOIP-VOICEMAIL-PERMANENT-DELETE - godActive by - PhoneProvider gagne getInstanceId() afin que les contrôleurs puissent résoudre la clé d'adhésion pour enregistrer les résultats des visites sans un deuxième appel d'usine

  6. · kamo-shared-library

    T clés de recherche du fournisseur sur l'enregistrement, l'archive de la messagerie vocale, la diffusion en continu de la gamme MinIO

    - Enregistrement: ajouter fournisseurInstanceId et fournisseurExternalId pour rejoindre les lignes d'appel d'appel/vocale du fournisseur aux actifs d'imagerie - PhoneVoicemail: ajouter estArchived et dater pour la peau souple à partir de listes de téléphones portables - RoleRightType: ajouter VOIP-VOICEMAIL-PERMANENT-DELETE (s'assure la suppression destructrice; les restes d'archives sont disponibles pour tous) - MinIOStorageService: ajouter openRange() et RangeStream pour que les points d'extrémité audio/vidéo puissent honorer la plage HTTP EnregistringImagingService: fournisseur de threads id et id externe via RecordingMetadata sur la ligne d'enregistrement au niveau d'ingestion

  7. · kamo-internal

    Ajouter l'onglet Historique - Chôlé de l'audit paginé avec recherche et filtres

    - LeadHistoryPanel: barre d'outils de filtre collant avec recherche déboutcée, et filtres, tableau MUI avec pagination, puces d'événements codées en couleur, résolution du nom du membre pour les champs d'affectation/compte - leadsApi: getLeadHistory() et getLeadHistoryFilters() avec un support complet de paramètre d'interrogation - Entrée de l'histoire principal, Histoire-directrice, LeadHistoryFieldMeta, LeadHistoryPageResponse, LeadHistoryFilters Responses types - Voies de substitution Next.js pour les filtres à z et/ou à l'utilisation de filtres - LeadViewClient câblé pour rendre LeadHistoryPanel lorsque l'onglet Historique est actif

  8. · SecurityService

    Ajouter les critères d'évaluation de l'EGET/id/history et /-id/history/filters

    Critère d'évaluation en palangé, filtrable, consultable, avec chargement par lots d'acteurs (n N-1). Filters endpoint retourne des champs utilisés distincts, tous les champs de registre, des acteurs distincts et tous les types d'événements. Tous les points d'extrémité en mutation passent maintenant le membre appelant en tant qu'acteur de LeadHistoryService pour l'attribution.

  9. · kamo-shared-library

    Ajouter un journal d'audit d'historique de plomb et d'entité, registre, service, DTO, crochets LeadService

    - Entité d'histoire du plomb (UUID PK, FKLE ordinaire et pas de contraintes FK pour permettre la suppression/conversion du plomb) - LeadHistoryEventType enum avec des étiquettes lisibles par l'homme - LeadHistoryFieldRegistry: source unique de vérité pour les champs de plomb à 55 dollars; l'ajout d'un champ est une ligne - Enregistrement du logiciel LeadFieldDescriptor (clé, étiquette, catégorie, extracteur) - LeadHistoryService: instantané/diffondu, - trouvé filtrés, distinctsFields/Acteurs pour les déroulants - LeadHistoryDTO avec ActorDTO imbriqué; tous les longs d'identification sérialisés en chaîne pour CockroachDB JS sécurité de précision - LeadService: cravates d'historique sur la création, la mise à jour, la suppression, l'assignation, lead d'affectation, l'unassignLeadAccount

  10. · SecurityService

    Le suivi de l'acteur de Wire LeadHistoryService dans LeadController

  11. · kamo-internal

    Ajouter l'UI d'attribution du compte principal, le système de monnaie, les pages affectées/nouvelles de compte, le champ de change des paramètres

  12. · SecurityService

    Ajouter les points d'extrémité d'affectation du compte-rendu, mettre à jour AccountCtroller for CurrencyType

  13. · kamo-shared-library

    Ajouter MonnaieType enum, mise à jour CountryType with primary currency, ajouter de la monnaie au compte/organisation, ajouter l'attribution du compte principal à LeadService

  14. · kamo-internal

    Étiquette de type membre dynamique dans le titre de la page Mon compte

    Le titre se lit désormais comme suit: «Mon compte membre de l'équipe» en utilisant l'org-configuré. les étiquettes de comportement, commutation automatique une fois le type de membre chargé.

  15. · kamo-internal

    Déplacer le bouton Créer le document dans la barre d'outils DocManager

    Le bouton n'était disponible que sur /doc/manager via l'action. J'ai déplacé toute la logique (état, manipulateur, DOC-TYPES, menu) dans DocManager so il apparaît sur chaque instance intégrée. Simplifié page.tsx à juste rendre DocManager sans action.

  16. · kamo-internal

    Déplacer l'adresse de diffusion en ligne de 3 colonnes avec des informations sur le plomb et un contact primaire

  17. · kamo-internal

    Appui international - CountrySelect, LanguageSelect, SubdivisionField sur tous les formulaires

    - Ajouter CountrySelect réutiliable (207 pays, icônes de drapeau), LanguageSelect (26 langues, icônes de drapeau), SubdivisionField (décharge d'État des États-Unis avec drapeaux; d'autres pays affichent le champ de texte étiqueté) - Ajouter des constantes de pays (pays.ts, langues.ts, usStates.ts, timezones.ts) - Vue d'entrée sur le plomb tab: édition par carte en place avec des champs - Formulaire de création de plomb : dérogramme complet pays/subdivision/zones horaires remplaçant les listes en ligne limitées - Paramètres de la labelManager: langue par défaut dans la section 8, CountrySelect-SubdivisionField dans l'adresse - ContactInfoStep (souconnel de création de réseau): CountrySelect-SubdivisionField remplaçant les sélections limitées - MyAccountTab: CountrySelect-SubsternelField remplaçant les champs de texte en clair - types/leads.ts: ajouter les champs de pays et de subdivision

  18. · kamo-shared-library

    Ajouter un appui international - Pays chef de file/subdivision/zones horaires, langue org, type de pays est la province

    - Trimes: ajouter l'ensemble PROVINCE-NAMES, est la province(), get SubdivisionLabel() - Organisation : ajouter la langue (type de langue) - Plomb : addition d'un pays (type de pays), subdivision (champes de chaîne), fuseau horaire (type Timezone) Ajouter les champs de champ de division, de lotissement, de zone de temps - LeadService.createLead: gérer de nouveaux champs; langue par défaut à partir des paramètres d'orge - LeadService.updateLead: gérer de nouveaux champs - Ajouter le langage touchableChèvre de la touche

  19. · kamo-internal

    ASIGN-LEADS droite, filtre d'agent option non assigné, maillage de la colonne de grille

    - Option de filtre de l'agent «Nonsigned Leads» derrière ASSIGN-LEADS droite - "Tous les chefs de file" exclut les pistes non attribuées pour les membres sans le droit - Supprimer les colonnes Street, Product, Source; supprimer les filtres de produits/Sources déroulants - Supprimer la colonne de l'entreprise; la colonne de contact indique le nom de l'entreprise, retombe au nom du contact - La colonne du vendeur montre l'infobulle avec le produit – Détails de la source - Les colonnes de dattes abandonnent le préfixe du jour de la semaine, se rétractent de 170px à 140px - DateTimeAspect: ajouter showWeekday prop (faux faux en cas de défaillance)

  20. · kamo-shared-library

    Ajouter la droite ASSIGN-LEADS (ID 137) dans la section CRM

  21. · kamo-internal

    Ajouter la section "Affectation" au marché et à la section "Fains"/les chef de file/nouveau

    - Fetches des membres actifs de l'équipe à partir de la montée en place - Groupes membres par département avec des départements et des membres classés par ordre alphabétique - Formats noms "Dernier, premier" ; la première option est "Auto Assign / Non-Arrêté" - Champs de la section des commandes : marché principal, affectation à, meilleur moment pour le contact, fournisseur, produit, type de prospect (tous les lg-4) - Fixe des bits d'appel pour envoyer assignedTeamMemberId au lieu du champ d'utilisateurs assignés - Ajout d'une équipe assignée à l'article de modèle

  22. · kamo-asterisk-support

    Emit recordedAt et par fichier extension dans le manifeste de téléchargement

    - Veilleur: chaque enregistrement émis est enregistréAt, dérivé de la Le segment EPOCH de notre gestion nom de fichier, retomber au fichier mtime pour la messagerie vocale / fichiers hérités du passé. - Grouper: CallBatch suit maintenant FileExtensions[) (un par fichier, parallèle) à Files [) et le lot's globaux RecordedAt (démarrage de la jambe le plus précoce). La touche de tri pour les jambes est enregistréeAt avec FinalizedAt as tiebreaker de sorte que le Maître jambe est déterministe. - Téléchargeur : le manifeste comprend désormais un enregistrement de haut niveauAncien et un fichier par fichier extension. ConversionService consomme les deux pour écrire l'enregistrement (date-enregistrement, longueur à partir de ffprobe) et lignes d'enregistrement par jambeExt.

  23. · ConversionService

    Passer les métadonnées d'enregistrement à l'imagerie - longueur de la ffprobe - analyse de manifeste

    - 'show'show-entries format-d'exécution sur le maître Opus/WebM, retourne ms. 0 - inconnu (non fatal). - maintenant : sondeDurationMs sur le maître pour obtenir la longueur de l'enregistrement; parse le manifeste (envoyé par kamo-asterisk-support) pour enregistrementAt et les données d'extension/canal par fichier, retomber à la ligne de mise en scène dateCréité et analyse de noms de chaîne pour les charges utiles plus anciennes; - passe a Date Enregistrée, longueurMs, participationExtensions) à RecordingImagingService de sorte qu'il peut écrire les nouvelles lignes Recording et RecordingExt.

  24. · kamo-shared-library

    Enregistrement et enregistrementExt, RecordingImagingService les écrits

    - Nouvelle entité d'enregistrement (UUID id, IMGID, IS-MASTER, IS-VM, EXTENSION, MEMBRESID, MEMBRESD, LONGUEUR, DATE-RECORDED, DATE-ACÉDÉE [DB-défaut par l'intermédiaire de l'" 'CreationTimestamp'). Une ligne par messagerie vocale finalisée ou enregistrement d'appel téléchargé sur l'imagerie. - Nouvelle entité RecordingExt (UUID id, RECORDING-ID, EXTENSION, MEMBRESID, IS-MASTER). Une ligne par canal qui a participé à l'enregistrement; La jambe principale est marquée IS-MASTER-true, toute autre jambe fausse. - - prend maintenant un RecordingMetadata bundle (phoneServerInstanceId, dateRecorded, lengthMs, les prorogations de participation) et persiste les lignes d'enregistrement et d'enregistrementExt la même transaction que l'Img/ImgDat. memberId est résolu par jambe par l'intermédiaire de l'adresse suivante: l'exemple VOIP d'origine (inin traitement lorsqu'il n'est pas attribué).

  25. · kamo-internal

    Actualiser les cartes d'administration de la plate-forme pour faire correspondre la structure des on

    Remplacer les deux cartes périmées (tribunaux autonomes d'Organisations et configuration) par cinq cartes correspondant aux onglets réels: Généralités, Organisations, VOIP et SMS, Système Utilisateur, et Advanced - chacun se liant directement au param correct.

  26. · kamo-internal

    Synthèse de la grille de pleine largeur et déplaçage de la synchronisation à partir de l'onglet Avancé

    - Reconfiguration de l'onglet VOIP et SMS pour utiliser la largeur totale du contenu de la zone de contenu: stats de pipelines la ligne supérieure, le traitement de l'enregistrement et la table de synchronisation globale, côte à côte dans une grille de deux colonnes au point d'arrêt de la lg' - Les cartes de pipelines affichent des nombres en direct avec des cochers et des erreurs à l'état zéro codage de couleur; auto-rafraîchissement toutes les 30 notes notées sous-titrée - La carte de synchronisation globale consolide les paramètres du calendrier, la ligne de horodatage de dernière synchronisation, et déclenchant manuellement dans un panneau; puce activée/paissée dans l'en-tête - Déplacer la "Force global VOIP sync" hors de l'onglet Avancé (pourbout de déclenchement) déjà présent sur VOIP et SMS); l'onglet Avancé indique maintenant le texte de l'espace réservé

  27. · kamo-internal

    Fusionner les organisations en page de configuration avec un onglet unifié nav

    - Ajouter les organisations sous forme d'onglet dans l'ordonnance générale et les organisations VOIP et SMS - utilisateur du système - ordre avancé) - Supprimer la page autonome - Mettre à jour l'administration de la plate-forme nav dans SettingsStatusWinow pour l'énumérer les 5 onglets comme des sous-éléments pointant vers la configuration. - Fixation de la disposition sur tous les onglets: cohérence p: xs:2, sm:3--------------------------------------------------- - Améliorer les cartes GeneralTab stat avec des fonds d'icônes et un rythme de typographie plus serré - Mise à jour ParamètresVoir titre/sous-titre pour la page unifiée

  28. · kamo-marketing

    Ajouter Aller le logo à BUILT AVEC la bannière

  29. · kamo-internal

    Surface PHONE-SERVER-ID à l'onglet overview d'instance téléphonique

    Opérateurs configurant le besoin de co-support kamo-asterisk sur un hôte FreePBX besoin de coller la mise en correspondance de VoipProviderInstance UUID dans le fichier de configuration de l'assistant comme PHONE-SERVER-ID. Jusqu'à présent, ils devaient se déchirer à travers la barre d'URL ou la barre base de données. Nouvelle section "ID de serveur téléphonique" sur /settings/fesses/phone/-id Vue d'ensemble montre l'UUID dans un champ monospace en lecture seule avec un clic en un seul clic Bouton de copie (CopyableIdField helper, également réutilisable pour les produits similaires futurs identifiants).

  30. · kamo-internal

    L'extension VOIP clilickable dans Interaction Center ouvre le softphone avec numéro pré-rempli

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