Hi @ all,

I want to built a Diameter-Client and –Server with disc, but it is very tricky. Can someone help me?

 

My plan is, a UA gives an invite to a SIP Express Router, this one forwards the request to a DISC Client, which forwards the request to the DISC Server and authenticate the UA.
My first problem is to start the DISC.

What I did:

1. Download the disc with cvs and Install it

cvs
-d:pserver:anonymous@cvs.disc.berlios.de:/cvsroot/disc login
cvs -z3
-d:pserver:anonymous@cvs.disc.berlios.de:/cvsroot/disc co disc
./rebuild
make
make install

2. Then Configure aaa_client.cfg

17 aaa_realm= 192.160.45
18 aaa_fqdn = 192.160.45:1810

21 module_path= usr/local/lib/disc/client/
22 module= usr/local/lib/disc/client/print.so

32 peer=  aaa://192.168.0.45:1812;transport=tcp  # Server
33 peer=  aaa://192.168.0.45:5060;transport=tcp  # SER

42 route=  aaa://192.168.0.45:1812;transport=tcp

# For the Modules I don't know what to do, because I couldn't find any module!!! Only the print one, but I think I don'tneed it, do I?

3. After that I could't not start disc, because I had no File disc.cfg in /usr/local/etc/disc/disc.cfg. What I did is copy the aaa_client.cfg to disc.cfg

cp /usr/local/disc/src/aaa_client.cfg /usr/local/etc/disc/disc.cfg

4. Then I start in the Console:

debian:~# disc
qm_malloc(0xb7cab008, 11) called from cfg_parser.c: cfg_getstr(213)
qm_malloc(0xb7cab008, 12) returns address 0xb7cb148c frag. 0xb7cb1474 (size=12) on 1 -th hit
qm_malloc(0xb7cab008, 16) called from cfg_parser.c: cfg_getstr(213)
qm_malloc(0xb7cab008, 16) returns address 0xb7cb14c8 frag. 0xb7cb14b0 (size=16) on 1 -th hit
qm_malloc(0xb7cab008, 27) called from cfg_parser.c: cfg_getstr(213)
qm_malloc(0xb7cab008, 28) returns address 0xb7cb1508 frag. 0xb7cb14f0 (size=28) on 1 -th hit
before loading the modules
loading module  usr/local/lib/disc/client/print.so...qm_malloc(0xb7cab008, 35) called from cfg_parser.c: cfg_getstr(213)
qm_malloc(0xb7cab008, 36) returns address 0xb7cb1554 frag. 0xb7cb153c (size=36) on 1 -th hit
ERROR: load_module: failed to load <usr/local/lib/disc/client/print.so> in <client/modules>: usr/local/lib/disc/client/print.so: cannot open shared object file: No such file or directory
FAILED
ERROR (-1): on line 25
ERROR: cannot init the core
ERROR:AAAClose: AAA library is not initialized
INFO:init_trans_manager: transaction manager stoped!
INFO:destroy_peer_manager: peer manager stoped
INFO:destroy_timer: timer thread stoped
qm_free(0xb7cab008, 0xb7cb148c), called from aaa_core.c: destroy_aaa_core(576)
qm_free: freeing frag. 0xb7cb1474 alloc'ed from cfg_parser.c: cfg_getstr(213)
qm_free(0xb7cab008, 0xb7cb14c8), called from aaa_core.c: destroy_aaa_core(577)
qm_free: freeing frag. 0xb7cb14b0 alloc'ed from cfg_parser.c: cfg_getstr(213)
qm_status (0xb7cab008):
 heap size= 1022872
 used= 68, used+overhead=26012, free=996860
 max used (+overhead)= 26040
dumping all allocked. fragments:
      0. N  address=0xb7cb1458 frag=0xb7cb1440 size=4
            alloc'd from shm_mem.c: shm_mem_init_mallocs(185)
        start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
      3. N  address=0xb7cb1508 frag=0xb7cb14f0 size=28
            alloc'd from cfg_parser.c: cfg_getstr(213)
        start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
      4. N  address=0xb7cb1554 frag=0xb7cb153c size=36
            alloc'd from cfg_parser.c: cfg_getstr(213)
        start check=f0f0f0f0, end check= c0c0c0c0, abcdefed
dumping free list stats :
hash=   3. fragments no.:     1
hash=   4. fragments no.:     1
hash= 521. fragments no.:     1
-----------------------------
shm_mem_destroy
destroying the shared memory lock


He could not load the module right? But where I can get it? How can I use disc as Client and Server? I did only the configure for the client! I read out, that disc only can work as an client or as an server.

Can someone give me a hint?

Cheers, Flo