[OpenSER-Users] Fwd: Prepaid acounts CDRTool

Marc LEURENT lftsy at free.fr
Wed Aug 22 19:44:30 CEST 2007


I have another error with freeradius 1.1.7 from source, I don't know why it cannot find the module...
I'll check tomorrow
Yhanks for your help Dan, have a pleasant evening

rlm_sql_mysql: Starting connect to MySQL server for #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql (sql): starting 4
rlm_sql (sql): Attempting to connect rlm_sql_mysql #4
rlm_sql_mysql: Starting connect to MySQL server for #4
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"
rlm_python:python_load_function: module 'freeradius-cdrtool' is not found
rlm_python:EXCEPT:exceptions.ImportError: /usr/lib/python2.4/lib-dynload/_socket.so: undefined symbol: _Py_TrueStruct
rlm_python:python_load_function: failed to import python function 'freeradius-cdrtool.instantiate'
radiusd.conf[541]: python: Module instantiation failed.
radiusd.conf[1900] Unknown module "python".
radiusd.conf[1803] Failed to parse authorize section.
zsh: exit 1     radiusd -X



Dan-Cristian Bogos a écrit :
> You are getting this error because the interpreter does not accept "-"
> in the name. I didn't need to import it in the interpreter and there
> will be no use since radiusd package is available only within
> freeradius process.
> 
> Thxs,
> DanB
> 
> On 8/22/07, Marc LEURENT <lftsy at free.fr> wrote:
>> Do you have this error?
>> When I try to load your module in mython, I have this error because of the dash..
>>
>>
>> root at sd-7501:[/home/../freeradius-cdrtool-1.0]# python
>> Python 2.4.4 (#2, Apr  5 2007, 20:11:18)
>> [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>>>>> import freeradius-cdrtool
>>   File "<stdin>", line 1
>>     import freeradius-cdrtool
>>                      ^
>> SyntaxError: invalid syntax
>>>>> import setup
>> usage:  [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
>>    or:  --help [cmd1 cmd2 ...]
>>    or:  --help-commands
>>    or:  cmd --help
>>
>> error: no commands supplied
>> zsh: exit 1     python
>>
>> Dan-Cristian Bogos a écrit :
>>> 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
> 
> _______________________________________________
> Users mailing list
> Users at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list