Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Functions | Variables
bridge_native_rtp.c File Reference

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_moduleAST_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_datanative_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_framenative_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_topologynative_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_infoast_module_info = &__mod_info
 
static struct ast_bridge_technology native_rtp_bridge
 

Detailed Description

Native RTP bridging technology module.

Author
Joshua Colp jcolp.nosp@m.@dig.nosp@m.ium.c.nosp@m.om

Definition in file bridge_native_rtp.c.