[Serusers] ser 0.9.0 accounting problems

sip sip at arcdiv.com
Fri Sep 15 13:03:20 CEST 2006


Your BIGGEST problem is that you're using OpenSER documentation for writing
your SER config. They're different programs, and the modules for OpenSER don't
always work the same way as they work for SER (some don't even exist in SER). 

There doesn't appear to BE a log_extra() command in the SER 0.9.x version of ACC. 

See module documentation here:

http://cvs.berlios.de/cgi-bin/viewcvs.cgi/ser/sip_router/modules/acc/Attic/README?rev=1.10.2.1&content-type=text/vnd.viewcvs-markup

N.


On Fri, 15 Sep 2006 11:00:56 +0200, topi wrote
> hello,
> 
> i'm using ser 0.9.0 and acc module to log transactions, actually it
> works but i need some help with two problems:
> 
> 1) i would like to log acc messages to a different syslog facility, and
> a different file, than general logs are logged.
> 
> -> my ser.cfg file contains:
> 
> log_facility=LOG_LOCAL0
> 
> loadmodule "/usr/local/ser/lib/ser/modules/acc.so"
> 
> # -- acc params --
> # set the reporting log level
> modparam("acc", "log_level", 1) 
> modparam("acc", "log_flag", 5)
> #modparam("acc", "log_extra", "msg_body=$rb")
> 
> by setting log_level to 1, acc logs would be sent to LOG_LOCAL1
> facility, is this right?
> 
> if not, what i could do to get this logs into a different file?
> 
> 2) the second problem is that while the acc documentation documents
> 'log_extra' param:
> 
> http://www.voice-system.ro/docs/acc-headers/acc.html#AEN308
> 
> i'm getting errors the following error:
> 
> Sep  5 12:46:43 host ser: set_mod_param_regex: parameter <log_extra> 
> not found in module <acc> 
> Sep  5 12:46:43 host ser: parse error (104,19-20): Can't set module parameter
> 
> what can be done?
> 
> thanks in advance,
> 
> topi
> 
> my /usr/local/ser/etc/ser.cfg:
> 
> #
> # $Id: ser.cfg,v 1.25.2.1 2005/02/18 Exp $
> #
> # ----------- global configuration parameters ------------------------
> 
> debug=3         # debug level (cmd line: -dddddddddd)
> log_stderror=no # (cmd line: -E)
> 
> check_via=no    # (cmd. line: -v)
> dns=no          # (cmd. line: -r)
> rev_dns=no      # (cmd. line: -R)
> port=5060 
> children=3
> fifo="/tmp/ser_fifo"
> 
> sip_warning=0
> log_facility=LOG_LOCAL0
> 
> alias="192.168.123.2"
> alias="ser.mynetwork.net"
> 
> # ------------------ module loading ----------------------------------
> loadmodule "/usr/local/ser/lib/ser/modules/mysql.so"
> loadmodule "/usr/local/ser/lib/ser/modules/sl.so" 
> loadmodule "/usr/local/ser/lib/ser/modules/tm.so"
> loadmodule "/usr/local/ser/lib/ser/modules/rr.so"
> loadmodule "/usr/local/ser/lib/ser/modules/maxfwd.so"
> loadmodule "/usr/local/ser/lib/ser/modules/usrloc.so" 
> loadmodule "/usr/local/ser/lib/ser/modules/registrar.so"
> loadmodule "/usr/local/ser/lib/ser/modules/textops.so"
> 
> # Uncomment this if you want digest authentication
> # mysql.so must be loaded ! 
> loadmodule "/usr/local/ser/lib/ser/modules/auth.so"
> loadmodule "/usr/local/ser/lib/ser/modules/auth_db.so"
> 
> # accounting
> loadmodule "/usr/local/ser/lib/ser/modules/acc.so"
> 
> # ----------------- setting module-specific parameters ---------------
> 
> # -- usrloc params --
> modparam("usrloc", "db_mode", 0)
> 
> # -- rr params --
> # add value to ;lr param to make some broken UAs happy 
> modparam("rr", "enable_full_lr", 1)
> 
> # -- acc params --
> # set the reporting log level
> modparam("acc", "log_level", 1)
> # number of flag, which will be used for accounting; if a message is 
> # labeled with this flag, its completion status will be reported
> modparam("acc", "log_flag", 5)
> #modparam("acc", "failed_transactions", 1)
> 
> #modparam("acc", "log_extra", "msg_body=$rb") 
> #modparam("acc", "log_extra", "ua=hdr/User-Agent;uuid=avp/i:123")
> 
> # -------------------------  request routing logic -------------------
> 
> # main routing logic
> 
> route{
>         # initial sanity checks -- messages with
>         # max_forwards==0, or excessively long requests
>         if (!mf_process_maxfwd_header("10")) {
>                 sl_send_reply("483","Too Many Hops"); 
>                 break;
>         };
>         if (msg:len >=  2048 ) {
>                 sl_send_reply("513", "Message too big");
>                 break;
>         };
> 
>         if (!method=="REGISTER") record_route();
> 
>         # subsequent messages withing a dialog should take the
>         # path determined by record-routing
>         if (loose_route()) {
>                 # mark routing logic in request
>                 append_hf("P-hint: rr-enforced\r\n"); 
>                 route(1);
>                 break;
>         };
> 
>         if (!uri==myself) {
>                 # mark routing logic in request
>                 append_hf("P-hint: outbound\r\n");
>                 route(1);
>                 break;
>         };
> 
>         if (method == "INVITE" || method== "ACK" || method == 
> "CANCEL" || method == "BYE") {                # accounting           
>       setflag(5);        };
>         #
> --------------------------------------------------------------------
> 
>         # if the request is for other domain use UsrLoc
>         # (in case, it does not work, use the following command 
>         # with proper names and addresses in it)
>         if (uri==myself) {
>                 if (method=="REGISTER") {
>                         save("location");
>                         break; 
>                 };
>                 lookup("aliases");
>                 if (!uri==myself) {
>                         append_hf("P-hint: outbound alias\r\n");
>                         route(1); 
>                         break;
>                 };
>                 # native SIP destinations are handled using our 
> USRLOC DB                if (!lookup("location")) {                  
>       sl_send_reply("404", "Not Found");                         break;
> 
>                 };
>         };
> 
>         append_hf("P-hint: usrloc applied\r\n");
>         route(1);
> }
> 
> route[1]
> {
>         # send it out now; use stateful forwarding as it works 
> reliably         # even for UDP2TCP        if (!t_relay()) {         
>        sl_reply_error();        }; }
> 
> _______________________________________________
> Serusers mailing list
> Serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list