Index: gw/bb_smscconn.c
===================================================================
RCS file: /home/cvs/gateway/gw/bb_smscconn.c,v
retrieving revision 1.106
diff -u -b -w -r1.106 bb_smscconn.c
--- gw/bb_smscconn.c 1 Nov 2009 15:14:36 -0000 1.106
+++ gw/bb_smscconn.c 6 Nov 2009 14:06:13 -0000
@@ -102,9 +102,11 @@
extern Counter *incoming_sms_counter;
extern Counter *outgoing_sms_counter;
+extern Counter *incoming_dlr_counter;
extern Load *outgoing_sms_load;
extern Load *incoming_sms_load;
+extern Load *incoming_dlr_load;
extern List *flow_threads;
extern List *suspended;
@@ -495,14 +497,17 @@
return (rc == -1 ? SMSCCONN_FAILED_QFULL : rc);
}
- if (sms->sms.sms_type != report_mo)
+ if (sms->sms.sms_type != report_mo) {
bb_alog_sms(conn, sms, "Receive SMS");
- else
- bb_alog_sms(conn, sms, "Receive DLR");
-
counter_increase(incoming_sms_counter);
load_increase(incoming_sms_load);
if (conn != NULL) counter_increase(conn->received);
+ } else {
+ bb_alog_sms(conn, sms, "Receive DLR");
+ counter_increase(incoming_dlr_counter);
+ load_increase(incoming_dlr_load);
+ if (conn != NULL) counter_increase(conn->dlr);
+ }
msg_destroy(sms);
@@ -1133,14 +1138,14 @@
if (status_type == BBSTATUS_XML)
octstr_format_append(tmp, "%s\n\t\t%ld"
- "\n\t\t%ld\n\t\t%ld\n\t\t"
+ "\n\t\t%ld\n\t\t%ld\n\t\t%ld\n\t\t"
"%ld\n\t\n", tmp3,
- info.received, info.sent, info.failed,
+ info.received, info.dlr, info.sent, info.failed,
info.queued);
else
- octstr_format_append(tmp, " (%s, rcvd %ld, sent %ld, failed %ld, "
+ octstr_format_append(tmp, " (%s, rcvd %ld, dlr %ld, sent %ld, failed %ld, "
"queued %ld msgs)%s", tmp3,
- info.received, info.sent, info.failed,
+ info.received, info.dlr, info.sent, info.failed,
info.queued, lb);
}
gw_rwlock_unlock(&smsc_list_lock);
Index: gw/bearerbox.c
===================================================================
RCS file: /home/cvs/gateway/gw/bearerbox.c,v
retrieving revision 1.172
diff -u -b -w -r1.172 bearerbox.c
--- gw/bearerbox.c 1 Sep 2009 21:45:44 -0000 1.172
+++ gw/bearerbox.c 6 Nov 2009 14:06:14 -0000
@@ -89,6 +89,7 @@
Counter *incoming_sms_counter;
Counter *outgoing_sms_counter;
+Counter *incoming_dlr_counter;
Counter *incoming_wdp_counter;
Counter *outgoing_wdp_counter;
@@ -99,6 +100,7 @@
Load *outgoing_sms_load;
Load *incoming_sms_load;
+Load *incoming_dlr_load;
/* this is not a list of items; instead it is used as
@@ -457,6 +459,7 @@
outgoing_sms_counter = counter_create();
incoming_sms_counter = counter_create();
+ incoming_dlr_counter = counter_create();
outgoing_wdp_counter = counter_create();
incoming_wdp_counter = counter_create();
@@ -472,6 +475,11 @@
load_add_interval(incoming_sms_load, 60);
load_add_interval(incoming_sms_load, 300);
load_add_interval(incoming_sms_load, -1);
+ incoming_dlr_load = load_create();
+ /* add 60,300,-1 entries to dlr */
+ load_add_interval(incoming_dlr_load, 60);
+ load_add_interval(incoming_dlr_load, 300);
+ load_add_interval(incoming_dlr_load, -1);
setup_signal_handlers();
@@ -556,8 +564,9 @@
debug("bb", 0, "Remaining SMS: %ld incoming, %ld outgoing",
gwlist_len(incoming_sms), gwlist_len(outgoing_sms));
- info(0, "Total SMS messages: received %ld, sent %ld",
+ info(0, "Total SMS messages: received %ld, dlr %ld, sent %ld",
counter_value(incoming_sms_counter),
+ counter_value(incoming_dlr_counter),
counter_value(outgoing_sms_counter));
#endif
@@ -565,9 +574,11 @@
gwlist_destroy(outgoing_sms, msg_destroy_item);
counter_destroy(incoming_sms_counter);
+ counter_destroy(incoming_dlr_counter);
counter_destroy(outgoing_sms_counter);
load_destroy(incoming_sms_load);
+ load_destroy(incoming_dlr_load);
load_destroy(outgoing_sms_load);
}
@@ -875,9 +886,11 @@
"
Status: %s, uptime %ldd %ldh %ldm %lds
\n\n"
" WDP: received %ld (%ld queued), sent %ld "
"(%ld queued)
\n\n"
- " SMS: received %ld (%ld queued), sent %ld "
+ "
SMS: received %ld (%ld queued), dlr %ld, sent %ld "
"(%ld queued), store size %ld
\n"
- " SMS: inbound (%.2f,%.2f,%.2f) msg/sec, outbound (%.2f,%.2f,%.2f) msg/sec
\n\n"
+ " SMS: inbound (%.2f,%.2f,%.2f) msg/sec, "
+ "dlr (%.2f,%.2f,%.2f) msg/sec, "
+ "outbound (%.2f,%.2f,%.2f) msg/sec
\n\n"
" DLR: %ld queued, using %s storage
\n\n";
footer = "";
} else if (status_type == BBSTATUS_WML) {
@@ -885,10 +898,11 @@
"
Status: %s, uptime %ldd %ldh %ldm %lds
\n\n"
" WDP: received %ld (%ld queued)
\n"
" WDP: sent %ld (%ld queued)
\n\n"
- " SMS: received %ld (%ld queued)
\n"
+ "
SMS: received %ld (%ld queued), dlr %ld
\n"
" SMS: sent %ld (%ld queued)
\n"
" SMS: store size %ld
\n"
" SMS: inbound (%.2f,%.2f,%.2f) msg/sec
\n"
+ " SMS: dlr (%.2f,%.2f,%.2f) msg/sec
\n"
" SMS: outbound (%.2f,%.2f,%.2f) msg/sec
\n\n"
" DLR: %ld queued
\n"
" DLR: using %s storage
\n\n";
@@ -899,17 +913,19 @@
"\t\n\t\t%ld%ld"
"\n\t\t%ld%ld"
"\n\t\n"
- "\t\n\t\t%ld%ld"
+ "\t\n\t\t%ld%ld%ld"
"\n\t\t%ld%ld"
"\n\t\t%ld\n\t\t"
- "%.2f,%.2f,%.2f\n\t\t%.2f,%.2f,%.2f\n\t\n"
+ "%.2f,%.2f,%.2f\n\t\t"
+ "%.2f,%.2f,%.2f\n\t\t"
+ "%.2f,%.2f,%.2f\n\t\n"
"\t\n\t\t%ld\n\t\t%s\n\t\n";
footer = "";
} else {
frmt = "%s\n\nStatus: %s, uptime %ldd %ldh %ldm %lds\n\n"
"WDP: received %ld (%ld queued), sent %ld (%ld queued)\n\n"
- "SMS: received %ld (%ld queued), sent %ld (%ld queued), store size %ld\n"
- "SMS: inbound (%.2f,%.2f,%.2f) msg/sec, outbound (%.2f,%.2f,%.2f) msg/sec\n\n"
+ "SMS: received %ld (%ld queued), dlr %ld, sent %ld (%ld queued), store size %ld\n"
+ "SMS: inbound (%.2f,%.2f,%.2f) msg/sec, dlr (%.2f,%.2f,%.2f) msg/sec, outbound (%.2f,%.2f,%.2f) msg/sec\n\n"
"DLR: %ld queued, using %s storage\n\n";
footer = "";
}
@@ -920,10 +936,11 @@
counter_value(incoming_wdp_counter),
gwlist_len(incoming_wdp) + boxc_incoming_wdp_queue(),
counter_value(outgoing_wdp_counter), gwlist_len(outgoing_wdp) + udp_outgoing_queue(),
- counter_value(incoming_sms_counter), gwlist_len(incoming_sms),
+ counter_value(incoming_sms_counter), gwlist_len(incoming_sms), counter_value(incoming_dlr_counter),
counter_value(outgoing_sms_counter), gwlist_len(outgoing_sms),
store_messages(),
load_get(incoming_sms_load,0), load_get(incoming_sms_load,1), load_get(incoming_sms_load,2),
+ load_get(incoming_dlr_load,0), load_get(incoming_dlr_load,1), load_get(incoming_dlr_load,2),
load_get(outgoing_sms_load,0), load_get(outgoing_sms_load,1), load_get(outgoing_sms_load,2),
dlr_messages(), dlr_type());
Index: gw/smscconn.c
===================================================================
RCS file: /home/cvs/gateway/gw/smscconn.c,v
retrieving revision 1.61
diff -u -b -w -r1.61 smscconn.c
--- gw/smscconn.c 17 Sep 2009 21:53:55 -0000 1.61
+++ gw/smscconn.c 6 Nov 2009 14:06:16 -0000
@@ -170,6 +170,7 @@
conn->is_stopped = start_as_stopped;
conn->received = counter_create();
+ conn->dlr = counter_create();
conn->sent = counter_create();
conn->failed = counter_create();
conn->flow_mutex = mutex_create();
@@ -334,6 +335,7 @@
mutex_lock(conn->flow_mutex);
counter_destroy(conn->received);
+ counter_destroy(conn->dlr);
counter_destroy(conn->sent);
counter_destroy(conn->failed);
@@ -599,6 +601,7 @@
infotable->sent = counter_value(conn->sent);
infotable->received = counter_value(conn->received);
+ infotable->dlr = counter_value(conn->dlr);
infotable->failed = counter_value(conn->failed);
if (conn->queued)
Index: gw/smscconn.h
===================================================================
RCS file: /home/cvs/gateway/gw/smscconn.h,v
retrieving revision 1.21
diff -u -b -w -r1.21 smscconn.h
--- gw/smscconn.h 6 May 2009 18:47:34 -0000 1.21
+++ gw/smscconn.h 6 Nov 2009 14:06:16 -0000
@@ -114,6 +114,7 @@
smscconn_killed_t killed; /* if we are killed, why */
int is_stopped; /* is connection currently in stopped state? */
unsigned long received; /* total number */
+ unsigned long dlr; /* total number */
unsigned long sent; /* total number */
unsigned long failed; /* total number */
long queued; /* set our internal outgoing queue length */
Index: gw/smscconn_p.h
===================================================================
RCS file: /home/cvs/gateway/gw/smscconn_p.h,v
retrieving revision 1.55
diff -u -b -w -r1.55 smscconn_p.h
--- gw/smscconn_p.h 17 Sep 2009 21:53:55 -0000 1.55
+++ gw/smscconn_p.h 6 Nov 2009 14:06:17 -0000
@@ -159,6 +159,7 @@
/* connection specific counters (created in smscconn.c, updated
* by callback functions in bb_smscconn.c, NOT used by specific driver) */
Counter *received;
+ Counter *dlr;
Counter *sent;
Counter *failed;