adding error logging

mr3.2.1
Richard Fuchs 13 years ago
parent cc99c171a9
commit 56a4e991ef

@ -12,7 +12,7 @@
+include ../../Makefile.modules
--- /dev/null
+++ b/modules/tcap/tcap_mod.c
@@ -0,0 +1,127 @@
@@ -0,0 +1,129 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
@ -85,25 +85,33 @@
+ int_str avp_val, avp_name;
+ static unsigned short avp_type = 0;
+ pv_spec_t *avp_spec = NULL;
+ const char *err;
+
+ err = "Error fixing up first parameter";
+ if (fixup_get_svalue(msg, (gparam_p) su, &spec))
+ goto error;
+
+ err = "No SIP body found";
+ body.s = get_body(msg);
+ if (!body.s)
+ goto error;
+ err = "No Content-Length found or zero length body";
+ body.len = get_content_length(msg);
+ if (!body.len)
+ goto error;
+
+ err = "No Content-Type found";
+ if (!msg->content_type)
+ goto error;
+ err = "Truncated SIP packet";
+ if (msg->content_type->body.len < content_type.len)
+ goto error;
+ err = "Content-Type mismatch";
+ if (strncasecmp(msg->content_type->body.s, content_type.s, content_type.len))
+ goto error;
+
+ OUTPUT_BUFFER_INIT(&out, buf);
+ err = "Error parsing TCAP body";
+ if (tcap_extract(body.s, body.len, spec.s, &out))
+ goto error;
+
@ -111,33 +119,27 @@
+
+
+ s = (str *) sq;
+ err = "Invalid second parameter";
+ if (pv_locate_name(s) != s->len)
+ {
+ LM_ERR("invalid parameter\n");
+ return -1;
+ }
+ goto error;
+ err = "Malformed AVP definition";
+ if (((avp_spec = pv_cache_get(s)) == NULL)
+ || avp_spec->type!=PVT_AVP) {
+ LM_ERR("malformed or non AVP %s AVP definition\n", s->s);
+ return -1;
+ }
+ || avp_spec->type!=PVT_AVP)
+ goto error;
+
+ err = "Invalid AVP definition";
+ if(pv_get_avp_name(0, &avp_spec->pvp, &avp_name, &avp_type)!=0)
+ {
+ LM_ERR("[%s]- invalid AVP definition\n", s->s);
+ return -1;
+ }
+ goto error;
+ avp_val.s.s = out.buf;
+ avp_val.s.len = out.used;
+ err = "Failed to add return AVP";
+ if (add_avp(AVP_VAL_STR | avp_type, avp_name, avp_val) != 0)
+ {
+ LM_ERR("Failed to add SDP avp");
+ return -1;
+ }
+ goto error;
+
+ return 1;
+
+error:
+ LM_ERR("Error processing TCAP: %s\n", err);
+ return -1;
+}
--- a/Makefile.groups

Loading…
Cancel
Save