[OpenSER-Users] Re: Prepaid acounts CDRTool

Dan-Cristian Bogos dan.bogos at gmail.com
Wed Aug 22 16:39:16 CEST 2007


Marc,

This is still an error from python, not my module. I think it has
something to do with linking inside between C and python. What were
the steps in your freeradius installation?

DanB

On 8/22/07, Marc LEURENT <lftsy at free.fr> wrote:
> I have compiled the experimental modules, now the python module is working but I have an error with yours...
> I have changed the rlm_digest.c and fixed the sql module to work with procedure
>
> rlm_sql (sql): Connected new DB handle, #4
> Module: Instantiated sql (sql)
> python_init done
> Module: Loaded python
>  python: mod_instantiate = "freeradius-cdrtool"
>  python: func_instantiate = "instantiate"
>  python: mod_authorize = "freeradius-cdrtool"
>  python: func_authorize = "authorize"
>  python: mod_authenticate = "(null)"
>  python: func_authenticate = "(null)"
>  python: mod_preacct = "(null)"
>  python: func_preacct = "(null)"
>  python: mod_accounting = "freeradius-cdrtool"
>  python: func_accounting = "accounting"
>  python: mod_checksimul = "(null)"
>  python: func_checksimul = "(null)"
>  python: mod_detach = "freeradius-cdrtool"
>  python: func_detach = "detach"
> exceptions.ImportError: /usr/lib/python2.4/lib-dynload/_socket.so: undefined symbol: _Py_TrueStruct
> Failed to import python module "freeradius-cdrtool"
> radiusd.conf[544]: python: Module instantiation failed.
> radiusd.conf[1884] Unknown module "python".
> radiusd.conf[1792] Failed to parse authorize section.
> zsh: exit 1     freeradius -X
>
>
>
>
> Dan-Cristian Bogos a écrit :
> > You can get it from here:
> > http://frad-cdrtool.sourceforge.net/rlm_digest.c
> >
> > DanB
> >
> > On 8/22/07, Marc LEURENT <lftsy at free.fr> wrote:
> >> I haven't found this patch on http://sourceforge.net/projects/frad-cdrtool...
> >> Where did you found it?
> >> Thanks
> >>
> >> Dan-Cristian Bogos a écrit :
> >>> Marc,
> >>>
> >>> I don't have this problem.
> >>> I have compiled freeradius with rlm_python from sources.
> >>>
> >>> For problems with freeradius, I think the best would be to grab some
> >>> support directly from their mailing list, since they are pretty
> >>> helpful. Don't forget about patching also rlm_digest in order to
> >>> sanitize the params coming from OpenSER in the authorization phase and
> >>> not the authentication one. They promised for future releases to
> >>> include this patch inside the distribution.
> >>>
> >>> Cheers,
> >>> DanB
> >>>
> >>>
> >>> On 8/22/07, Marc LEURENT <lftsy at free.fr> wrote:
> >>>> I have corrected it: mea culpa
> >>>>
> >>>> But now I have a real trouble:
> >>>> When I start freeradius, it said that it can't find rlm_python.so, but this is normal because we added --with-static-modules=python
> >>>>
> >>>>
> >>>> Did you have thos problem?
> >>>> Do you know how to correct it?
> >>>>
> >>>> Thanks
> >>>>
> >>>> rlm_sql (sql): Connected new DB handle, #4
> >>>> Module: Instantiated sql (sql)
> >>>> radiusd.conf[544] Failed to link to module 'rlm_python': rlm_python.so: cannot open shared object file: No such file or directory
> >>>> radiusd.conf[1884] Unknown module "python".
> >>>> radiusd.conf[1792] Failed to parse authorize section.
> >>>> zsh: exit 1     freeradius -X
> >>>>
> >>>>
> >>>> Dan-Cristian Bogos a écrit :
> >>>>> Hi Marc,
> >>>>>
> >>>>> it looks like you are getting some problems related to stored
> >>>>> procedure in your mysql database. Did u install also the radius patch
> >>>>> recommended by AG-Projects in order to work properly with stored
> >>>>> procedures? On the sql side I cannot help you too much since I am
> >>>>> using still the normal sql queries without stored procedures.
> >>>>>
> >>>>> DanB
> >>>>>
> >>>>> On 8/22/07, Marc LEURENT <lftsy at free.fr> wrote:
> >>>>>> I have followed your advice, Freeradius is recompiled with rlm_python,
> >>>>>> byt know, rlm_sql seems to encountered troubles
> >>>>>> like :
> >>>>>>
> >>>>>> rlm_sql (sql): Reserving sql socket id: 2
> >>>>>> rlm_sql_mysql: MYSQL check_error: 1312 received
> >>>>>>
> >>>>>> Any idea of how to repair this?
> >>>>>> Thanks
> >>>>>>
> >>>>>>
> >>>>>> I have added this in my debian/rules file:
> >>>>>>
> >>>>>> modulelist=krb5 ldap sql_mysql sql_iodbc python
> >>>>>> ...
> >>>>>> ...
> >>>>>>         ./configure \
> >>>>>>                 $(confflags) \
> >>>>>>                 --prefix=/usr \
> >>>>>>                 ... \
> >>>>>>                 --with-static-modules=python
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Here is my freeradius debug:
> >>>>>>
> >>>>>> rlm_detail: /var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d expands to /var/log/freeradius/radacct/127.0.0.1/detail-20070822
> >>>>>>   modcall[accounting]: module "detail" returns ok for request 5
> >>>>>>   modcall[accounting]: module "unix" returns noop for request 5
> >>>>>> radius_xlat:  '/var/log/freeradius/radutmp'
> >>>>>> radius_xlat:  ''
> >>>>>>   modcall[accounting]: module "radutmp" returns ok for request 5
> >>>>>> radius_xlat:  ''
> >>>>>> radius_xlat:  '          CALL insert_radacct_record(                 'radius',                 '52f74a-c0a80101-0-4 at 192.168.95.79',
> >>>>>> '36afb36cd5c82c34',                 'sip:101 at sd-7501.dedibox.fr:5060=3Buser=3Dphone',
> >>>>>> 'sip:101 at sd-7501.dedibox.fr:5060=3Buser=3Dphone',                 '88.191.45.91',                 '5060',                 '2007-08-22 13:59:25',
> >>>>>>            '0',                 '0',                 '0',                 '0',                 '',                 '',                 '200',
> >>>>>>         'Sip-Session',                 '',                 '',                 '0',                 '0',                 '200',
> >>>>>> 'INVITE',                 '',                 'c0a80101-5766ea7',                 'c0a80101-4e8244',                 '',                 '',
> >>>>>>        '',                 'sip:0033677832974 at sd-7501.dedibox.fr:5060=3Buser=3Dphone',                 '',                 ''                 )'
> >>>>>> rlm_sql (sql): Reserving sql socket id: 2
> >>>>>> rlm_sql_mysql: MYSQL check_error: 1312 received
> >>>>>> rlm_sql (sql): Couldn't insert SQL accounting START record - PROCEDURE radius.insert_radacct_record can't return a result set in the given context
> >>>>>> radius_xlat:  ''
> >>>>>> rlm_sql (sql): Released sql socket id: 2
> >>>>>>   modcall[accounting]: module "sql" returns ok for request 5
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Dan-Cristian Bogos a écrit :
> >>>>>>> Marc,
> >>>>>>>
> >>>>>>> I would suggest as first step reading about how  prepaid works in
> >>>>>>> CDRTool. (see PREPAID.txt in doc folder).
> >>>>>>>
> >>>>>>> I personally use freeradius-cdrtool connector
> >>>>>>> (sourceforge.net/projects/frad-cdrtool), which I have written in
> >>>>>>> python and which needs rlm_python compiled into freeradius server.
> >>>>>>>
> >>>>>>> Have a look on all the info and let me know if u need any additional.
> >>>>>>>
> >>>>>>> Cheers,
> >>>>>>> DanB
> >>>>>>>
> >>>>>>> On 8/20/07, Marc LEURENT <lftsy at free.fr> wrote:
> >>>>>>>> No...
> >>>>>>>> Is it possible to do it with openser or is it compulsory to use asterisk?
> >>>>>>>> What do you use?
> >>>>>>>>
> >>>>>>>> Thanks
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Dan-Cristian Bogos a écrit :
> >>>>>>>>> Hi there Marc,
> >>>>>>>>>
> >>>>>>>>> are you using any application which locks, unlocks the prepaid
> >>>>>>>>> accounts, and instructs CDRTool to update the user's balance? Are you
> >>>>>>>>> aware that CDRTool uses separate applications for prepaid and postpaid
> >>>>>>>>> accounts?
> >>>>>>>>>
> >>>>>>>>> DanB
>




More information about the Users mailing list