view include/out_routes.h @ 165:9419fe55824f

themwi-sip-out complete to the point of compiling and linking
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 12 Oct 2022 17:05:45 -0800
parents 44dc809ffec0
children beb6aaecfe63
line wrap: on
line source

/*
 * In this header file we define all of our binary data structures
 * written into /var/gsm/out-routes.bin, which is the compiled binary form
 * of the call routing database for themwi-sip-out.
 *
 * Some related size limits are also defined here.
 */

#define	MAX_SIP_DEST_DOMAIN	31
#define	MAX_SIP_USER_PART	16
#define	MAX_E164_NUMBER		15
#define	MAX_INN_PREFIX		12
#define	MAX_SPECIAL_NUM		6

struct out_routes_header {
	uint32_t	num_dest;
	uint32_t	num_inn;
	uint32_t	num_special;
};

struct sip_out_dest {
	struct sockaddr_in sin;
	char		domain[MAX_SIP_DEST_DOMAIN+1];
};

struct inn_route {
	char		prefix[MAX_INN_PREFIX+1];
	uint8_t		sip_dest_id;
};

struct special_num_route {
	char		special_num[MAX_SPECIAL_NUM+1];
	uint8_t		sip_dest_id;
	char		sip_user[MAX_SIP_USER_PART+1];
	uint8_t		flags;
};