Module: kamailio
Branch: 5.0
Commit: 17dab52919e161e0820a835771ee63ffd20cf57c
URL: 
https://github.com/kamailio/kamailio/commit/17dab52919e161e0820a835771ee63ffd20cf57c

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2019-04-04T12:59:59+02:00

dialog: parse headers for request and transfer reply for errors

(cherry picked from commit 4e1ebc6b446e6264f91c96deaed0548de353d731)
(cherry picked from commit b4df4fc4b0401b522b7fce516e286aec85d4ad96)
(cherry picked from commit 5e7201ef86ab6152034989728272204ef02a4685)

---

Modified: src/modules/dialog/dlg_handlers.c
Modified: src/modules/dialog/dlg_transfer.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/17dab52919e161e0820a835771ee63ffd20cf57c.diff
Patch: 
https://github.com/kamailio/kamailio/commit/17dab52919e161e0820a835771ee63ffd20cf57c.patch

---

diff --git a/src/modules/dialog/dlg_handlers.c 
b/src/modules/dialog/dlg_handlers.c
index 303513b065..80f9a9890d 100644
--- a/src/modules/dialog/dlg_handlers.c
+++ b/src/modules/dialog/dlg_handlers.c
@@ -849,6 +849,11 @@ int dlg_new_dialog(sip_msg_t *req, struct cell *t, const 
int run_initial_cbs)
        if(req->first_line.u.request.method_value != METHOD_INVITE)
                return -1;
 
+       if(parse_headers(req, HDR_EOH_F, 0) < 0) {
+               LM_ERR("failed to parse the request headers\n");
+               return -1;
+       }
+
     if(pre_match_parse( req, &callid, &ftag, &ttag, 0)<0) {
         LM_WARN("pre-matching failed\n");
         return -1;
diff --git a/src/modules/dialog/dlg_transfer.c 
b/src/modules/dialog/dlg_transfer.c
index f3e594bcbe..a920eb52c1 100644
--- a/src/modules/dialog/dlg_transfer.c
+++ b/src/modules/dialog/dlg_transfer.c
@@ -252,6 +252,10 @@ void dlg_bridge_tm_callback(struct cell *t, int type, 
struct tmcb_params *ps)
 
        /* 2xx - build dialog/send refer */
        msg = ps->rpl;
+       if(parse_headers(msg, HDR_EOH_F, 0) < 0) {
+               LM_ERR("failed to parse the reply headers\n");
+               goto error;
+       }
        if((msg->cseq==NULL || parse_headers(msg,HDR_CSEQ_F,0)<0)
                        || msg->cseq==NULL || msg->cseq->parsed==NULL)
        {


_______________________________________________
Kamailio (SER) - Development Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to