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

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_bridgeast_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_bridgebridge_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_usergenerate_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
 

Detailed Description

Parking Bridge Class.

Author
Jonathan Rose jrose.nosp@m.@dig.nosp@m.ium.c.nosp@m.om

Definition in file parking_bridge.c.

Function Documentation

struct ast_bridge* bridge_parking_new ( struct parking_lot bridge_lot)

Create a new parking bridge.

Since
12.0.0
Parameters
bridge_lotParking lot which the new bridge should be based on
Return values
NULLif the bridge can not be created
Returns
Newly created parking bridge

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, bridge_base_init(), bridge_register(), and parking_lot::name.

Referenced by parking_lot_get_bridge().

451 {
452  void *bridge;
453 
454  bridge = bridge_alloc(sizeof(struct ast_bridge_parking), &ast_bridge_parking_v_table);
457  | AST_BRIDGE_FLAG_SWAP_INHIBIT_FROM, "Parking", bridge_lot->name, NULL);
458  bridge = ast_bridge_parking_init(bridge, bridge_lot);
459  bridge = bridge_register(bridge);
460  return bridge;
461 }
struct ast_bridge * bridge_register(struct ast_bridge *bridge)
Register the new bridge with the system.
Definition: bridge.c:691
struct ast_bridge * bridge_base_init(struct ast_bridge *self, uint32_t capabilities, unsigned int flags, const char *creator, const char *name, const char *id)
Initialize the base class of the bridge.
Definition: bridge.c:742
const ast_string_field name
Definition: res_parking.h:100