Given that there are multiple Route sets , each with one param , check_route_param() function fails to search the proper param.s string .
The condition params.s[0]!=';' holds false and it stops the loop only when it encounters another ";" character which is not part of the Route header .
Eg: (these are not actual Route params, but this is what it is printing instead - this is part of my INVITE, and these headers are above Route ):
rr [loose.c:985]: check_route_param(): params are <;spi-s=424238335#015#012Require: sec-agree#015#012Proxy-Require: sec-agree#015#012Cont>
This patch is a functional workaround.
Note I have also seen there routed_params.s not pointing to the actual params , so perhaps there might be another issue before reaching this code.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/663
-- Commit Summary --
* rr: fix Route param search in check_route_param()
* Merge remote-tracking branch 'upstream/master' into fix-check_route_param
-- File Changes --
M modules/rr/loose.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/663.patchhttps://github.com/kamailio/kamailio/pull/663.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/663
Module: kamailio
Branch: 4.4
Commit: 1ca980fc2d6856d08bd725ffdbb799225ed09885
URL: https://github.com/kamailio/kamailio/commit/1ca980fc2d6856d08bd725ffdbb7992…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2016-07-06T14:44:39+02:00
rr: fix spelling errors catched by lintian #688
(cherry picked from commit 8f984a1be0726ec64cb4797a569fb44d1a7a9afd)
---
Modified: modules/rr/loose.c
---
Diff: https://github.com/kamailio/kamailio/commit/1ca980fc2d6856d08bd725ffdbb7992…
Patch: https://github.com/kamailio/kamailio/commit/1ca980fc2d6856d08bd725ffdbb7992…
---
diff --git a/modules/rr/loose.c b/modules/rr/loose.c
index 1785d8c..48644d9 100644
--- a/modules/rr/loose.c
+++ b/modules/rr/loose.c
@@ -43,7 +43,7 @@
#include "rr_mod.h"
-#define RR_ERROR -1 /*!< An error occured while processing route set */
+#define RR_ERROR -1 /*!< An error occurred while processing route set */
#define RR_DRIVEN 1 /*!< The next hop is determined from the route set */
#define RR_OB_DRIVEN 2 /*!< The next hop is determined from the route set based on flow-token */
#define NOT_RR_DRIVEN -1 /*!< The next hop is not determined from the route set */