Skip to main content

smsg.money.scale s’applique aux totaux, pas aux tarifs

Au-dessus de 4 est refusé, car les montants sont stockés en dix-millièmes. Les tarifs par message et les exports CSV gardent toujours quatre décimales, quel que soit ce réglage. 0.0450 affiché comme 0.05 est faux de 11 % sur chaque message — acceptable pour un solde, ruineux pour un tarif.

smsg.cdr.deadline.hours est plafonné par la fenêtre de corrélation

Plafonné par smsg.dlr.correlation.days, qui vaut 70 heures par défaut. Au-delà de la fenêtre de corrélation, un accusé ne peut plus être apparié à sa soumission, donc attendre plus longtemps ne retarde que la même réponse. Une deadline au-dessus du plafond est clampée et journalisée. Voir Magasin d’accusés de livraison.

smsg.balance.block.min.messages est le plancher qui lie

Le crédit est réservé par blocs et dépensé depuis un compteur en mémoire, donc il n’y a pas d’écriture en base sur le chemin des messages. Cette clé dit combien de messages un bloc doit valoir. Elle a remplacé un plancher exprimé en devise comme plancher liant, car smsg.balance.block.min est un montant et un montant ne peut pas dire combien de messages il achète. À tout prix réaliste, l’ancien défaut en achetait un ou deux, ce qui remettait un compte inactif à la base sur son second message et le refusait pendant qu’un rechargement était en vol.
Un compte qui envoie activement retient donc jusqu’à 20 × prix en reserved que rien d’autre ne peut dépenser. Rien n’est perdu — balance + reserved est conservé — et un arrêt propre le rend. Un kill -9 l’immobilise jusqu’à ce que fireflo credit release tourne.

smsg.billing.zone est lu uniquement depuis la base

La seule clé ici lue depuis app_config plutôt que depuis smsg.properties ou l’environnement, et délibérément. Le rollup nocturne tranche usage_daily dessus et le panneau de contrôle tranche la queue en direct de cdr_submit dessus ; si les deux ne sont pas d’accord, une tranche d’une journée est comptée deux fois ou pas du tout. Une variable d’environnement sur l’hôte de la passerelle est invisible au panneau, elle ne pourrait donc pas être la source partagée.
FIREFLO_BILLING_ZONE est encore honorée comme repli pour les déploiements qui l’avaient réglée avant que la clé n’existe.

Ce que contient un enregistrement d’appel

Les CDR portent les adresses de destination et de source, car la tarification et la résolution de litiges en ont besoin, et ne portent jamais d’identifiants.
Ils contiennent le contenu du message uniquement quand vous l’activez. smsg.cdr.body est livré à off. L’activer signifie que les corps de messages sont conservés pour la fenêtre de rétention et sont lisibles par toute personne ayant accès au panneau ou à la base. Appliquez la même politique que celle appliquée au log d’accès.

Unités de facturation des lots

Réglé sur message, un client qui envoie des messages en trois segments paie pour un et vous payez votre opérateur pour trois. segment est le défaut pour cette raison.
Voir Comment fonctionne la tarification pour le modèle, et Crédit prépayé et Postpayé pour les deux modes d’application.