aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/mgcp/mgcp_network.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-08-03 02:27:21 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-08-03 02:27:21 +0800
commit98a3877e979c9e901a7adc6946904a5d535cb93f (patch)
tree6ad5a66f067a96eeff5d76c2fcca19cedcbdc8aa /openbsc/src/mgcp/mgcp_network.c
parent294cfcc1e5465075920d10c3fc66c1bdf004330b (diff)
mgcp: Implement the "loopback" mode for a connection endpoint.
Diffstat (limited to 'openbsc/src/mgcp/mgcp_network.c')
-rw-r--r--openbsc/src/mgcp/mgcp_network.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/openbsc/src/mgcp/mgcp_network.c b/openbsc/src/mgcp/mgcp_network.c
index cc1bf44f6..5923fea79 100644
--- a/openbsc/src/mgcp/mgcp_network.c
+++ b/openbsc/src/mgcp/mgcp_network.c
@@ -204,6 +204,10 @@ static int rtp_data_cb(struct bsc_fd *fd, unsigned int what)
if (cfg->audio_loop)
dest = !dest;
+ /* Loop based on the conn_mode, maybe undoing the above */
+ if (endp->conn_mode == MGCP_CONN_LOOPBACK)
+ dest = !dest;
+
if (dest == DEST_NETWORK) {
if (proto == PROTO_RTP)
patch_and_count(&endp->bts_seq_no, &endp->bts_lost_no,