[OpenSER-Users] OpenSER+freeradius+billing problem

Norman Brandinger norm at goes.com
Fri Aug 17 21:25:41 CEST 2007


This line is the key to your problem:

0(0) ERROR: acc: can't get code for the Canonical-URI attribute

Every attribute, for example Canonical-URI must be located in one of the
RADIUS dictionaries.

You might have a line such as the following:

modparam("acc", "radius_config", 
"/usr/local/etc/radiusclient-ng/radiusclient.conf")

In this case, OpenSER will read the "dictionary" setting from
/usr/local/etc/radiusclient-ng/radiusclient.conf.

For example:

# dictionary of allowed attributes and values
# just like in the normal RADIUS distributions
dictionary      /usr/local/etc/radiusclient-ng/dictionary

So, off we go to /usr/local/etc/radiusclient-ng/dictionary

For example:
#
$INCLUDE    /usr/local/etc/radiusclient-ng/dictionary.sip
$INCLUDE    /usr/local/etc/openser/dictionary.radius
#
#       Following are the proper new names. Use these.
#
ATTRIBUTE       User-Name               1       string
ATTRIBUTE       Password                2       string
ATTRIBUTE       CHAP-Password           3       string
ATTRIBUTE       NAS-IP-Address          4       ipaddr

The $INCLUDE files do exactly what you would expect.

Again, the root of your problem is that the Canonical-URI attribute
cannot be located.  You should follow the path to the radius dictionary
to determine why the attribute cannot be found.

Regards,
Norm

p.s. You did install radiusclient-ng didn't you ?



ram wrote:
>
>
> On 8/18/07, *Norman Brandinger* <norm at goes.com <mailto:norm at goes.com>>
> wrote:
>
>     I see that you have "canonical-URI" instead of "Canonical-URI".
>
>  
>  
> yes i have changed
>  
>
>     After making the above fix, can you post the error you are receiving ?
>
>  
>  
>  
> modparam("acc", "radius_extra", "Called-Station-Id=$tu; \
> Calling-Station-Id=$fu; \
> Canonical-URI=$tu; \
> User-Name=$au; \
> Sip-User-Realm=$ar; \
> Source-IP=$si; \
> Source-Port=$sp; \
> From-Header=$hdr(from); \
> User-Agent=$hdr(user-agent); \
> Contact=$hdr(contact); \
> Event=$hdr(event)")
>  
>  
>  0(0) find_cmd_export_t: found <load_tm>(0) in module tm
> [/usr/local/lib/openser/modules/tm.so]
>  0(0) xl_lookup_spec_name: found [tu] [22]
>  0(0) xl_lookup_spec_name: found [fu] [18]
>  0(0) xl_lookup_spec_name: found [tu] [22]
> [root at home openser]#  0(0) xl_lookup_spec_name: found [au] [47]
>  0(0) xl_lookup_spec_name: found [ar] [48]
>  0(0) xl_lookup_spec_name: found [si] [34]
>  0(0) xl_lookup_spec_name: found [sp] [35]
>  0(0) xl_parse_name: name [from] index [0]
>  0(0) INFO:xl_parse_name: using hdr type (4) instead of <from>
>  0(0) xl_parse_name: name [user-agent] index [0]
>  0(0) INFO:xl_parse_name: using hdr type (27) instead of <user-agent>
>  0(0) xl_parse_name: name [contact] index [0]
>  0(0) INFO:xl_parse_name: using hdr type (7) instead of <contact>
>  0(0) xl_parse_name: name [event] index [0]
>  0(0) INFO:xl_parse_name: using hdr type (21) instead of <event>
>  0(0) ERROR: acc: can't get code for the Canonical-URI attribute
>  0(0) ERROR:acc:mod_init: failed to init radius
>  0(0) init_mod(): Error while initializing module acc
> ERROR: error while initializing modules
>  0(0) XLOG: destroy module ...
>  0(0) DEBUG: tm_shutdown : start
>  0(0) DEBUG: unlink_timer_lists : emptying DELETE list
>  0(0) DEBUG: tm_shutdown : emptying hash table
>  0(0) DEBUG: tm_shutdown : releasing timers
>  0(0) DEBUG: tm_shutdown : removing semaphores
>  0(0) DEBUG: tm_shutdown : destroying tmcb lists
>  0(0) DEBUG: tm_shutdown : done
>  0(0) INFO:mi_fifo:mi_destroy: process hasn't been created -> nothing
> to kill
>  0(2740) shm_mem_destroy
>  0(2740) destroying the shared memory lock
>  
>  
>
>     Personally, I find it much easier to read by breaking this into
>     multiple
>     lines.
>
>  
>  
> Ya i did as per recomendation
>  
>  
> ram
>





More information about the Users mailing list