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.Unités de facturation des lots
Voir Comment fonctionne la tarification pour le modèle, et
Crédit prépayé et Postpayé pour
les deux modes d’application.