Hi,
I have built ser and modules from the tar.gz file available on CVS. Authentication using auth_db works fine, but auth_radius results in a segmentation fault when I try to register.
The debug log (with debug=9) says:
Mar 22 16:21:32 voip ser: SIP Request: Mar 22 16:21:32 voip ser: method: <REGISTER> Mar 22 16:21:32 voip ser: uri: sip:voip.pdn.ac.lk Mar 22 16:21:32 voip ser: version: <SIP/2.0> Mar 22 16:21:32 voip ser: parse_headers: flags=1 Mar 22 16:21:32 voip ser: Found param type 232, <branch> = <z9hG4bK3378053857>; state=16 Mar 22 16:21:32 voip ser: end of header reached, state=5 Mar 22 16:21:32 voip ser: parse_headers: Via found, flags=1 Mar 22 16:21:32 voip ser: parse_headers: this is the first via Mar 22 16:21:32 voip ser: After parse_msg... Mar 22 16:21:32 voip ser: preparing to run routing scripts... Mar 22 16:21:32 voip ser: DEBUG : is_maxfwd_present: searching for max_forwards header Mar 22 16:21:32 voip ser: parse_headers: flags=128 Mar 22 16:21:32 voip ser: DEBUG: add_param: tag=2520454554 Mar 22 16:21:32 voip ser: end of header reached, state=29 Mar 22 16:21:32 voip ser: DEBUG: get_hdr_field: <To> [44]; uri=[sip:nimalr@voip.pdn.ac.lk] Mar 22 16:21:32 voip ser: DEBUG: to body [sip:nimalr@voip.pdn.ac.lk] Mar 22 16:21:32 voip ser: get_hdr_field: cseq <CSeq>: <0> <REGISTER> Mar 22 16:21:32 voip ser: DEBUG: is_maxfwd_present: value = 10 Mar 22 16:21:32 voip ser: parse_headers: flags=4096 Mar 22 16:21:32 voip ser: DEBUG: get_hdr_body : content_length=0 Mar 22 16:21:32 voip ser: found end of header Mar 22 16:21:32 voip ser: pre_auth(): Credentials with given realm not found Mar 22 16:21:32 voip ser: ERROR: fifo_server fgets failed: Illegal seek Mar 22 16:21:33 voip last message repeated 3 times Mar 22 16:21:33 voip ser: INFO: signal 15 received Mar 22 16:21:33 voip ser: INFO: signal 15 received
My configuration is : ......... ......... # Uncomment this if you want digest authentication # mysql.so must be loaded ! loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_db.so" loadmodule "/usr/local/lib/ser/modules/auth_radius.so" .......... .......... if (uri=~"voip.pdn.ac.lk") { if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication if (!radius_www_authorize("voip.pdn.ac.lk")) { # if (!www_authorize("voip.pdn.ac.lk","subscriber")) { www_challenge("voip.pdn.ac.lk", "0"); break; };
save("location"); break; }; ........ ........
Any help for solving the problem would be appreciated. Thanks.
Nimal R.