– Kamailio SIP Server –

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

old-content:example_acc_setup [2005/12/06 01:00]
old-content:example_acc_setup [2005/12/06 01:00] (current)
Line 1: Line 1:
 +Below is an example of setting up Accounting using the acc module.
  
 +  #---------------------------------------------------------------------------
 +  # M4 defines
 +  #---------------------------------------------------------------------------
 +  define(`OPENSER_USER',          `user')
 +  define(`OPENSER_PW',            `password')
 +  define(`OPENSER_DATABASE',      `openser')
 +  define(`OPENSER_DATABASE_HOST', `localhost')
 +  define(`FLAG_ACC',           6)
 +  define(`FLAG_ACC_DB',        7)
 +  define(`FLAG_MISSED_CALL',   8)
 +
 +  #---------------------------------------------------------------------------
 +  # load modules
 +  #---------------------------------------------------------------------------
 +  mpath="/usr/local/lib/openser/modules"
 +  loadmodule "acc.so"
 +
 +  #---------------------------------------------------------------------------
 +  # acc params
 +  #---------------------------------------------------------------------------
 +  modparam("acc", "db_url", "mysql://OPENSER_USER:OPENSER_PW@OPENSER_DATABASE_HOST/OPENSER_DATABASE")
 +  modparam("acc", "db_flag", FLAG_ACC_DB)
 +  modparam("acc", "db_missed_flag", FLAG_MISSED_CALL)
 +  modparam("acc", "log_level", 3)
 +  modparam("acc", "log_flag", FLAG_ACC)
 +  modparam("acc", "log_missed_flag", FLAG_MISSED_CALL)
 +  modparam("acc", "log_fmt", "cdfimorstup")
 +  #modparam("acc", "multi_leg_enabled", YES)
 +  #modparam("acc", "src_leg_avp_id", 110)
 +  #modparam("acc", "dst_leg_avp_id", 111)
 +  modparam("acc", "report_ack", YES)
 +  modparam("acc", "report_cancels", YES)
 +  modparam("acc", "failed_transaction_flag", YES)
 +  modparam("acc", "early_media", YES)
 +
 +  route {
 +  ...
 +  #---------------------------------------------------------------------------
 +  # Setup 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);
 +  };
 +  ...
 +  }