26#ifndef ASTERISK_PARKING_H
27#define ASTERISK_PARKING_H
35#define PARK_APPLICATION "Park"
40#define DEFAULT_PARKINGLOT "default"
119#define PARKING_MODULE_VERSION 1
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.
struct stasis_topic * ast_parking_topic(void)
accessor for the parking stasis topic
struct stasis_message_type * ast_parked_call_type(void)
accessor for the parked call stasis message type
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.
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.
int ast_parking_unregister_bridge_features(const char *module_name)
Unregister the current parking provider.
int ast_parking_is_exten_park(const char *context, const char *exten)
Determine if the context/exten is a "parking" extension.
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.
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.
int ast_parking_register_bridge_features(struct ast_parking_bridge_feature_fn_table *fn_table)
Register a parking provider.
ast_parked_call_event_type
Defines the type of parked call message being published.
int ast_parking_provider_registered(void)
Check whether a parking provider is registered.
#define AST_DECLARE_STRING_FIELDS(field_list)
Declare the fields needed in a structure.
#define AST_STRING_FIELD(name)
Declare a string field.
Structure that contains information regarding a channel in a bridge.
Structure representing a snapshot of channel state.
ast_exten: An extension The dialplan is saved as a linked list with each context having it's own link...
A parked call message payload.
unsigned int parkingspace
long unsigned int duration
const ast_string_field parkinglot
struct ast_channel_snapshot * retriever
long unsigned int timeout
struct ast_channel_snapshot * parkee
enum ast_parked_call_event_type event_type
const ast_string_field parker_dial_string
A function table providing parking functionality to the Bridging API Bridging API and other consumers...
int(* 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.
unsigned int module_version
The version of this function table. If the ABI for this table changes, the module version (/ref PARKI...
const char * module_name
The name of the module that provides this parking functionality.
int(* 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.
struct ast_module * module
The module info for the module registering this parking provider.
int(* parking_park_call)(struct ast_bridge_channel *parker, char *exten, size_t length)
Park the bridge and/or callers that this channel is in.
int(* parking_is_exten_park)(const char *context, const char *exten)
Determine if the context/exten is a "parking" extension.
AO2 object that wraps data for transfer_channel_cb.