Thanks first of all Bogdan,
But what is relevence of the acc table in database. it seems much like raw CDR record.
My problem is it is not getting updated at all. bit sip-trace table is getting the SIP messages recorded..
Even if I would populate acc table online is like an achivement for me. but how to do it from configuration.
Thanks again,
Madhusudan




Bogdan-Andrei Iancu <bogdan@voice-system.ro>

10/19/2006 01:18 AM

To
Madhusudan.Jarhad@lntinfotech.com
cc
users@openser.org
Subject
Re: [Users] How to configure acc modue





Hi,

the acc module does not generate CDRs, but start / stop events you can
use for generating CDRs

do you get the logs? be sure to set in the scrip the configured acc flags!!

regards,
bogdan

Madhusudan.Jarhad@lntinfotech.com wrote:

>
> Dear All,
> Here is very basic question from me.
> I have installed openser 1.1.0. I want to record the CDR / Accounts of
> calles and messages being processed. I have acc module in my
> opense.cfg and parameter setting is as follows
>
> # ----------------- SETTING MODULE-SPECIFIC PARAMETERS ---------------
>
> ## - - - - - - - - - - XLOG PARAMETERS - - - - - - - - - - - - - - -
> modparam("xlog", "force_color", 0)
>
> # - - - - - - - - - USRLOC PARAMS - - - - - - - - - - - - - - - - - -
>
> #modparam("usrloc", "db_mode",   1)
>
> # Uncomment this if you want to use SQL database
> # for persistent storage and comment the previous line
> modparam("usrloc", "db_mode", 2)
> modparam("usrloc", "db_url",
> "mysql://openser:openserrw@localhost/openser")
>
>
> # - - - - - - AUTH PARAMS - - - - - - - - - - - -
> # Uncomment if you are using auth module
> #
> modparam("auth_db", "calculate_ha1", yes)
> #
> # If you set "calculate_ha1" parameter to yes (which true in this
> config),
> # uncomment also the following parameter)
> #
> modparam("auth_db", "password_column", "password")
> #modparam("alias_db", "user_column", "username")
> modparam("auth_db", "password_column", "password")
>
> ##  - - - - - AUTH RADIUS - - - - -
> #modparam("auth_radius", "radius_config",
> "/usr/local/etc/radiusclient-ng/radiusclient.conf")
> #modparam("auth_radius", "service_type", 15)
>
> ##  - - - - - RR MODULE PARAMETERS - - - - -
> # add value to ;lr param to make some broken UAs happy
>  modparam("rr", "enable_full_lr", 1)
>  modparam("rr", "append_fromtag", 1)
>  modparam("rr", "enable_double_rr", 1)
>  modparam("rr", "add_username", 1)
>
> ## - - - - -  ACCOUNTING PARAMETERS  - - - - - - - -
> modparam("acc", "detect_direction", 1)
> modparam("acc", "failed_transaction_flag", 1)
> modparam("acc", "report_cancels",1)
> modparam("acc", "report_ack", 1)
> modparam("acc", "early_media", 1)
> modparam("acc", "detect_direction", 1)
> modparam("acc", "report_cancels", 1)
> modparam("acc", "log_level", 1)
> modparam("acc", "log_flag", 1)
> modparam("acc", "log_missed_flag", 1)
> #modparam("acc", "log_extra", "ua=$hdr(User-Agent);uuid=$avp(i:123)")
> modparam("acc", "service_type", 15) # user 16 to set to Radius
> modparam("acc", "db_flag", 2)
> modparam("acc", "db_missed_flag", 3)
> modparam("acc", "db_url", "mysql://openser:openserrw@localhost/openser")
> modparam("acc", "db_table_acc", "acc")
> modparam("acc", "db_table_missed_calls", "missed_calls")
> modparam("acc", "db_missed_flag", 3)
> modparam("acc", "acc_sip_method_column", "sip_method")
> modparam("acc", "acc_from_uri_column", "from_uri")
> modparam("acc", "acc_fromtag_column", "fromtag")
> modparam("acc", "acc_to_uri_column", "to_uri")
> modparam("acc", "acc_totag_column", "totag")
> #modparam("acc", "acc_cseqno_column", "cseq_no")
> modparam("acc", "acc_sip_callid_column", "sip_callid")
> modparam("acc", "acc_time_column", "time")
> # for mysql-based accouting, use the names of the columns
> # for RADIUS-based accouting, use the names of the RADIUS AVPs
> #modparam("acc",
> "multi_leg_info","RAD_LEG_SRC=$avp(src);RAD_LEG_SRC=$avp(dst)")
>
> #modparam("acc", "multi_leg_info","leg_src=$avp(src);leg_dst=$avp(dst)")
> #modparam("avpops", "avp_aliases", "uuid=I:50")
> modparam("acc", "radius_config",
> "/usr/local/etc/radiusclient-ng/radiusclient.conf")
> #modparam("acc", "radius_config", "/etc/openser/radius/client.conf")
> #modparam("acc", "radius_flag", 2)
> #modparam("acc", "diameter_missed_flag", 3)
>
> #modparam("acc", "radius_extra",       "Sip-RPid=$avp(s:rpid)
> Source-IP=$si; Source-Port=$sp"
> #                                        Canonical-URI=$avp($can_uri); \
> #                                      
> Billing-Party=$avp($billing_party); \
> #                                      
> Divert-Reason=$avp(s:divert_reason); \
> #                                      
> X-RTP-Stat=$avp(s:rtp_statistics); \
> #                                       From-Header=$hdr(from); \
> #                                       User-Agent=$hdr(user-agent); \
> #                                       Contact=$hdr(contact); \
> #                                       Event=$hdr(event)")
>
> ## - - - - - - JABBER SERVER CONFIGURATION - - - - - - - - -
> modparam("jabber", "jdomain", "jabber.sipserver.com=*")
> modparam("jabber", "db_url",
> "mysql://openser:openserrw@localhost/openser")
>
> modparam("jabber", "jdomain", "sipx.vshodc.lntinfotech.com")
>
>
> ## - - - - - - - - - - - SIPTRACE MODULES PARAMETERS - - - - - - - - -
> modparam("siptrace", "trace_flag", 0)
> modparam("siptrace", "db_url",
> "mysql://openser:openserrw@localhost/openser")
> modparam("siptrace", "trace_on", 1)
> modparam("siptrace", "table", "sip_trace")
> modparam("siptrace", "duplicate_uri", "sip:172.17.85.51:5888")
>
>
>
> # -------------------------  request routing logic -------------------
>
> # main routing logic
>
> route{
>
> ## ADDED BY MADHUSUDAN
> #    avp_write("caller_id", $avp(name); #"$uuid");
> #    avp_printf("i:20", "$avp($uuid): $fu");
> #    xdbg("$Cbgi:20$Cxx [$avp(i:20)] $Cbrcseq$Cxx=[$hdr(cseq)]\n");
> # setflag(1); /* set for accounting (the same value as in log_flag!)*/
> # t_relay();      /* enter stateful mode now */
>
> ##
>
>
>         sip_trace();
> #       xlog("L_ERR", "time [$Tf] method <$rm> r-uri <$ru> 2nd via
> <$hdr(via[1])>\n");
> #       setflag(1); /* set for accounting (the same value as in
> log_flag!)*/
> #       t_relay();      /* enter stateful mode now */
>
> #       if (t_newtran()) {
> #               log("UAS logic");
> #               t_reply("999","hello");
> #       } else sl_reply_error();
>
> ################
>         if (t_local_replied("all")) {
>                 log ("no reply received\n");
>         }
>
>         # 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");
>                 exit;
>         };
>
>         if (msg:len >=  2048 ) {
>                 sl_send_reply("513", "Message too big");
>                 exit;
>         };
>
>         # we record-route all messages -- to make sure that
>         # subsequent messages will go through our proxy; that's
>         # particularly good if upstream and downstream entities
>         # use different transport protocol
>         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);
>         };
>
>         if (!uri==myself) {
>                 # mark routing logic in request
>                 append_hf("P-hint: outbound\r\n");
>                 # if you have some interdomain connections via TLS
>                 #if(uri=~"@tls_domain1.net") {
>                 #       t_relay("tls:domain1.net");
>                 #       exit;
>                 #} else if(uri=~"@tls_domain2.net") {
>                 #       t_relay("tls:domain2.net");
>                 #       exit;
>                 #}
>                 route(1);
>         };
>
>         # 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") {
>
>                         # Uncomment this if you want to use digest
> authentication
>                         #if (!www_authorize("openser.org",
> "subscriber")) {
>                         #       www_challenge("openser.org", "0");
>                         #       exit;
>                         #};
>
>                         save("location");
>                         exit;
>                 };
>
>                 lookup("aliases");
>                 if (!uri==myself) {
>                         append_hf("P-hint: outbound alias\r\n");
>                         route(1);
>                 };
>
>                 # native SIP destinations are handled using our USRLOC DB
>                 if (!lookup("location")) {
>                         sl_send_reply("404", "Not Found");
>                         exit;
>                 };
>                 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();
>         };
>
>         exit;
> }
>
>
> onreply_route[1] {
>         if (t_check_status("1[0-9][0-9]")) {
>                 setflag(1);
>                 log("provisional reply received\n");
>                 if (t_check_status("183"))
>                         drop;
>         }
>         if (t_was_cancelled()) {
>             log("transaction was cancelled by UAC\n");
>         }
>
> }
>
> ###################################################################
> My need is to get the CDRs for events and volume  like MESSAGES and
>  download/file transfer respectively.
> Please help
> ______________________________________________________________________
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Users mailing list
>Users@openser.org
>http://openser.org/cgi-bin/mailman/listinfo/users
>  
>


______________________________________________________________________


______________________________________________________________________