Hello,
On 12/30/08 14:23, Luciano Afranllie wrote:
[...]
I don't know if this has been discussed earlier but it would be nice
to point some key requirements for a system supporting prepaid users
and possible solutions to those requirements.
I think several of us is doing the same things so, we can benefit from
other experience and may be we can find a pattern (of course not
perfect and "fit all") for this problem using open source
alternatives.
I am talking about something like this:
- How to store and retrieve user category (postpaid, prepaid, etc).
LDAP, Radius, SER groups?
this is usually up to what you are more familiar to. If you go for
sql-db system, then you should have in consideration the
load_credentials feature provided by auth_db module. With that you can
load attributes per user at authentication, saving one extra db query.
As I am designed now my systems, I have dropped a lot of modules that
were hiding behind sql queries, by using config file operations (via
avp_db_query() and now, with trunk, via the new sqlops module). In this
way I am not stuck to a predefined db structure and can use tricks that
make the sql operation faster based on server side features. sqlops
module makes possible to load caller and callee profiles in one query
for each and keep them for entire route processing in memory, therefore,
very fast access.
- Callflows
Usually there are two scenarios
1) caller ----- proxy ----- b2bua ----- proxy ----- callee
2) caller ----- proxy ----- b2bua ----- pstn ----- callee
First is when you do prepaid for voip-to-voip and you deal with NAT,
also when you have kind of sbc for the second proxy. The second is the
typical case for calls terminated to pstn.
- What IVR to use for user notifications (no credit,
etc) and user
balance check?
Asterisk, SEMS, etc?
I use most of them. I go by default to Asterisk or FreeSWITCH, depending
if it a more PBX-like service or carrier. SEMS is something I used a lot
in the past.
- How to enforce call tear down when credit is
exhausted?
What B2BUA to use?
B2BUA, all listed above are good options in certain conditions. The most
important aspect is to understand scaling vs features requirements.
- How to manage recharges?
Voucher cards + IVR is an option. Payment gateways (for credit cards) +
their API.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com