aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/mgcp
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-04-07 09:37:17 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-04-07 22:51:59 +0200
commitb4b135efbf17f81a3faccb488ca35a5086adc618 (patch)
treeeed0e306eba0aaf23e26fe5ebfdbd381b14f6e8e /openbsc/src/mgcp
parentb4c7b274a1365e896affc1e1cb9a5075e3100e2a (diff)
[mgcp] Count incoming RTP packets from the BTS and remote
Diffstat (limited to 'openbsc/src/mgcp')
-rw-r--r--openbsc/src/mgcp/mgcp_network.c6
-rw-r--r--openbsc/src/mgcp/mgcp_protocol.c1
-rw-r--r--openbsc/src/mgcp/mgcp_vty.c5
3 files changed, 10 insertions, 2 deletions
diff --git a/openbsc/src/mgcp/mgcp_network.c b/openbsc/src/mgcp/mgcp_network.c
index 9e18937d1..a5a2481fe 100644
--- a/openbsc/src/mgcp/mgcp_network.c
+++ b/openbsc/src/mgcp/mgcp_network.c
@@ -162,6 +162,12 @@ static int rtp_data_cb(struct bsc_fd *fd, unsigned int what)
}
}
+ /* do this before the loop handling */
+ if (dest == DEST_NETWORK)
+ ++endp->in_bts;
+ else
+ ++endp->in_remote;
+
/* dispatch */
if (cfg->audio_loop)
dest = !dest;
diff --git a/openbsc/src/mgcp/mgcp_protocol.c b/openbsc/src/mgcp/mgcp_protocol.c
index bbdc43e05..7c8b460fa 100644
--- a/openbsc/src/mgcp/mgcp_protocol.c
+++ b/openbsc/src/mgcp/mgcp_protocol.c
@@ -728,6 +728,7 @@ void mgcp_free_endp(struct mgcp_endpoint *endp)
endp->net_rtp = endp->net_rtcp = endp->bts_rtp = endp->bts_rtcp = 0;
endp->net_payload_type = endp->bts_payload_type = -1;
+ endp->in_bts = endp->in_remote = 0;
memset(&endp->remote, 0, sizeof(endp->remote));
memset(&endp->bts, 0, sizeof(endp->bts));
}
diff --git a/openbsc/src/mgcp/mgcp_vty.c b/openbsc/src/mgcp/mgcp_vty.c
index c8d4b7fe6..af762c57e 100644
--- a/openbsc/src/mgcp/mgcp_vty.c
+++ b/openbsc/src/mgcp/mgcp_vty.c
@@ -77,11 +77,12 @@ DEFUN(show_mcgp, show_mgcp_cmd, "show mgcp",
vty_out(vty, "MGCP is up and running with %u endpoints:%s", g_cfg->number_endpoints - 1, VTY_NEWLINE);
for (i = 1; i < g_cfg->number_endpoints; ++i) {
struct mgcp_endpoint *endp = &g_cfg->endpoints[i];
- vty_out(vty, " Endpoint 0x%.2x: CI: %d net: %u/%u bts: %u/%u on %s%s",
+ vty_out(vty, " Endpoint 0x%.2x: CI: %d net: %u/%u bts: %u/%u on %s traffic in :%u/%u%s",
i, endp->ci,
ntohs(endp->net_rtp), ntohs(endp->net_rtcp),
ntohs(endp->bts_rtp), ntohs(endp->bts_rtcp),
- inet_ntoa(endp->bts), VTY_NEWLINE);
+ inet_ntoa(endp->bts), endp->in_bts, endp->in_remote,
+ VTY_NEWLINE);
}
return CMD_SUCCESS;