[Devel] get_redirects and acc logging
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Fri Oct 14 10:12:19 CEST 2005
Hi Norman,
thanks for report - if you disable the acc part (not setting the
"acc_function" function), does it keep crashing?
as Daniel already said, the core backtrace will be very helpful.
regards,
bogdan
Norman Brandinger wrote:
> The latest CVS version of openser crashes consistently when trying to
> redirect a call.
>
> Below was my original configuration:
>
> modparam("uac_redirect", "default_filter", "accept")
> modparam("uac_redirect","acc_function","acc_db_request")
> modparam("uac_redirect","acc_db_table","acc")
>
> failure_route[] {
>
> #------------------------------------------
> # Moved Temporarily
> #------------------------------------------
> if (t_check_status("302")) {
> get_redirects("*", "Redirected");
> t_relay();
> return;
> };
>
> }
>
> The above configuration produced the following crash. Note that we
> added the last DEBUG line in an attempt to isolate what subroutine
> call failed.
>
> Oct 13 16:10:06 ser1 openser[5413]: DEBUG:uac_redirect:get_redirect:
> resume branch=0
> Oct 13 16:10:06 ser1 openser[5413]: DEBUG:uac_redirect:get_redirect:
> checking branch=0 (added=0)
> Oct 13 16:10:06 ser1 openser[5413]: DEBUG:uac_redirect:get_redirect:
> branch=0 is a redirect (added=0)
> Oct 13 16:10:06 ser1 openser[5413]: DEBUG:uac_redirect:sort_contacts:
> <sip:8103 at ser1.goes.com> q=10
> Oct 13 16:10:06 ser1 openser[5413]:
> DEBUG:uac_redirect:shmcontact2dset: adding contact
> <sip:8103 at ser1.goes.com>
> Oct 13 16:10:06 ser1 openser[5413]: DEBUG:rd_funcs:shmcontact2dset:
> about to call rd_acc_fct()
> Oct 13 16:10:06 ser1 openser[5413]: parse_headers: flags=58
> Oct 13 16:10:06 ser1 openser[5411]: child process 5413 exited by a
> signal 11
> Oct 13 16:10:06 ser1 openser[5411]: core was generated
> Oct 13 16:10:06 ser1 openser[5411]: INFO: terminating due to SIGCHLD
> Oct 13 16:10:06 ser1 openser[5416]: INFO: signal 15 received
> Oct 13 16:10:06 ser1 openser[5415]: INFO: signal 15 received
> Oct 13 16:10:06 ser1 openser[5414]: INFO: signal 15 received
> Oct 13 16:10:06 ser1 openser[5412]: INFO: signal 15 received
> Oct 13 16:10:06 ser1 openser[5417]: INFO: signal 15 received
>
> It appears that there is a failure when calling rd_acc_fct().
>
> I then tested with the setup below:
>
> #modparam("uac_redirect", "default_filter", "accept")
> #modparam("uac_redirect","acc_function","acc_db_request")
> #modparam("uac_redirect","acc_db_table","acc")
>
>
> failure_route[] {
>
> #------------------------------------------
> # Moved Temporarily
> #------------------------------------------
> if (t_check_status("302")) {
> get_redirects("*", "Redirected");
> t_relay();
> return;
> };
>
> }
>
> Produces this error:
>
> ERROR:acc:acc_log_request: buffer to small
>
> Lastly, I tested with a get_redirect("*") and no error or crash was
> produced.
>
> Near the top of my config file, I have the following code:
>
> #-------------
> # Accounting
> #-------------
> if (is_method("BYE|CANCEL")) {
> setflag(FLAG_ACC);
> setflag(FLAG_ACC_DB);
> } else if (is_method("INVITE")) {
> setflag(FLAG_ACC);
> setflag(FLAG_ACC_DB);
> setflag(FLAG_MISSED_CALL);
> };
>
>
> I thought that perhaps the FLAG_ACC_DB wasn't being set correctly in
> the failure_route. I added setflag(FLAG_ACC_DB); in the
> failure_route, just before the call to get_redirects() and openser
> still crashed.
> While researching this problem, I found that rd_acc_fct is passing 3
> parameters while acc/acc.c: acc_db_request is looking for 5 parameters
> and acc/acc.c: act_log_request is looking for 4 parameters.
>
> Regards,
> Norm
>
> _______________________________________________
> Devel mailing list
> Devel at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel
>
More information about the Devel
mailing list