view src/endp_bind.c @ 37:8f1700a42ca5 default tip

set_remote: add functions for IPv6 and for sockaddr_{in,in6} A convenient way to pass in remote end address as struct sockaddr_in is needed for tw-border-mgw; IPv6 support will be needed in order to bring twrtp_endp into Osmocom mainline.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 23 Nov 2024 19:08:28 +0000
parents 2032201bd034
children
line wrap: on
line source

/*
 * Here we implement the wrapper function that first obtains a pair of fds
 * bound to IP & port for RTP & RTCP, then registers them with twrtp_endp.
 */

#include <stdint.h>
#include <stdbool.h>
#include <errno.h>

#include <themwi/rtp/endp.h>
#include <themwi/rtp/fdpair.h>

int twrtp_endp_bind_ip_port(struct twrtp_endp *endp, const char *ip,
			    uint16_t port)
{
	int rc;

	if (endp->register_done)
		return -EBUSY;

	rc = twrtp_bind_fdpair(ip, port, &endp->rtp_fd, &endp->rtcp_fd);
	if (rc < 0)
		return rc;

	return twrtp_endp_register_fds(endp);
}