view include/out_routes.h @ 152:7176dc850d7a

sip-in hold/retr error handling: simply send BYE Because we know that the SIP state is CONNECTED at the time of any such error event, we can call initiate_bye() instead of disconnect_sip(), and thereby get rid of struct gsm_mncc_cause which will never be used in this scenario anyway.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 11 Oct 2022 16:11:21 -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;
};