[asterisk-commits] res pjsip/AMI: add contact.updated event (asterisk[13])
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue May 3 21:42:13 CDT 2016
Anonymous Coward #1000019 has submitted this change and it was merged.
Change subject: res_pjsip/AMI: add contact.updated event
......................................................................
res_pjsip/AMI: add contact.updated event
With the old SIP module AMI sends PeerStatus event on every
successfully REGISTER requests, ie, on start registration,
update registration and stop registration.
With PJSIP AMI sends ContactStatus only when status is changed.
Regarding registration:
on start registration - Created
on stop registration - Removed
but on update registration nothing
This patch added contact.updated event.
ASTERISK-25904
Change-Id: I8fad8aae9305481469c38d2146e1ba3a56d3108f
---
M CHANGES
M include/asterisk/res_pjsip.h
M res/res_pjsip/pjsip_options.c
3 files changed, 17 insertions(+), 1 deletion(-)
Approvals:
Kevin Harwell: Looks good to me, but someone else must approve
Anonymous Coward #1000019: Verified
Joshua Colp: Looks good to me, approved
George Joseph: Looks good to me, but someone else must approve
diff --git a/CHANGES b/CHANGES
index 8d527d1..ca216ec 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,8 @@
res_pjsip
------------------
+ * Added new status Updated to AMI event ContactStatus on update registration
+
* Added "reg_server" to contacts.
If the Asterisk system name is set in asterisk.conf, it will be stored
into the "reg_server" field in the ps_contacts table to facilitate
diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index f284702..f985e32 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -263,6 +263,7 @@
UNKNOWN,
CREATED,
REMOVED,
+ UPDATED,
};
/*!
diff --git a/res/res_pjsip/pjsip_options.c b/res/res_pjsip/pjsip_options.c
index b8d38ed..f832e6f 100644
--- a/res/res_pjsip/pjsip_options.c
+++ b/res/res_pjsip/pjsip_options.c
@@ -42,6 +42,7 @@
[UNKNOWN] = "Unknown",
[CREATED] = "Created",
[REMOVED] = "Removed",
+ [UPDATED] = "Updated",
};
static const char *short_status_map [] = {
@@ -50,6 +51,7 @@
[UNKNOWN] = "Unknown",
[CREATED] = "Created",
[REMOVED] = "Removed",
+ [UPDATED] = "Updated",
};
const char *ast_sip_get_contact_status_label(const enum ast_sip_contact_status_type status)
@@ -543,6 +545,16 @@
/*!
* \internal
+ * \brief A contact has been updated.
+ */
+static void contact_updated(const void *obj)
+{
+ update_contact_status((struct ast_sip_contact *) obj, UPDATED);
+ qualify_and_schedule((struct ast_sip_contact *) obj);
+}
+
+/*!
+ * \internal
* \brief A contact has been deleted remove status tracking.
*/
static void contact_deleted(const void *obj)
@@ -567,7 +579,8 @@
static const struct ast_sorcery_observer contact_observer = {
.created = contact_created,
- .deleted = contact_deleted
+ .deleted = contact_deleted,
+ .updated = contact_updated
};
static pj_bool_t options_start(void)
--
To view, visit https://gerrit.asterisk.org/2556
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I8fad8aae9305481469c38d2146e1ba3a56d3108f
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
More information about the asterisk-commits
mailing list