aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2020-03-06 14:31:47 +0100
committerOliver Smith <osmith@sysmocom.de>2020-03-06 14:49:31 +0100
commit857bd28b8e5c964e898b92f67aeba403355443a1 (patch)
tree7e99ab88fc90759fccb5e0456b0950dbca1a7be4
parentef1f327c967d5ee974e039d0da62c79e9ab9184b (diff)
osmo_ortp: add osmo_rtp_socket_set_dscp()osmith/virt-voice
-rw-r--r--include/osmocom/trau/osmo_ortp.h1
-rw-r--r--src/trau/osmo_ortp.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h
index 54afcf0..1e0720c 100644
--- a/include/osmocom/trau/osmo_ortp.h
+++ b/include/osmocom/trau/osmo_ortp.h
@@ -76,6 +76,7 @@ int osmo_rtp_socket_bind(struct osmo_rtp_socket *rs, const char *ip, int port);
int osmo_rtp_socket_connect(struct osmo_rtp_socket *rs, const char *ip, uint16_t port);
int osmo_rtp_socket_autoconnect(struct osmo_rtp_socket *rs);
int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type);
+int osmo_rtp_socket_set_dscp(struct osmo_rtp_socket *rs, int dscp);
int osmo_rtp_socket_free(struct osmo_rtp_socket *rs);
int osmo_rtp_skipped_frame(struct osmo_rtp_socket *rs, unsigned int duration);
int osmo_rtp_send_frame(struct osmo_rtp_socket *rs, const uint8_t *payload,
diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c
index 1d652cb..8b81e37 100644
--- a/src/trau/osmo_ortp.c
+++ b/src/trau/osmo_ortp.c
@@ -578,6 +578,16 @@ int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type)
return rc;
}
+/*! \brief Set the DSCP (Differentiated Services Code Point) for outgoing RTP packets
+ * \param[in] rs OsmoRTP socket
+ * \param[in] dscp DSCP value
+ * \returns 0 on success, < 0 otherwise
+ */
+int osmo_rtp_socket_set_dscp(struct osmo_rtp_socket *rs, int dscp)
+{
+ return rtp_session_set_dscp(rs->sess, dscp);
+}
+
/*! \brief completely close the RTP socket and release all resources
* \param[in] rs OsmoRTP socket to be released
* \returns 0 on success