Module: kamailio
Branch: 5.2
Commit: 55e0eef3f554b5cb6e8cec73c4a482ac03b3c99d
URL: https://github.com/kamailio/kamailio/commit/55e0eef3f554b5cb6e8cec73c4a482a…
Author: Aleksandar Yosifov <alexyosifov(a)gmail.com>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2020-02-09T17:18:30+01:00
ims_reqistrar_scscf: Fix bug with multi-notifications
- Added more accurate contact comparison when
sending NOTIFY to a subscriber.
(cherry picked from commit c275110a07fdad8963a08f5ca210f0d5fb717986)
---
Modified: src/modules/ims_registrar_scscf/registrar_notify.c
---
Diff: https://github.com/kamailio/kamailio/commit/55e0eef3f554b5cb6e8cec73c4a482a…
Patch: https://github.com/kamailio/kamailio/commit/55e0eef3f554b5cb6e8cec73c4a482a…
---
diff --git a/src/modules/ims_registrar_scscf/registrar_notify.c b/src/modules/ims_registrar_scscf/registrar_notify.c
index fd7116e855..175eb72cc2 100644
--- a/src/modules/ims_registrar_scscf/registrar_notify.c
+++ b/src/modules/ims_registrar_scscf/registrar_notify.c
@@ -1349,6 +1349,21 @@ int aor_to_contact(str* aor, str* contact) {
return ret;
}
+/*!
+ * \brief Match two contacts with full string - ips, ports and aliases
+ * \param c1 contact string 1
+ * \param c2 contact string 2
+ * \return 1 when they match, 0 when they not match
+ */
+static int contact_match(str* c1, str* c2) {
+ LM_DBG("Matching full contact string - comparing [%.*s] and [%.*s]\n", c1->len, c1->s, c2->len, c2->s);
+ if ((c1->len == c2->len) && !memcmp(c1->s, c2->s, c1->len)) {
+ return 1;
+ }
+
+ return 0;
+}
+
/*!
* \brief Match a contact record to a contact string but only compare the ip port portion
* \param ptr contact record
@@ -1435,7 +1450,7 @@ void create_notifications(udomain_t* _t, impurecord_t* r_passed, str *presentity
//This is a fix to ensure that when a user subscribes a full reg info is only sent to that UE
if (event_type == IMS_REGISTRAR_SUBSCRIBE) {
- if (contact_port_ip_match(watcher_contact, &s->watcher_contact) &&
+ if (contact_match(watcher_contact, &s->watcher_contact) &&
(presentity_uri->len == s->presentity_uri.len) && (memcmp(s->presentity_uri.s, presentity_uri->s, presentity_uri->len) == 0)) {
LM_DBG("This is a fix to ensure that we only send full reg info XML to the UE that just subscribed. About to make new notification! We always increment the local cseq and version before we send a new notification\n");
Module: kamailio
Branch: 5.2
Commit: b021ba5e6d0e76e5ad64bf26e7343749085ac59f
URL: https://github.com/kamailio/kamailio/commit/b021ba5e6d0e76e5ad64bf26e734374…
Author: Peter Lemenkov <lemenkov(a)gmail.com>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2020-02-09T17:17:34+01:00
rtpengine: Remove unused struct fields
These two were copied directly from rtpproxy module but never used by
this module.
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
(cherry picked from commit 35b82c4acb4559fd14faa86fe1c58caf763d5fd0)
---
Modified: src/modules/rtpengine/rtpengine.h
---
Diff: https://github.com/kamailio/kamailio/commit/b021ba5e6d0e76e5ad64bf26e734374…
Patch: https://github.com/kamailio/kamailio/commit/b021ba5e6d0e76e5ad64bf26e734374…
---
diff --git a/src/modules/rtpengine/rtpengine.h b/src/modules/rtpengine/rtpengine.h
index a8266dfd42..ddc146f763 100644
--- a/src/modules/rtpengine/rtpengine.h
+++ b/src/modules/rtpengine/rtpengine.h
@@ -53,8 +53,6 @@ struct rtpp_node {
unsigned int rn_weight; /* for load balancing */
unsigned int rn_displayed; /* for delete at db reload */
unsigned int rn_recheck_ticks;
- int rn_rep_supported;
- int rn_ptl_supported;
struct rtpp_node *rn_next;
};
Module: kamailio
Branch: 5.3
Commit: 951da90aa25035c7bc70aa0c22afdcd78c6737c9
URL: https://github.com/kamailio/kamailio/commit/951da90aa25035c7bc70aa0c22afdcd…
Author: Aleksandar Yosifov <alexyosifov(a)gmail.com>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2020-02-09T17:18:27+01:00
ims_reqistrar_scscf: Fix bug with multi-notifications
- Added more accurate contact comparison when
sending NOTIFY to a subscriber.
(cherry picked from commit c275110a07fdad8963a08f5ca210f0d5fb717986)
---
Modified: src/modules/ims_registrar_scscf/registrar_notify.c
---
Diff: https://github.com/kamailio/kamailio/commit/951da90aa25035c7bc70aa0c22afdcd…
Patch: https://github.com/kamailio/kamailio/commit/951da90aa25035c7bc70aa0c22afdcd…
---
diff --git a/src/modules/ims_registrar_scscf/registrar_notify.c b/src/modules/ims_registrar_scscf/registrar_notify.c
index 5f15cf60d7..a40aa1d71f 100644
--- a/src/modules/ims_registrar_scscf/registrar_notify.c
+++ b/src/modules/ims_registrar_scscf/registrar_notify.c
@@ -1351,6 +1351,21 @@ int aor_to_contact(str* aor, str* contact) {
return ret;
}
+/*!
+ * \brief Match two contacts with full string - ips, ports and aliases
+ * \param c1 contact string 1
+ * \param c2 contact string 2
+ * \return 1 when they match, 0 when they not match
+ */
+static int contact_match(str* c1, str* c2) {
+ LM_DBG("Matching full contact string - comparing [%.*s] and [%.*s]\n", c1->len, c1->s, c2->len, c2->s);
+ if ((c1->len == c2->len) && !memcmp(c1->s, c2->s, c1->len)) {
+ return 1;
+ }
+
+ return 0;
+}
+
/*!
* \brief Match a contact record to a contact string but only compare the ip port portion
* \param ptr contact record
@@ -1438,7 +1453,7 @@ void create_notifications(udomain_t* _t, impurecord_t* r_passed, str *presentity
//This is a fix to ensure that when a user subscribes a full reg info is only sent to that UE
if (event_type == IMS_REGISTRAR_SUBSCRIBE) {
- if (contact_port_ip_match(watcher_contact, &s->watcher_contact) &&
+ if (contact_match(watcher_contact, &s->watcher_contact) &&
(presentity_uri->len == s->presentity_uri.len) && (memcmp(s->presentity_uri.s, presentity_uri->s, presentity_uri->len) == 0)) {
LM_DBG("This is a fix to ensure that we only send full reg info XML to the UE that just subscribed.\n");
LM_DBG("About to make new notification! We always increment the local cseq and version before we send a new notification\n");
Module: kamailio
Branch: 5.3
Commit: 79c97c97eaf12942e6173d2170f66bd4f72ab509
URL: https://github.com/kamailio/kamailio/commit/79c97c97eaf12942e6173d2170f66bd…
Author: Peter Lemenkov <lemenkov(a)gmail.com>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2020-02-09T17:17:20+01:00
rtpengine: Remove unused struct fields
These two were copied directly from rtpproxy module but never used by
this module.
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
(cherry picked from commit 35b82c4acb4559fd14faa86fe1c58caf763d5fd0)
---
Modified: src/modules/rtpengine/rtpengine.h
---
Diff: https://github.com/kamailio/kamailio/commit/79c97c97eaf12942e6173d2170f66bd…
Patch: https://github.com/kamailio/kamailio/commit/79c97c97eaf12942e6173d2170f66bd…
---
diff --git a/src/modules/rtpengine/rtpengine.h b/src/modules/rtpengine/rtpengine.h
index b5314c2c35..4edf52f9ba 100644
--- a/src/modules/rtpengine/rtpengine.h
+++ b/src/modules/rtpengine/rtpengine.h
@@ -59,8 +59,6 @@ struct rtpp_node {
unsigned int rn_weight; /* for load balancing */
unsigned int rn_displayed; /* for delete at db reload */
unsigned int rn_recheck_ticks;
- int rn_rep_supported;
- int rn_ptl_supported;
struct rtpp_node *rn_next;
};
Module: kamailio
Branch: master
Commit: 35b82c4acb4559fd14faa86fe1c58caf763d5fd0
URL: https://github.com/kamailio/kamailio/commit/35b82c4acb4559fd14faa86fe1c58ca…
Author: Peter Lemenkov <lemenkov(a)gmail.com>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2020-02-09T17:15:54+01:00
rtpengine: Remove unused struct fields
These two were copied directly from rtpproxy module but never used by
this module.
Signed-off-by: Peter Lemenkov <lemenkov(a)gmail.com>
---
Modified: src/modules/rtpengine/rtpengine.h
---
Diff: https://github.com/kamailio/kamailio/commit/35b82c4acb4559fd14faa86fe1c58ca…
Patch: https://github.com/kamailio/kamailio/commit/35b82c4acb4559fd14faa86fe1c58ca…
---
diff --git a/src/modules/rtpengine/rtpengine.h b/src/modules/rtpengine/rtpengine.h
index 1e55cf244e..354eceb525 100644
--- a/src/modules/rtpengine/rtpengine.h
+++ b/src/modules/rtpengine/rtpengine.h
@@ -60,8 +60,6 @@ struct rtpp_node {
unsigned int rn_weight; /* for load balancing */
unsigned int rn_displayed; /* for delete at db reload */
unsigned int rn_recheck_ticks;
- int rn_rep_supported;
- int rn_ptl_supported;
struct rtpp_node *rn_next;
};