diff options
Diffstat (limited to 'include')
-rwxr-xr-x | include/asterisk/rtp.h | 15 |
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 |