Asterisk - The Open Source Telephony Project GIT-master-f36a736
|
Parking Bridge Class. More...
#include "asterisk.h"
#include "res_parking.h"
#include "asterisk/astobj2.h"
#include "asterisk/logger.h"
#include "asterisk/say.h"
#include "asterisk/term.h"
#include "asterisk/features.h"
#include "asterisk/bridge_internal.h"
Go to the source code of this file.
Data Structures | |
struct | ast_bridge_parking |
Functions | |
static struct ast_bridge * | ast_bridge_parking_init (struct ast_bridge_parking *self, struct parking_lot *bridge_lot) |
static void | bridge_parking_destroy (struct ast_bridge_parking *self) |
static void | bridge_parking_dissolving (struct ast_bridge_parking *self) |
static void | bridge_parking_get_merge_priority (struct ast_bridge_parking *self) |
struct ast_bridge * | bridge_parking_new (struct parking_lot *bridge_lot) |
Create a new parking bridge. More... | |
static void | bridge_parking_notify_masquerade (struct ast_bridge_parking *self, struct ast_bridge_channel *bridge_channel) |
static void | bridge_parking_pull (struct ast_bridge_parking *self, struct ast_bridge_channel *bridge_channel) |
static int | bridge_parking_push (struct ast_bridge_parking *self, struct ast_bridge_channel *bridge_channel, struct ast_bridge_channel *swap) |
static void | destroy_parked_user (void *obj) |
static struct parked_user * | generate_parked_user (struct parking_lot *lot, struct ast_channel *chan, const char *parker_channel_name, const char *parker_dial_string, int use_random_space, int time_limit) |
static int | parked_user_set_parker_dial_string (struct parked_user *pu, const char *parker_channel_name) |
Variables | |
struct ast_bridge_methods | ast_bridge_parking_v_table |
Parking Bridge Class.
Definition in file parking_bridge.c.
|
static |
Definition at line 432 of file parking_bridge.c.
References ao2_ref, ast_bridge_parking::base, ast_bridge_parking::lot, and NULL.
Referenced by bridge_parking_new().
|
static |
Definition at line 52 of file parking_bridge.c.
References ast_bridge_base_v_table, ast_bridge_parking::base, and ast_bridge_methods::destroy.
|
static |
Definition at line 57 of file parking_bridge.c.
References ast_bridge_base_v_table, ast_bridge_parking::base, ast_bridge_methods::dissolving, ast_bridge_parking::lot, and NULL.
|
static |
Definition at line 417 of file parking_bridge.c.
References ast_bridge_base_v_table, ast_bridge_parking::base, and ast_bridge_methods::get_merge_priority.
struct ast_bridge * bridge_parking_new | ( | struct parking_lot * | bridge_lot | ) |
Create a new parking bridge.
bridge_lot | Parking lot which the new bridge should be based on |
NULL | if the bridge can not be created |
Definition at line 450 of file parking_bridge.c.
References AST_BRIDGE_CAPABILITY_HOLDING, AST_BRIDGE_FLAG_MERGE_INHIBIT_FROM, AST_BRIDGE_FLAG_MERGE_INHIBIT_TO, AST_BRIDGE_FLAG_SWAP_INHIBIT_FROM, ast_bridge_parking_init(), ast_bridge_parking_v_table, bridge_alloc(), bridge_base_init(), bridge_register(), parking_lot::name, and NULL.
Referenced by parking_lot_get_bridge().
|
static |
Definition at line 412 of file parking_bridge.c.
References ast_bridge_base_v_table, ast_bridge_parking::base, and ast_bridge_methods::notify_masquerade.
|
static |
Definition at line 338 of file parking_bridge.c.
References ao2_cleanup, ao2_lock, ao2_unlock, ast_bridge_base_v_table, ast_bridge_channel_queue_playfile(), AST_DEVICE_NOT_INUSE, AST_FEATURE_FLAG_BYCALLEE, ast_bridge_parking::base, ast_bridge_channel::bridge_pvt, parking_lot::cfg, ast_bridge_channel::chan, ast_bridge_parking::lot, NULL, PARK_ABANDON, PARK_ANSWERED, PARK_FORCED, PARK_TIMEOUT, PARK_UNSET, PARKED_CALL_GIVEUP, parked_call_retrieve_enable_features(), PARKED_CALL_TIMEOUT, PARKED_CALL_UNPARKED, parking_lot_cfg::parking_con, parking_notify_metermaids(), publish_parked_call(), ast_bridge_methods::pull, RAII_VAR, and unpark_parked_user().
|
static |
Definition at line 204 of file parking_bridge.c.
References ao2_cleanup, ast_answer(), ast_assert, ast_bridge_base_v_table, ast_bridge_channel_get_role_option(), ast_bridge_channel_has_role(), ast_bridge_channel_lock, ast_bridge_channel_queue_playfile(), ast_bridge_channel_unlock, ast_channel_lock, ast_channel_name(), ast_channel_snapshot_get_latest(), ast_channel_unlock, ast_copy_string(), AST_DEVICE_INUSE, ast_log, AST_STATE_UP, ast_strdupa, ast_strlen_zero(), ast_verb, ast_channel_snapshot::base, ast_bridge_parking::base, ast_bridge_channel::bridge_pvt, parking_lot::cfg, ast_bridge_channel::chan, parked_user::chan, COLOR_BRMAGENTA, COLORIZE, COLORIZE_FMT, parked_user::comeback, ast_bridge_channel::features, generate_parked_user(), get_park_common_datastore_copy(), LOG_WARNING, ast_bridge_parking::lot, ast_channel_snapshot_base::name, parking_lot::name, NULL, park_common_datastore_free(), PARKED_CALL, PARKED_CALL_SWAP, parking_channel_set_roles(), parking_lot_cfg::parking_con, parking_notify_metermaids(), parking_set_duration(), parked_user::parking_space, pbx_builtin_getvar_helper(), publish_parked_call(), publish_parked_call_failure(), ast_bridge_methods::push, RAII_VAR, S_OR, and say_parking_space().
|
static |
Definition at line 63 of file parking_bridge.c.
References ao2_cleanup, ast_free, parked_user::lot, parked_user::parker_dial_string, and parked_user::retriever.
Referenced by generate_parked_user().
|
static |
Definition at line 107 of file parking_bridge.c.
References ao2_alloc, ao2_link, ao2_lock, ao2_ref, ao2_unlock, ast_channel_lock, ast_channel_unlock, ast_log, ast_random(), ast_strdup, ast_strdupa, ast_strlen_zero(), ast_tvnow(), parking_lot::cfg, parked_user::chan, destroy_parked_user(), if(), LOG_NOTICE, LOG_WARNING, parked_user::lot, parking_lot::mode, parking_lot::name, parking_lot::next_space, NULL, parked_user_set_parker_dial_string(), parking_lot::parked_users, parked_user::parker_dial_string, parking_lot_get_space(), parked_user::parking_space, parking_lot_cfg::parking_start, parking_lot_cfg::parking_stop, PARKINGLOT_DISABLED, parking_lot_cfg::parkingtime, pbx_builtin_getvar_helper(), parked_user::start, and parked_user::time_limit.
Referenced by bridge_parking_push().
|
static |
Definition at line 73 of file parking_bridge.c.
References ast_channel_name_to_dial_string(), ast_strdup, ast_strdupa, and parked_user::parker_dial_string.
Referenced by generate_parked_user().
struct ast_bridge_methods ast_bridge_parking_v_table |
Definition at line 422 of file parking_bridge.c.
Referenced by bridge_parking_new().