Just to add here the option of using kamailio's dialog module to implement prepaid systems. It will be at signaling level (so no ivr/media capabilities), which can fit very well in many scenarios.

If it is the case of 1 call per user at a time, then practically can be done from kamailio config only. When call starts, compute the max duration for that call based on caller/destination (e.g., call a stored procedure via sqlops) and set the dialog timeout to that duration. When call ends (BYE in main route or timeout route) update the credit accordingly.

For many simultaneous calls, you can write a small module that uses the dialog API, to update the timeout of ongoing calls based on the costs for new calls.

Also, dialog module can be used as a controller of the signaling, being handled by an external billing engine. When a call starts, inform the billing engine about it. When there is no more credit, the billing engine can send MI/RPC command (e.g., via xmlrpc) to end the call.

Cheers,
Daniel

On 1/5/12 3:02 PM, Stoyan Mihaylov wrote:
Prepaid is very simple task. User must put some money in his account. User selects target. You calculate how long could be the call, and you dial target.
At the end of call - you calculate call, and you take money from user.
Complications - recharging account. There are lot of problems there, mainly with security. If you would like to allow your users to make more then 1 simultaneous call.
There are couple of things, you should decide:
1. If you plane to offer some specific solution - then you should select opensource project, or you even should start from scratch.
2. You can look for problems with different solutions on market.

"How I can choose the right solution" - mission impossible - in all cases you will see later that there is may be some better solutions. Best you can do is to select more or less good solution which will do job you need. Commercial products, in theory have better support. But they rely on provider. As you see with Kamailio - free products can rely on provider and community, and you can get paid support, you also can easily (more or less) switch supporter. There are hosting solutions also, but I have no experience with them at all. My main experience is with freelance support for Asterisk through ssh, and this is why I cant help with freeswitch. Best advantage of Asterisk (except I know it better) is it allows any language for AGI scripts, and with them you can do everything.

On Thu, Jan 5, 2012 at 3:42 PM, Carlo Dimaggio <jaasmail...@gmail.com <mailto:jaasmail...@gmail.com>> wrote:

    Hi Stoyan,

    I prefer Freeswitch, but I know that Asterisk can do prepaid and
    there are different prepaid solutions.
    Anyway, as the prepaid server is a mission-critical component, I
    would like to have your (and the community) opinion about the
    preferred architecture and experiences about opensource/commercial
    solution (advantages and drawbacks).
    All the billing solution are good enough for a service provider
    environment? How I can choose the right solution if all vendors
    say that their solution is the best one? :)

    Regards,



    Il 05/01/12 13.18, Stoyan Mihaylov ha scritto:
    I can suggest using Asterisk for prepaid job.
    I mean you can use Kamailio and couple of Asterisk servers behind
    it to do prepaid. There are lot of prepaid solutions for
    Asterisk. But again, if I have to do it I will prefer my
    solution, or using parts from what is available.
    PS
    We did prepaid things for Asterisk.

    On Thu, Jan 5, 2012 at 1:08 PM, Carlo Dimaggio
    <jaasmail...@gmail.com <mailto:jaasmail...@gmail.com>> wrote:

        Hi all,

        I'm working in a project for a service provider in which
        prepaid is an essential requirement. They have about 12000
        subscribers.
        The core infrastructure will be Kamailio+RTPProxy while I
        have some doubts about the prepaid feature. I'm thinking
        about a B2BUA (SEMS or Freeswitch) that is called if the user
        belong to a "prepaid group" and perform authorization and
        accounting; in this case the SIP flow could be: Kamailio ->
        B2BUA(Prepaid) -> Kamailio. Is a good choice?

        At the moment I cannot estimate the effort needed to develop
        this section (base prepaid feature) of the project... Do you
        have some hints?

        What are the prepaid solution implemented by you? Do you use
        your own developed solution or do you think that is better to
        choose a commercial solution (that provide also calling-card
        and other features)?
        I have seen some commercial products (Portabilling,
        Jerasoft/Bilberry, ...); what do you think about?


        Best Regards,


        _______________________________________________
        SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
        mailing list
        sr-users@lists.sip-router.org
        <mailto:sr-users@lists.sip-router.org>
        http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users




    _______________________________________________
    SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
    sr-users@lists.sip-router.org  <mailto:sr-users@lists.sip-router.org>
    http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users


    _______________________________________________
    SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
    list
    sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
    http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users




_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

--
Daniel-Constantin Mierla -- http://www.asipto.com
http://linkedin.com/in/miconda -- http://twitter.com/miconda

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to