Vendor et server
Vendor
Une connexion sortante vers celui qui transporte votre trafic. FireFlo la compose. La
configuration l’appelle
smppclient.Server
Un listener auquel vos clients se connectent. FireFlo accepte. La configuration l’appelle
smppserver.smppclient et smppserver, et le resteront toujours. C’est
ce que le gateway lit. Elles n’apparaissent jamais dans l’interface, et elles ne sont pas
utilisées dans la prose de ce site en dehors des blocs de code et des noms de clés.
Les deux sont des workers, et partagent un ensemble de paramètres de base.
Account, login, product
Un compte, plusieurs logins. C’est pourquoi le plafond de débit est indexé sur le compte plutôt
que sur le credential. Une limite par login permettrait à un client de relever la sienne en créant
un autre login.
system_type d’un bind SMPP, puis le champ product du
credential. Les appelants HTTP n’ont pas de bind, donc la valeur du credential est la seule source.
Table de routage, règle, chaîne, groupe
Une table de routage est une liste nommée de règles, évaluée de haut en bas ; la première qui correspond gagne. La cible d’une règle peut être un worker, une autre table — ce qui est une chaîne, et c’est ainsi que[default] envoie les messages texte dans [MESSAGE] — ou un groupe.
Un groupe est un ensemble de vendors avec une politique : round-robin, weighted ou
failover. Il ignore les membres suspendus ou n’acceptant pas, ce qui constitue le failover qu’une
règle à cible unique ne peut pas assurer.
Une table LCR est marquée ->function(LCR) et inverse la règle habituelle : chaque règle
correspondante est un candidat, et le vendor le moins cher gagne. L’ordre des règles n’y a pas
d’importance.
Filter
Un ensemble nommé et réutilisable de conditions, partagé par le routage et la tarification pour que le même prédicat ne soit pas écrit deux fois.Scope et tarif
Un scope est le membre gauche d’une règle de tarif, et le côté du marché dont il s’agit dépend entièrement de ce qu’il nomme :
Rien dans le schéma ne les distingue. Le gateway les distingue selon la recherche qui interroge,
c’est pourquoi le panneau les regroupe en Ce que nous payons et Ce que nous facturons plutôt
qu’en une seule liste.
Un tarif est l’ensemble des règles de prix pour un compte.
Message, segment, part
Un message est ce qu’un client soumet. Plus long qu’un SMS, il sort en plusieurs segments, etsmsg.restapi.billing.units décide si cela est facturé une fois ou par segment.
Quelle que soit l’unité de facturation, un message laisse exactement une ligne
part_no = 1
dans cdr_submit. Les retentatives n’ajoutent pas de lignes. Cet invariant est ce qui fait que
compter les messages et sommer l’argent sont la même question.Prépayé et postpayé
Les deux refusent de façon identique —
0x402 en SMPP, 402 avec insufficientCredit en HTTP
— de sorte que l’intégration d’un client n’a jamais besoin de savoir dans lequel il se trouve.