summaryrefslogtreecommitdiff
path: root/res/res_pjsip/include
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2017-07-28 18:26:17 -0500
committerRichard Mudgett <rmudgett@digium.com>2017-08-10 12:18:28 -0500
commit0de033c9c6ebd42ef82adf036721d138cd7294f0 (patch)
tree4de663ce72f23a274743e96e12618f8b98e0f969 /res/res_pjsip/include
parentfe630930c9f4f80d9d45d93e10bd46bc6b4e5126 (diff)
res_pjsip: PJSIP Transport state monitor refactor.
The fix for the issue is broken up into three parts. This is part one which refactors the transport state monitor code to allow more modules to be able to monitor transports. * Pull the management of PJPROJECT's transport state callback code from res_pjsip_transport_management.c into res_pjsip. Now other modules can dynamically add and remove themselves from transport monitoring without worrying about breaking PJPROJECT's callback chain. * Add the ability for other modules to get a callback whenever a specific transport is shutdown. ASTERISK-27147 Change-Id: I7d9a31371eb1487c9b7050cf82a9af5180a57912
Diffstat (limited to 'res/res_pjsip/include')
-rw-r--r--res/res_pjsip/include/res_pjsip_private.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/res/res_pjsip/include/res_pjsip_private.h b/res/res_pjsip/include/res_pjsip_private.h
index 0bdb63325..2969f0e40 100644
--- a/res/res_pjsip/include/res_pjsip_private.h
+++ b/res/res_pjsip/include/res_pjsip_private.h
@@ -135,6 +135,29 @@ void ast_sip_destroy_distributor(void);
/*!
* \internal
+ * \brief Initialize the transport events notify module
+ * \since 13.18.0
+ *
+ * The transport events notify module is responsible for monitoring
+ * when transports die and calling any registered callbacks when that
+ * happens. It also manages any PJPROJECT transport state callbacks
+ * registered to it so the callbacks be more dynamic allowing module
+ * loading/unloading.
+ *
+ * \retval -1 Failure
+ * \retval 0 Success
+ */
+int ast_sip_initialize_transport_events(void);
+
+/*!
+ * \internal
+ * \brief Destruct the transport events notify module.
+ * \since 13.18.0
+ */
+void ast_sip_destroy_transport_events(void);
+
+/*!
+ * \internal
* \brief Initialize global type on a sorcery instance
*
* \retval -1 failure