Hi Iqbal,
Ah ok, those queries will only generate the duration of INVITE to BYE methods data from my database. But how can I get INVITE and BYE accounted in my ser.cfg? I have this ser.cfg that I made but it is not running, it gaves me an error (core dumped). Well just want to consult you on how can I make this ser.cfg to work and account for INVITE's and BYE's. Like just I said, I'm a very newbie with ser =).
This is the config file:
#debug=7 fork=no log_stderror=yes
check_via=no dns=no port=5060 listen=10.0.1.5 fifo_db_url="mysql://ser:heslo@localhost/ser" fifo="/tmp/ser_fifo"
#load needed modules
loadmodule "/usr/local/lib/ser/modules/mysql.so" loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so" loadmodule "/usr/local/lib/ser/modules/acc.so" loadmodule "/usr/local/lib/ser/modules/rr.so" loadmodule "/usr/local/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/lib/ser/modules/registrar.so" loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_db.so" loadmodule "/usr/local/lib/ser/modules/usrloc.so"
#parameter settings
#usr module param modparam("usrloc", "db_mode", 1)
#acc module param modparam("acc", "log_level", 1) modparam("acc", "log_flag", 1) modparam("acc", "log_fmt", "mpoft") modparam("acc", "report_ack", 1) modparam("acc", "db_url", "mysql://ser:heslo@localhost/ser") modparam("acc", "db_flag", 2) modparam("acc", "db_missed_flag", 3)
#auth_db param mysql authentication active modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password")
#rr module param modparam("rr", "enable_full_lr", 1)
####routing logic####
route{
if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","To many HOPS"); break; };
if (msg:len >= max_len ) { sl_send_reply("513","Message too big"); break; };
if (uri==myself) {
if (method=="REGISTER") {
if (!www_authorize("server4all", "subscriber")) { www_challenge("server4all", "1"); break; };
save("location"); break; };
if (method=="INVITE") record_route(); setflag(1); };
if (!t_relay()) { sl_reply_error(); }; }
Thanks a lot,
Iqbal wrote:
put those queries in mysql and it should lookup your acc table
Iqbal
Ryan Pagquil wrote:
Hi, So the only concept on how will I account for duration is to account for INVITE and BYE methods...BTW, where will I put those queries? Sorry, I'm in a stage of discovering SER.=)
Thanks,
Java Rockx wrote:
Ryan,
This MySQL query should do the trick. It joins the acc table to itself. One side grabs INVITE messages and the other side grabs BYE messages.
NOTE: This will not work if you account for re-INVITE messages because you will then have multple INVITEs for the same call.
Regards, Paul
SELECT t1.from_uri as orig_number, t1.to_uri as term_number, TIMEDIFF(t2.time, t1.time) as duration, t1.timestamp as calldate FROM acc t1, acc t2 WHERE t1.sip_callid = t2.sip_callid AND ((t1.fromtag = t2.fromtag and t1.totag = t2.totag) OR (t1.fromtag = t2.totag and t1.totag = t2.fromtag)) AND t1.sip_method='INVITE' AND t2.sip_method='BYE'
On 7/4/05, Iqbal iqbal@gigo.co.uk wrote:
its records the INVITE and BYE, so fro there you can work out the session duration
Iqbal
Ryan Pagquil wrote:
guys, just want to ask if i can make ser to account session durations for billing purposes?
Thanks,
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers