[OpenSER-Users] Fwd: Prepaid acounts CDRTool

Marc LEURENT lftsy at free.fr
Thu Aug 23 10:11:06 CEST 2007


I cannot do it!
Sniff again

SCREEN):root at sd-7501:[/home/../freeradius-1.1.6]# cd src/modules/rlm_python
(SCREEN):root at sd-7501:[~mleurent/../rlm_python]# ./configure
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for python2.3... no
checking for python2.2... no
checking for python2.1... no
checking for python1.5... no
checking for python... python
checking for Python.h... yes
checking for Py_Initialize in -lpython2.4... yes
configure: creating ./config.status
config.status: creating Makefile

(SCREEN):root at sd-7501:[~mleurent/../rlm_python]# make
../rules.mak:24: ../../../Make.inc: No such file or directory
make: *** No rule to make target `../../../Make.inc'.  Stop.
zsh: exit 2     make


Dan-Cristian Bogos a écrit :
> Hi Marc,
> 
> it looks like there has been some changes with freeradius 1.7 since
> this one does not install for me either. It says :" ibtool: link:
> cannot find the library
> `/usr/local/src/freeradius/freeradius-1.1.7/src/lib/libradius.la' or
> unhandled argument
> `/usr/local/src/freeradius/freeradius-1.1.7/src/lib/libradius.la'". On
> a manual search I could see that this library is not longer included
> with the sources. I will try asking the guys from freeradius about the
> changes necessary to work.
> In the mean time, if u want to give it a try, here is how I have
> installed from freeradius 1.6:
> 1. Download the sources: "wget
> ftp://ftp.freeradius.org/pub/radius/freeradius-1.1.6.tar.gz"
> 2. Extract and get into the source folder.
> 3. Go to ./src/modules/rlm_python/
> 4. Install the sources statically: (./configure + make + make install).
> 5. Go back to root folder for the sources
> 6. ./configure --with-static-modules=python
> 7. make + make install.
> 
> Hope that would do for you.
> 
> Cheers,
> DanB
> 
> On 8/22/07, Marc LEURENT <lftsy at free.fr> wrote:
>> 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