From c70ed7614aaf68c40a7c4be234730e56c8148c42 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Mon, 28 Aug 2006 17:37:56 +0000 Subject: 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: https://origsvn.digium.com/svn/asterisk/trunk@41235 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/rtp.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'include/asterisk') 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); -- cgit v1.2.3