mirror of https://github.com/sipwise/sems.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.3 KiB
75 lines
2.3 KiB
|
|
cc_prepaid_xmlrpc contributed by Todd Lewis
|
|
|
|
This module implements the accounting functions for sbc call
|
|
control.
|
|
|
|
Instead of maintaining a local in memory map of credits, as the
|
|
cc_prepaid module does, it executes the getCredit and subtractCredit
|
|
functions via XMLRPC to an accounting server:
|
|
|
|
prepaid system components using cc_acc_xmlrpc
|
|
|
|
+------------------------+
|
|
| SEMS |
|
|
| |
|
|
| +-------------+ |
|
|
| | sbc | |
|
|
| +-------------+ |
|
|
| | | |
|
|
| | | |
|
|
| +-------------+ |
|
|
| | |
|
|
| |DI getCredit |
|
|
| | subtractCredit
|
|
| v |
|
|
| +-----------------+ | +--------------------+
|
|
| |cc_prepaid_xmlrpc| | |XMLRPC |
|
|
| +-----------------+ | XMLRPC | accounting server |
|
|
| | | -------------> | |
|
|
| | | -------------> | |
|
|
| +-----------------+ | getCredit +--------------------+
|
|
| | subtractCredit
|
|
| |
|
|
| |
|
|
+------------------------+
|
|
|
|
acc system components using cc_acc
|
|
|
|
+------------------------+
|
|
| SEMS |
|
|
| |
|
|
| +-------------+ |
|
|
| | sbc | |
|
|
| +-------------+ |
|
|
| | | |
|
|
| | | |
|
|
| +-------------+ |
|
|
| | |
|
|
| |DI getCredit |
|
|
| | subtractCredit
|
|
| v |
|
|
| +-------------+ |
|
|
| | cc_prepaid | |
|
|
| +-------------+ |
|
|
| | credits | |
|
|
| | (map) | |
|
|
| +-------------+ |
|
|
| ^ |
|
|
| |DI addCredit |
|
|
| | setCredit |
|
|
| | |
|
|
| +-------------+ |
|
|
| | xmlrpc2di | |
|
|
| +-------------+ |
|
|
| | |<---------- XMLRPC addCredit
|
|
| | |<---------- XMLRPC setCredit
|
|
| +-------------+ |
|
|
| |
|
|
| |
|
|
+------------------------+
|
|
|
|
a python example XMLRPC server can be found in server/xmlrpcserver.py.
|
|
|
|
This module needs the xmlrpcpp library (see apps/examples/xmlrpc2di module
|
|
for details). |