[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