aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/rtp.h
diff options
context:
space:
mode:
authormatteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b>2003-02-16 06:00:12 +0000
committermatteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b>2003-02-16 06:00:12 +0000
commit175c755fefa75d02deeff70541cd7821ce670678 (patch)
tree09bad30a14c0eef808c9d0d2720e797ff76c44f4 /include/asterisk/rtp.h
parentdae2009f9537257ba729035caa92eb3661c93aa1 (diff)
Sun Feb 16 07:00:01 CET 2003
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@616 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/rtp.h')
-rwxr-xr-xinclude/asterisk/rtp.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asterisk/rtp.h b/include/asterisk/rtp.h
index 8137eb38d..30639a5cd 100755
--- a/include/asterisk/rtp.h
+++ b/include/asterisk/rtp.h
@@ -17,6 +17,7 @@
#include <asterisk/frame.h>
#include <asterisk/io.h>
#include <asterisk/sched.h>
+#include <asterisk/channel.h>
#include <netinet/in.h>
@@ -24,6 +25,14 @@
extern "C" {
#endif
+struct ast_rtp_protocol {
+ struct ast_rtp *(*get_rtp_info)(struct ast_channel *chan); /* Get RTP struct, or NULL if unwilling to transfer */
+ int (*set_rtp_peer)(struct ast_channel *chan, struct ast_rtp *peer); /* Set RTP peer */
+ int (*get_rtp_willing)(struct ast_channel *chan); /* Willing to native bridge */
+ char *type;
+ struct ast_rtp_protocol *next;
+};
+
struct ast_rtp;
typedef int (*ast_rtp_callback)(struct ast_rtp *rtp, struct ast_frame *f, void *data);
@@ -58,6 +67,12 @@ int rtp2ast(int id);
char *ast2rtpn(int id);
+int ast_rtp_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc);
+
+int ast_rtp_proto_register(struct ast_rtp_protocol *proto);
+
+void ast_rtp_proto_unregister(struct ast_rtp_protocol *proto);
+
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif