| 189 | ********************************************/ |
| 190 | static str log_attrs[ACC_CORE_LEN + ACC_CDR_LEN + MAX_ACC_EXTRA + MAX_ACC_LEG]; |
| 191 | void acc_log_init(void) |
| 192 | { |
| 193 | struct acc_extra *extra; |
| 194 | int n; |
| 195 | |
| 196 | n = 0; |
| 197 | |
| 198 | /* fixed core attributes */ |
| 199 | init_str(&log_attrs[n++], A_METHOD); |
| 200 | init_str(&log_attrs[n++], A_FROMTAG); |
| 201 | init_str(&log_attrs[n++], A_TOTAG); |
| 202 | init_str(&log_attrs[n++], A_CALLID); |
| 203 | init_str(&log_attrs[n++], A_CODE); |
| 204 | init_str(&log_attrs[n++], A_STATUS); |
| 205 | |
| 206 | /* init the extra db keys */ |
| 207 | for (extra = log_extra_tags; extra; extra = extra->next) |
| 208 | log_attrs[n++] = extra->name; |
| 209 | |
| 210 | /* multi leg call columns */ |
| 211 | for (extra = log_leg_tags; extra; extra = extra->next) |
| 212 | log_attrs[n++] = extra->name; |
| 213 | |
| 214 | /* cdrs columns */ |
| 215 | init_str(&log_attrs[n++], A_DURATION); |
| 216 | init_str(&log_attrs[n++], A_SETUPTIME); |
| 217 | init_str(&log_attrs[n++], A_CREATED); |
| 218 | } |
| 219 | |
| 220 | int acc_log_cdrs(struct dlg_cell *dlg, struct sip_msg *msg, acc_ctx_t* ctx) |
| 221 | { |