aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/libmgcp/mgcp_protocol.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/openbsc/src/libmgcp/mgcp_protocol.c b/openbsc/src/libmgcp/mgcp_protocol.c
index 6e489498c..f25c1faa9 100644
--- a/openbsc/src/libmgcp/mgcp_protocol.c
+++ b/openbsc/src/libmgcp/mgcp_protocol.c
@@ -344,6 +344,14 @@ static struct msgb *create_response_with_sdp(struct mgcp_endpoint *endp,
return create_resp(endp, 200, " OK", msg, trans_id, NULL, sdp_record);
}
+static void send_dummy(struct mgcp_endpoint *endp)
+{
+ if (endp->osmux)
+ osmux_send_dummy(endp);
+ else
+ mgcp_send_dummy(endp);
+}
+
/*
* handle incoming messages:
* - this can be a command (four letters, space, transaction id)
@@ -1019,10 +1027,7 @@ mgcp_header_done:
p->cfg->change_cb(tcfg, ENDPOINT_NUMBER(endp), MGCP_ENDP_CRCX);
if (endp->conn_mode & MGCP_CONN_RECV_ONLY && tcfg->keepalive_interval != 0) {
- if (endp->osmux)
- osmux_send_dummy(endp);
- else
- mgcp_send_dummy(endp);
+ send_dummy(endp);
}
create_transcoder(endp);
@@ -1156,7 +1161,7 @@ static struct msgb *handle_modify_con(struct mgcp_parse_data *p)
if (endp->conn_mode & MGCP_CONN_RECV_ONLY &&
endp->tcfg->keepalive_interval != 0)
- mgcp_send_dummy(endp);
+ send_dummy(endp);
if (silent)
goto out_silent;
@@ -1326,7 +1331,7 @@ static void mgcp_keepalive_timer_cb(void *_tcfg)
for (i = 1; i < tcfg->number_endpoints; ++i) {
struct mgcp_endpoint *endp = &tcfg->endpoints[i];
if (endp->conn_mode == MGCP_CONN_RECV_ONLY)
- mgcp_send_dummy(endp);
+ send_dummy(endp);
}
LOGP(DMGCP, LOGL_DEBUG, "Rescheduling trunk %d keepalive timer.\n",