aboutsummaryrefslogtreecommitdiffstats
path: root/src/libosmocc/session.h
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2023-03-26 12:06:34 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2023-03-26 17:06:37 +0200
commit5816f8e7c0ba94306c8c4ebe02bdc04861cd07b4 (patch)
treeb0a589e06c084f9d2454d81b3c6b3c67a9862c9e /src/libosmocc/session.h
parent5c20a3e8b701eed6bee1efff0f7e1975b4185bee (diff)
libosmo-cc: Allow remote port change with RTP
In case of port translation, the different remote RTP port is adopted for further transfer. This happens, if remote peer uses NAT that changes source port also.
Diffstat (limited to 'src/libosmocc/session.h')
-rw-r--r--src/libosmocc/session.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libosmocc/session.h b/src/libosmocc/session.h
index ddbed82..1317f4c 100644
--- a/src/libosmocc/session.h
+++ b/src/libosmocc/session.h
@@ -1,3 +1,5 @@
+#include <sys/socket.h>
+
/* configuration */
enum osmo_cc_session_nettype {
@@ -80,6 +82,9 @@ typedef struct osmo_cc_session_media {
struct osmo_cc_session_codec *codec_list;
int send, receive;
void (*receiver)(struct osmo_cc_session_codec *codec, uint8_t marker, uint16_t sequence_number, uint32_t timestamp, uint32_t ssrc, uint8_t *data, int len);
+ struct sockaddr_storage rtp_sa, rtcp_sa;
+ socklen_t rtp_slen, rtcp_slen;
+ uint16_t *rtp_sport, *rtcp_sport; // pointers to the port inside sa sockaddr
struct osmo_fd rtp_ofd;
struct osmo_fd rtcp_ofd;
uint32_t tx_ssrc, rx_ssrc;