26 #ifndef ASTERISK_PARKING_H 27 #define ASTERISK_PARKING_H 35 #define PARK_APPLICATION "Park" 40 #define DEFAULT_PARKINGLOT "default" 93 unsigned int parkingspace,
unsigned long int timeout,
unsigned long int duration);
119 #define PARKING_MODULE_VERSION 1 static char exten[AST_MAX_EXTENSION]
ast_exten: An extension The dialplan is saved as a linked list with each context having it's own link...
struct ast_parked_call_payload * ast_parked_call_payload_create(enum ast_parked_call_event_type event_type, struct ast_channel_snapshot *parkee_snapshot, const char *parker_dial_string, struct ast_channel_snapshot *retriever_snapshot, const char *parkinglot, unsigned int parkingspace, unsigned long int timeout, unsigned long int duration)
Constructor for parked_call_payload objects.
struct stasis_message_type * ast_parked_call_type(void)
accessor for the parked call stasis message type
Structure representing a snapshot of channel state.
static int parking_park_bridge_channel(struct ast_bridge_channel *bridge_channel, const char *uuid_parkee, const char *uuid_parker, const char *app_data)
int ast_parking_blind_transfer_park(struct ast_bridge_channel *parker, const char *context, const char *exten, transfer_channel_cb parked_channel_cb, struct transfer_channel_data *parked_channel_data)
Perform a blind transfer to a parking extension.
#define AST_DECLARE_STRING_FIELDS(field_list)
Declare the fields needed in a structure.
A parked call message payload.
const char * module_name
The name of the module that provides this parking functionality.
enum ast_parked_call_event_type event_type
long unsigned int duration
A function table providing parking functionality to the Bridging API Bridging API and other consumers...
static int parking_blind_transfer_park(struct ast_bridge_channel *bridge_channel, const char *context, const char *exten, transfer_channel_cb parked_channel_cb, struct transfer_channel_data *parked_channel_data)
struct ast_channel_snapshot * parkee
#define AST_STRING_FIELD(name)
Declare a string field.
int ast_parking_register_bridge_features(struct ast_parking_bridge_feature_fn_table *fn_table)
Register a parking provider.
struct ast_module * module
The module info for the module registering this parking provider.
unsigned int module_version
The version of this function table. If the ABI for this table changes, the module version (/ref PARKI...
static int parking_is_exten_park(const char *context, const char *exten)
int ast_parking_is_exten_park(const char *context, const char *exten)
Determine if the context/exten is a "parking" extension.
static int parking_park_call(struct ast_bridge_channel *parker, char *exten, size_t length)
unsigned int parkingspace
long unsigned int timeout
int ast_parking_provider_registered(void)
Check whether a parking provider is registered.
ast_parked_call_event_type
Defines the type of parked call message being published.
int ast_parking_park_bridge_channel(struct ast_bridge_channel *parkee, const char *parkee_uuid, const char *parker_uuid, const char *app_data)
Perform a direct park on a channel in a bridge.
const ast_string_field parkinglot
struct stasis_topic * ast_parking_topic(void)
accessor for the parking stasis topic
Structure that contains information regarding a channel in a bridge.
int ast_parking_park_call(struct ast_bridge_channel *parker, char *exten, size_t length)
Park the bridge and/or callers that this channel is in.
AO2 object that wraps data for transfer_channel_cb.
const ast_string_field parker_dial_string
void(* transfer_channel_cb)(struct ast_channel *chan, struct transfer_channel_data *user_data, enum ast_transfer_type transfer_type)
Callback function type called during blind transfers.
static char context[AST_MAX_CONTEXT]
struct ast_channel_snapshot * retriever
int ast_parking_unregister_bridge_features(const char *module_name)
Unregister the current parking provider.