view libsip/parse.h @ 124:7e04d28fae8b

sip-in: default use-100rel to no BulkVS servers act badly when we send a reliable 180 Ringing response to an incoming call, even though they advertise 100rel support in the Supported header in the INVITE packet, and we probably won't be implementing 100rel for outbound because doing per-the-spec PRACK as a UAC is just too burdensome. Therefore, we need to consider 100rel extension as not-really-supported in themwi-system-sw.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 01 Oct 2022 15:54:50 -0800
parents 77d980126efd
children
line wrap: on
line source

/*
 * Here we define the structure we are going to use for receiving
 * and parsing SIP UDP packets.
 */

#define	MAX_SIP_RX_PACKET	3072
#define	MAX_HEADER_FIELDS	64

struct sip_parse_hdr {
	char	*field_name;
	char	*field_value;
};

struct sip_pkt_rx {
	/* recvfrom on UDP socket, input to parser */
	char		pkt_buffer[MAX_SIP_RX_PACKET];
	unsigned	pkt_length;
	/* filled by parser */
	int		parse_msgtype;
	char		*req_method;
	char		*req_uri;
	unsigned	status_code;
	char		*status_str;
	/* header fields */
	struct sip_parse_hdr hdr_fields[MAX_HEADER_FIELDS];
	unsigned	num_hdr_fields;
	/* optional message body */
	char		*msg_body;
	unsigned	msg_body_len;
};

#define	SIP_MSG_TYPE_REQ	1
#define	SIP_MSG_TYPE_RESP	2