summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorTerry Wilson <twilson@digium.com>2011-06-14 17:03:37 +0000
committerTerry Wilson <twilson@digium.com>2011-06-14 17:03:37 +0000
commitabd7ef817eb96193486f61848313d2e267c2b503 (patch)
tree9656c5e9abe9c471c0e64801869675d13c4a603e /main
parent00181729b4c4a62e6baccf3b91b452d61af116b2 (diff)
Merged revisions 323370 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r323370 | twilson | 2011-06-14 09:33:55 -0700 (Tue, 14 Jun 2011) | 10 lines Add rtpkeepalives back to 1.8 The RTP-engine conversion left out support for handling rtpkeepalives. This patch adds them back. (closes issue ASTERISK-17304) Reported by: lmadsen Review: https://reviewboard.asterisk.org/r/1226/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@323374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/rtp_engine.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/main/rtp_engine.c b/main/rtp_engine.c
index 3c5ef8b36..a1c460578 100644
--- a/main/rtp_engine.c
+++ b/main/rtp_engine.c
@@ -66,6 +66,8 @@ struct ast_rtp_instance {
int timeout;
/*! RTP timeout when on hold (negative or zero means disabled, negative value means temporarily disabled). */
int holdtimeout;
+ /*! RTP keepalive interval */
+ int keepalive;
/*! DTMF mode in use */
enum ast_rtp_dtmf_mode dtmf_mode;
/*! Glue currently in use */
@@ -1781,6 +1783,11 @@ void ast_rtp_instance_set_hold_timeout(struct ast_rtp_instance *instance, int ti
instance->holdtimeout = timeout;
}
+void ast_rtp_instance_set_keepalive(struct ast_rtp_instance *instance, int interval)
+{
+ instance->keepalive = interval;
+}
+
int ast_rtp_instance_get_timeout(struct ast_rtp_instance *instance)
{
return instance->timeout;
@@ -1791,6 +1798,11 @@ int ast_rtp_instance_get_hold_timeout(struct ast_rtp_instance *instance)
return instance->holdtimeout;
}
+int ast_rtp_instance_get_keepalive(struct ast_rtp_instance *instance)
+{
+ return instance->keepalive;
+}
+
struct ast_rtp_engine *ast_rtp_instance_get_engine(struct ast_rtp_instance *instance)
{
return instance->engine;
@@ -1850,6 +1862,15 @@ struct ast_srtp *ast_rtp_instance_get_srtp(struct ast_rtp_instance *instance)
return instance->srtp;
}
+int ast_rtp_instance_sendcng(struct ast_rtp_instance *instance, int level)
+{
+ if (instance->engine->sendcng) {
+ return instance->engine->sendcng(instance, level);
+ }
+
+ return -1;
+}
+
static void set_next_mime_type(const struct ast_format *format, int rtp_code, char *type, char *subtype, unsigned int sample_rate)
{
int x = mime_types_len;