aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-28 17:37:56 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-28 17:37:56 +0000
commit77be2d9b78060f758181a608029fba1b782fd44a (patch)
tree8d4c60d4b38470222d45faab0253b21508f6a10a /include
parent320436acc4a3b4685570a96fc771979ebdc6c9d4 (diff)
Merge in RTP-level packet bridging. Packet comes in, packet goes out - that's what RTP-level packet bridging is all about!
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41235 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/rtp.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/asterisk/rtp.h b/include/asterisk/rtp.h
index bc539cb29..cdc81fd77 100644
--- a/include/asterisk/rtp.h
+++ b/include/asterisk/rtp.h
@@ -54,11 +54,22 @@ enum ast_rtp_options {
AST_RTP_OPT_G726_NONSTANDARD = (1 << 0),
};
+enum ast_rtp_get_result {
+ /*! Failed to find the RTP structure */
+ AST_RTP_GET_FAILED = 0,
+ /*! RTP structure exists but true native bridge can not occur so try partial */
+ AST_RTP_TRY_PARTIAL,
+ /*! RTP structure exists and native bridge can occur */
+ AST_RTP_TRY_NATIVE,
+};
+
+struct ast_rtp;
+
struct ast_rtp_protocol {
/*! Get RTP struct, or NULL if unwilling to transfer */
- struct ast_rtp *(* const get_rtp_info)(struct ast_channel *chan);
+ enum ast_rtp_get_result (* const get_rtp_info)(struct ast_channel *chan, struct ast_rtp **rtp);
/*! Get RTP struct, or NULL if unwilling to transfer */
- struct ast_rtp *(* const get_vrtp_info)(struct ast_channel *chan);
+ enum ast_rtp_get_result (* const get_vrtp_info)(struct ast_channel *chan, struct ast_rtp **rtp);
/*! Set RTP peer */
int (* const set_rtp_peer)(struct ast_channel *chan, struct ast_rtp *peer, struct ast_rtp *vpeer, int codecs, int nat_active);
int (* const get_codec)(struct ast_channel *chan);