diff libsip/parse.h @ 0:35c0d9f03c0a

beginning with sipout-test-voice, a copy of sip-manual-out from themwi-system-sw
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 03 Mar 2024 23:20:19 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libsip/parse.h	Sun Mar 03 23:20:19 2024 -0800
@@ -0,0 +1,33 @@
+/*
+ * 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