view include/out_routes.h @ 254:beb6aaecfe63

include/out_routes.h: add flag for E911 special handling
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 15 Aug 2023 00:15:33 -0800
parents 44dc809ffec0
children
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;
};

#define	SPECIAL_NUM_FLAG_E911	0x01