Module: kamailio
Branch: master
Commit: 65141b0603a1a053058da166eba2b6b2a869ed81
URL: https://github.com/kamailio/kamailio/commit/65141b0603a1a053058da166eba2b6b…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2020-02-04T16:23:03+01:00
registration: docs for min_expires_mode param
---
Modified: src/modules/registrar/doc/registrar_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/65141b0603a1a053058da166eba2b6b…
Patch: https://github.com/kamailio/kamailio/commit/65141b0603a1a053058da166eba2b6b…
---
diff --git a/src/modules/registrar/doc/registrar_admin.xml b/src/modules/registrar/doc/registrar_admin.xml
index eb87035f02..4575bbaf9b 100644
--- a/src/modules/registrar/doc/registrar_admin.xml
+++ b/src/modules/registrar/doc/registrar_admin.xml
@@ -201,9 +201,10 @@ modparam("registrar", "expires_range", 30) # expires within [0.7*expires .. expi
<section id="registrar.p.min_expires">
<title><varname>min_expires</varname> (integer)</title>
<para>
- The minimum expires value of a <quote>Contact</quote>. Values lower than this
- minimum will be automatically set to the minimum. Value 0 disables
- the checking. This parameter can be modified via the &kamailio; config framework.
+ The minimum expires value of a <quote>Contact</quote>. Values lower than this
+ minimum will be either set to the minimum or 423 response is sent back.
+ Value 0 disables the checking. This parameter can be modified via the
+ &kamailio; config framework.
</para>
<para>
<emphasis>
@@ -219,6 +220,29 @@ modparam("registrar", "min_expires", 60)
</programlisting>
</example>
</section>
+
+ <section id="registrar.p.min_expires_mode">
+ <title><varname>min_expires_mode</varname> (integer)</title>
+ <para>
+ Control what to do when expires value in REGISTER request is lower than
+ min_expires parameter. If set to 0, expires is set to min_expires. If
+ set to 1, then 423 Interval Too Brief is sent back.
+ </para>
+ <para>
+ <emphasis>
+ Default value is 0.
+ </emphasis>
+ </para>
+ <example>
+ <title>Set <varname>min_expires_mode</varname> parameter</title>
+ <programlisting format="linespecific">
+...
+modparam("registrar", "min_expires_mode", 1)
+...
+</programlisting>
+ </example>
+ </section>
+
<section id="registrar.p.max_expires">
<title><varname>max_expires</varname> (integer)</title>
<para>
- Added more accurate contact comparison when
sending NOTIFY to a subscriber.
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2202
-- Commit Summary --
* ims_reqistrar_scscf: Fix bug with multi-notifications
-- File Changes --
M src/modules/ims_registrar_scscf/registrar_notify.c (17)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2202.patchhttps://github.com/kamailio/kamailio/pull/2202.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/2202
Module: kamailio
Branch: master
Commit: c275110a07fdad8963a08f5ca210f0d5fb717986
URL: https://github.com/kamailio/kamailio/commit/c275110a07fdad8963a08f5ca210f0d…
Author: Aleksandar Yosifov <alexyosifov(a)gmail.com>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2020-02-03T16:33:16+01:00
ims_reqistrar_scscf: Fix bug with multi-notifications
- Added more accurate contact comparison when
sending NOTIFY to a subscriber.
---
Modified: src/modules/ims_registrar_scscf/registrar_notify.c
---
Diff: https://github.com/kamailio/kamailio/commit/c275110a07fdad8963a08f5ca210f0d…
Patch: https://github.com/kamailio/kamailio/commit/c275110a07fdad8963a08f5ca210f0d…
---
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");