Asterisk - The Open Source Telephony Project
21.4.1
|
Native RTP bridging technology module. More...
#include "asterisk.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "asterisk/module.h"
#include "asterisk/channel.h"
#include "asterisk/bridge.h"
#include "asterisk/bridge_technology.h"
#include "asterisk/frame.h"
#include "asterisk/rtp_engine.h"
#include "asterisk/stream.h"
Go to the source code of this file.
Data Structures | |
struct | native_rtp_bridge_channel_data |
Internal structure which contains instance information about bridged RTP channels. More... | |
struct | native_rtp_framehook_data |
Internal structure which contains bridged RTP channel hook data. More... | |
struct | rtp_glue_data |
struct | rtp_glue_stream |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
static int | load_module (void) |
static int | native_rtp_bridge_capable (struct ast_channel *chan) |
static struct native_rtp_bridge_channel_data * | native_rtp_bridge_channel_data_alloc (void) |
static void | native_rtp_bridge_channel_data_free (struct native_rtp_bridge_channel_data *data) |
static int | native_rtp_bridge_compatible (struct ast_bridge *bridge) |
static int | native_rtp_bridge_compatible_check (struct ast_bridge *bridge, struct ast_bridge_channel *bc0, struct ast_bridge_channel *bc1) |
static int | native_rtp_bridge_framehook_attach (struct ast_bridge_channel *bridge_channel) |
static void | native_rtp_bridge_framehook_detach (struct ast_bridge_channel *bridge_channel) |
static int | native_rtp_bridge_join (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Forward declarations. | |
static void | native_rtp_bridge_leave (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static void | native_rtp_bridge_start (struct ast_bridge *bridge, struct ast_channel *target) |
static void | native_rtp_bridge_stop (struct ast_bridge *bridge, struct ast_channel *target) |
static void | native_rtp_bridge_suspend (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static void | native_rtp_bridge_unsuspend (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static int | native_rtp_bridge_write (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame) |
static struct ast_frame * | native_rtp_framehook (struct ast_channel *chan, struct ast_frame *f, enum ast_framehook_event event, void *data) |
static int | native_rtp_framehook_consume (void *data, enum ast_frame_type type) |
static struct ast_stream_topology * | native_rtp_request_stream_topology_update (struct ast_stream_topology *existing_topology, struct ast_stream_topology *requested_topology) |
static void | native_rtp_stream_topology_changed (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static void | rtp_glue_data_destroy (struct rtp_glue_data *glue) |
static int | rtp_glue_data_get (struct ast_channel *c0, struct rtp_glue_data *glue0, struct ast_channel *c1, struct rtp_glue_data *glue1) |
static void | rtp_glue_data_init (struct rtp_glue_data *glue) |
static void | rtp_glue_data_reset (struct rtp_glue_data *glue) |
static enum ast_rtp_glue_result | rtp_glue_get_current_combined_result (struct ast_channel *c0, struct ast_channel *c1) |
static int | unload_module (void) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "Native RTP bridging module" , .key = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .buildopt_sum = "da6642af068ee5e6490c5b1d2cc1d238" , .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, } |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static struct ast_bridge_technology | native_rtp_bridge |
Native RTP bridging technology module.
Definition in file bridge_native_rtp.c.