diff --git a/include/osmocom/mgcp/mgcp_common.h b/include/osmocom/mgcp/mgcp_common.h index 07d8d37c9..7de45f902 100644 --- a/include/osmocom/mgcp/mgcp_common.h +++ b/include/osmocom/mgcp/mgcp_common.h @@ -47,6 +47,7 @@ enum mgcp_connection_mode { MGCP_CONN_SEND_ONLY = 2, MGCP_CONN_RECV_SEND = MGCP_CONN_RECV_ONLY | MGCP_CONN_SEND_ONLY, MGCP_CONN_LOOPBACK = 4 | MGCP_CONN_RECV_SEND, + MGCP_CONN_CONFECHO = 8 | MGCP_CONN_RECV_SEND, }; #define MGCP_X_OSMO_IGN_HEADER "X-Osmo-IGN:" diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 78652a112..5df4560cb 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -1548,6 +1548,7 @@ const struct value_string mgcp_client_connection_mode_strs[] = { { MGCP_CONN_RECV_SEND, "sendrecv" }, { MGCP_CONN_SEND_ONLY, "sendonly" }, { MGCP_CONN_RECV_ONLY, "recvonly" }, + { MGCP_CONN_CONFECHO, "confecho" }, { MGCP_CONN_LOOPBACK, "loopback" }, { 0, NULL } }; diff --git a/src/libosmo-mgcp/mgcp_msg.c b/src/libosmo-mgcp/mgcp_msg.c index 26a44c680..a46ffc22b 100644 --- a/src/libosmo-mgcp/mgcp_msg.c +++ b/src/libosmo-mgcp/mgcp_msg.c @@ -75,7 +75,7 @@ void mgcp_disp_msg(unsigned char *message, unsigned int len, char *preamble) } /*! Parse connection mode. - * \param[in] mode as string (recvonly, sendrecv, sendonly or loopback) + * \param[in] mode as string (recvonly, sendrecv, sendonly confecho or loopback) * \param[in] endp pointer to endpoint (only used for log output) * \param[out] associated connection to be modified accordingly * \returns 0 on success, -1 on error */ @@ -100,6 +100,8 @@ int mgcp_parse_conn_mode(const char *mode, struct mgcp_endpoint *endp, conn->mode = MGCP_CONN_RECV_SEND; else if (strcasecmp(mode, "sendonly") == 0) conn->mode = MGCP_CONN_SEND_ONLY; + else if (strcasecmp(mode, "confecho") == 0) + conn->mode = MGCP_CONN_CONFECHO; else if (strcasecmp(mode, "loopback") == 0) conn->mode = MGCP_CONN_LOOPBACK; else {