Module: kamailio
Branch: master
Commit: abe6bf3cf132e8f24d079ead22717e94823a0cbf
URL:
https://github.com/kamailio/kamailio/commit/abe6bf3cf132e8f24d079ead22717e9…
Author: jaybeepee <jason.penton(a)gmail.com>
Committer: jaybeepee <jason.penton(a)gmail.com>
Date: 2016-09-12T16:57:20+02:00
modules/ims_registrar_scscf: extra error checking before adding call-id to cxdx calls
---
Modified: modules/ims_registrar_scscf/cxdx_sar.c
---
Diff:
https://github.com/kamailio/kamailio/commit/abe6bf3cf132e8f24d079ead22717e9…
Patch:
https://github.com/kamailio/kamailio/commit/abe6bf3cf132e8f24d079ead22717e9…
---
diff --git a/modules/ims_registrar_scscf/cxdx_sar.c
b/modules/ims_registrar_scscf/cxdx_sar.c
index 7677558..876160f 100644
--- a/modules/ims_registrar_scscf/cxdx_sar.c
+++ b/modules/ims_registrar_scscf/cxdx_sar.c
@@ -187,6 +187,9 @@ void async_cdp_callback(int is_timeout, void *param, AAAMessage *saa,
long elaps
rerrno = R_SAR_FAILED;
goto error;
}
+
+ LM_DBG("callid for found transaction is [%.*s]\n",
req->callid->body.len, req->callid->body.s);
+
cxdx_get_result_code(saa, &rc);
cxdx_get_experimental_result_code(saa, &experimental_rc);
@@ -336,6 +339,7 @@ int cxdx_send_sar(struct sip_msg *msg, str public_identity, str
private_identity
AAASession *session = 0;
unsigned int hash = 0, label = 0;
struct hdr_field *hdr;
+ str call_id;
session = cdpb.AAACreateSession(0);
@@ -346,8 +350,14 @@ int cxdx_send_sar(struct sip_msg *msg, str public_identity, str
private_identity
}
if (!sar) goto error1;
- if (send_vs_callid_avp)
- if (!cxdx_add_call_id(sar, cscf_get_call_id(msg, &hdr))) goto error1;
+ if (msg && send_vs_callid_avp) {
+ call_id = cscf_get_call_id(msg, &hdr);
+ if (call_id.len>0 && call_id.s) {
+ if (!cxdx_add_call_id(sar, call_id))
+ LM_WARN("Failed to add call-id to SAR.... continuing... assuming
non-critical\n");
+ }
+ }
+
if (!cxdx_add_destination_realm(sar, cxdx_dest_realm)) goto error1;
if (!cxdx_add_vendor_specific_appid(sar, IMS_vendor_id_3GPP, IMS_Cx, 0 /*IMS_Cx*/))
goto error1;