summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2015-07-18 13:16:10 -0300
committerJoshua Colp <jcolp@digium.com>2015-07-24 12:43:02 -0300
commit27497217912a82ca243a9d5e9acfbbb597faf323 (patch)
treea461e85b877c4879eadae0f84024fb26735c630b /include
parent1997b6f677f314f685ece102af9a70ed17fe63b5 (diff)
pjsip: Add rtp_timeout and rtp_timeout_hold endpoint options.
This change adds support for the 'rtp_timeout' and 'rtp_timeout_hold' endpoint options. These allow the channel to be hung up if RTP is not received from the remote endpoint for a specified number of seconds. ASTERISK-25259 #close Change-Id: I3f39daaa7da2596b5022737b77799d16204175b9
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/res_pjsip.h4
-rw-r--r--include/asterisk/res_pjsip_session.h2
-rw-r--r--include/asterisk/rtp_engine.h16
3 files changed, 22 insertions, 0 deletions
diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index cbd09e0e0..7c7b058cf 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -502,6 +502,10 @@ struct ast_sip_media_rtp_configuration {
unsigned int encryption_optimistic;
/*! Number of seconds between RTP keepalive packets */
unsigned int keepalive;
+ /*! Number of seconds before terminating channel due to lack of RTP (when not on hold) */
+ unsigned int timeout;
+ /*! Number of seconds before terminating channel due to lack of RTP (when on hold) */
+ unsigned int timeout_hold;
};
/*!
diff --git a/include/asterisk/res_pjsip_session.h b/include/asterisk/res_pjsip_session.h
index 5489979ed..2893f66ab 100644
--- a/include/asterisk/res_pjsip_session.h
+++ b/include/asterisk/res_pjsip_session.h
@@ -79,6 +79,8 @@ struct ast_sip_session_media {
pj_str_t transport;
/*! \brief Scheduler ID for RTP keepalive */
int keepalive_sched_id;
+ /*! \brief Scheduler ID for RTP timeout */
+ int timeout_sched_id;
/*! \brief Stream is on hold */
unsigned int held:1;
/*! \brief Stream type this session media handles */
diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h
index f57f4ea35..b7ac2a149 100644
--- a/include/asterisk/rtp_engine.h
+++ b/include/asterisk/rtp_engine.h
@@ -2304,6 +2304,22 @@ time_t ast_rtp_instance_get_last_tx(const struct ast_rtp_instance *rtp);
*/
void ast_rtp_instance_set_last_tx(struct ast_rtp_instance *rtp, time_t time);
+/*
+ * \brief Get the last RTP reception time
+ *
+ * \param rtp The instance from which to get the last reception time
+ * \return The last RTP reception time
+ */
+time_t ast_rtp_instance_get_last_rx(const struct ast_rtp_instance *rtp);
+
+/*!
+ * \brief Set the last RTP reception time
+ *
+ * \param rtp The instance on which to set the last reception time
+ * \param time The last reception time
+ */
+void ast_rtp_instance_set_last_rx(struct ast_rtp_instance *rtp, time_t time);
+
/*! \addtogroup StasisTopicsAndMessages
* @{
*/