Asterisk - The Open Source Telephony Project
18.5.0
|
Native DAHDI bridging support. More...
#include "asterisk.h"
#include "../sig_analog.h"
#include "../chan_dahdi.h"
#include "bridge_native_dahdi.h"
#include "asterisk/bridge.h"
#include "asterisk/bridge_technology.h"
#include "asterisk/frame.h"
#include "asterisk/format_cache.h"
Go to the source code of this file.
Data Structures | |
struct | native_pvt_bridge |
struct | native_pvt_chan |
Functions | |
int | dahdi_native_load (const struct ast_channel_tech *tech) |
void | dahdi_native_unload (void) |
static int | native_bridge_changed (struct ast_bridge *bridge) |
static int | native_bridge_compatible (struct ast_bridge *bridge) |
static int | native_bridge_create (struct ast_bridge *bridge) |
static void | native_bridge_destroy (struct ast_bridge *bridge) |
static int | native_bridge_is_capable (struct ast_bridge_channel *bridge_channel) |
static int | native_bridge_join (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static void | native_bridge_leave (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static int | native_bridge_start (struct ast_bridge *bridge) |
static void | native_bridge_stop (struct ast_bridge *bridge) |
static void | native_bridge_suspend (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static void | native_bridge_unsuspend (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
static int | native_bridge_write (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame) |
static int | native_chan_changed (struct ast_bridge_channel *bridge_channel) |
static void | native_request_start (struct ast_bridge *bridge) |
static void | native_request_stop (struct ast_bridge *bridge) |
static int | native_start (struct ast_bridge *bridge) |
static void | native_stop (struct ast_bridge *bridge) |
Variables | |
static const struct ast_channel_tech * | dahdi_tech |
static struct ast_bridge_technology | native_bridge |
int dahdi_native_load | ( | const struct ast_channel_tech * | tech | ) |
Definition at line 904 of file bridge_native_dahdi.c.
References ast_bridge_technology_register, and dahdi_native_unload().
Referenced by load_module().
void dahdi_native_unload | ( | void | ) |
Definition at line 891 of file bridge_native_dahdi.c.
References ast_bridge_technology_unregister().
Referenced by __unload_module(), and dahdi_native_load().
|
static |
Definition at line 793 of file bridge_native_dahdi.c.
References ast_channel_name(), ast_debug, AST_LIST_TRAVERSE, ast_bridge_channel::chan, ast_bridge::channels, native_chan_changed(), and ast_bridge::uniqueid.
Referenced by native_bridge_write().
|
static |
Definition at line 705 of file bridge_native_dahdi.c.
References ast_channel_name(), ast_debug, AST_LIST_TRAVERSE, ast_bridge_channel::chan, ast_bridge::channels, native_bridge_is_capable(), ast_bridge::num_channels, and ast_bridge::uniqueid.
|
static |
Definition at line 98 of file bridge_native_dahdi.c.
References ast_assert, ast_calloc, and ast_bridge::tech_pvt.
|
static |
Definition at line 120 of file bridge_native_dahdi.c.
References ast_free, NULL, and ast_bridge::tech_pvt.
|
static |
Definition at line 643 of file bridge_native_dahdi.c.
References ao2_container_count(), ast_channel_has_audio_frame_or_monitor(), ast_channel_lock, ast_channel_name(), ast_channel_tech(), ast_channel_tech_pvt(), ast_channel_unlock, ast_debug, ast_mutex_lock, ast_mutex_unlock, dahdi_pvt::callwaiting, dahdi_pvt::callwaitingcallerid, ast_bridge_channel::chan, ast_bridge_features::dtmf_hooks, ast_bridge_channel::features, dahdi_pvt::lock, native_pvt_chan::pvt, dahdi_pvt::sig, and ast_channel_tech::type.
Referenced by native_bridge_compatible().
|
static |
Definition at line 563 of file bridge_native_dahdi.c.
References ast_assert, ast_calloc, ast_channel_make_compatible(), AST_LIST_FIRST, AST_LIST_LAST, ast_bridge::channels, native_request_start(), ast_channel::tech_pvt, and ast_bridge_channel::tech_pvt.
|
static |
Definition at line 599 of file bridge_native_dahdi.c.
References ast_free, native_request_stop(), NULL, and ast_bridge_channel::tech_pvt.
|
static |
Definition at line 520 of file bridge_native_dahdi.c.
References ast_assert, native_request_start(), NULL, native_pvt_bridge::saw_start, and ast_bridge::tech_pvt.
|
static |
Definition at line 540 of file bridge_native_dahdi.c.
References native_request_stop(), native_pvt_bridge::saw_start, and ast_bridge::tech_pvt.
|
static |
Definition at line 617 of file bridge_native_dahdi.c.
References native_request_stop().
|
static |
Definition at line 629 of file bridge_native_dahdi.c.
References native_request_start().
|
static |
Definition at line 819 of file bridge_native_dahdi.c.
References ast_assert, ast_bridge_queue_everyone_else(), AST_FRAME_VIDEO, AST_FRAME_VOICE, native_pvt_bridge::connected, ast_frame::frametype, native_bridge_changed(), native_request_start(), native_request_stop(), NULL, and ast_bridge::tech_pvt.
|
static |
Definition at line 739 of file bridge_native_dahdi.c.
References ast_assert, ast_channel_fd(), ast_channel_lock, ast_channel_tech_pvt(), ast_channel_unlock, ast_bridge_channel::chan, dahdi_get_index, native_pvt_chan::fd0, native_pvt_chan::index, native_pvt_chan::inthreeway, dahdi_subchannel::inthreeway, NULL, native_pvt_chan::owner, dahdi_subchannel::owner, dahdi_pvt::owner, native_pvt_chan::pvt, native_pvt_chan::state, SUB_REAL, dahdi_pvt::subs, and ast_bridge_channel::tech_pvt.
Referenced by native_bridge_changed().
|
static |
Definition at line 484 of file bridge_native_dahdi.c.
References ast_assert, AST_LIST_TRAVERSE, ast_bridge::channels, native_pvt_bridge::connected, native_start(), NULL, ast_bridge::num_channels, native_pvt_bridge::saw_start, ast_bridge_channel::suspended, ast_bridge_channel::tech_pvt, and ast_bridge::tech_pvt.
Referenced by native_bridge_join(), native_bridge_start(), native_bridge_unsuspend(), and native_bridge_write().
|
static |
Definition at line 184 of file bridge_native_dahdi.c.
References ast_assert, native_pvt_bridge::connected, native_stop(), NULL, and ast_bridge::tech_pvt.
Referenced by native_bridge_leave(), native_bridge_stop(), native_bridge_suspend(), and native_bridge_write().
|
static |
Definition at line 213 of file bridge_native_dahdi.c.
References ast_assert, ast_channel_fd(), ast_channel_lock, ast_channel_name(), ast_channel_tech_pvt(), ast_channel_trylock, ast_channel_unlock, ast_debug, AST_LIST_FIRST, AST_LIST_LAST, ast_log, ast_mutex_lock, ast_mutex_trylock, ast_mutex_unlock, AST_STATE_RINGING, call(), ast_bridge_channel::chan, dahdi_pvt::channel, ast_bridge::channels, dahdi_conf_update(), dahdi_dtmf_detect_disable(), dahdi_ec_disable(), dahdi_get_index, dahdi_master_slave_link(), dahdi_sig_pri_lib_handles(), dahdi_subchannel::dfd, dahdi_pvt::echocanbridged, native_pvt_chan::fd0, dahdi_pvt::inconference, native_pvt_chan::index, native_pvt_chan::inthreeway, dahdi_subchannel::inthreeway, dahdi_pvt::lock, LOG_WARNING, native_pvt_bridge::master, dahdi_pvt::master, NULL, native_pvt_chan::owner, dahdi_subchannel::owner, dahdi_pvt::owner, native_pvt_chan::pvt, dahdi_pvt::sig, dahdi_pvt::sig_pvt, native_pvt_bridge::slave, native_pvt_chan::state, SUB_CALLWAIT, SUB_REAL, SUB_THREEWAY, subnames, dahdi_pvt::subs, ast_bridge_channel::tech_pvt, ast_bridge::tech_pvt, and dahdi_pvt::transfer.
Referenced by native_request_start().
|
static |
Definition at line 140 of file bridge_native_dahdi.c.
References ast_assert, ast_channel_name(), ast_channel_tech_pvt(), ast_debug, AST_LIST_FIRST, AST_LIST_LAST, AST_LIST_TRAVERSE, ast_mutex_lock, ast_mutex_unlock, ast_bridge_channel::chan, ast_bridge::channels, dahdi_dtmf_detect_enable(), dahdi_ec_enable(), dahdi_master_slave_unlink(), native_pvt_chan::index, dahdi_pvt::lock, native_pvt_bridge::master, NULL, native_pvt_chan::pvt, native_pvt_bridge::slave, SUB_REAL, ast_bridge_channel::tech_pvt, and ast_bridge::tech_pvt.
Referenced by native_request_stop().
|
static |
Definition at line 49 of file bridge_native_dahdi.c.
|
static |
Definition at line 868 of file bridge_native_dahdi.c.