Asterisk - The Open Source Telephony Project
18.5.0
|
A virtual table used for cdr_object. More...
Data Fields | |
void(*const | init_function )(struct cdr_object *cdr) |
An initialization function. This will be called automatically when a cdr_object is switched to this type in cdr_object_transition_state. More... | |
const char * | name |
Name of the subclass. More... | |
enum process_bridge_enter_results(*const | process_bridge_enter )(struct cdr_object *cdr, struct ast_bridge_snapshot *bridge, struct ast_channel_snapshot *channel) |
Process the entering of a bridge by this CDR. The purpose of this callback is to have the CDR prepare itself for the bridge and attempt to find a valid Party B. The act of creating new CDRs based on the entering of this channel into the bridge is handled by the higher level message handler. More... | |
int(*const | process_bridge_leave )(struct cdr_object *cdr, struct ast_bridge_snapshot *bridge, struct ast_channel_snapshot *channel) |
Process the leaving of a bridge by this CDR. More... | |
int(*const | process_dial_begin )(struct cdr_object *cdr, struct ast_channel_snapshot *caller, struct ast_channel_snapshot *peer) |
Process the beginning of a dial. A dial message implies one of two things: The cdr_object's Party A has been originated The cdr_object's Party A is dialing its Party B. More... | |
int(*const | process_dial_end )(struct cdr_object *cdr, struct ast_channel_snapshot *caller, struct ast_channel_snapshot *peer, const char *dial_status) |
Process the end of a dial. At the end of a dial, a CDR can be transitioned into one of two states - DialedPending (dialed_pending_state_fn_table) or Finalized (finalized_state_fn_table). More... | |
int(*const | process_parked_channel )(struct cdr_object *cdr, struct ast_parked_call_payload *parking_info) |
Process an update informing us that the channel got itself parked. More... | |
int(*const | process_parking_bridge_enter )(struct cdr_object *cdr, struct ast_bridge_snapshot *bridge, struct ast_channel_snapshot *channel) |
Process entering into a parking bridge. More... | |
int(*const | process_party_a )(struct cdr_object *cdr, struct ast_channel_snapshot *snapshot) |
Process a Party A update for the cdr_object. More... | |
void(*const | process_party_b )(struct cdr_object *cdr, struct ast_channel_snapshot *snapshot) |
Process a Party B update for the cdr_object. More... | |
A virtual table used for cdr_object.
Note that all functions are optional - if a subclass does not need an implementation, it is safe to leave it NULL.
void(* const init_function) (struct cdr_object *cdr) |
An initialization function. This will be called automatically when a cdr_object is switched to this type in cdr_object_transition_state.
cdr | The cdr_object that was just transitioned |
Definition at line 427 of file cdr.c.
Referenced by cdr_object_transition_state_init().
const char* name |
Name of the subclass.
Definition at line 418 of file cdr.c.
Referenced by cdr_object_transition_state_init(), PathSegment::get_child(), Parameter::load(), SwaggerType::load(), and Property::load().
enum process_bridge_enter_results(* const process_bridge_enter) (struct cdr_object *cdr, struct ast_bridge_snapshot *bridge, struct ast_channel_snapshot *channel) |
Process the entering of a bridge by this CDR. The purpose of this callback is to have the CDR prepare itself for the bridge and attempt to find a valid Party B. The act of creating new CDRs based on the entering of this channel into the bridge is handled by the higher level message handler.
Note that this handler is for when a channel enters into a "normal" bridge, where people actually talk to each other. Parking is its own thing.
cdr | The cdr_object |
bridge | The bridge that the Party A just entered into |
channel | The ast_channel_snapshot for this CDR's Party A |
process_bridge_enter_results | Defines whether or not this CDR was able to fully handle the bridge enter message. |
Definition at line 503 of file cdr.c.
Referenced by dialed_pending_state_process_bridge_enter(), and handle_standard_bridge_enter_message().
int(* const process_bridge_leave) (struct cdr_object *cdr, struct ast_bridge_snapshot *bridge, struct ast_channel_snapshot *channel) |
Process the leaving of a bridge by this CDR.
cdr | The cdr_object |
bridge | The bridge that the Party A just left |
channel | The ast_channel_snapshot for this CDR's Party A |
0 | This CDR left successfully |
1 | Error |
Definition at line 533 of file cdr.c.
Referenced by handle_bridge_leave_message().
int(* const process_dial_begin) (struct cdr_object *cdr, struct ast_channel_snapshot *caller, struct ast_channel_snapshot *peer) |
Process the beginning of a dial. A dial message implies one of two things: The cdr_object's Party A has been originated The cdr_object's Party A is dialing its Party B.
cdr | The cdr_object |
caller | The originator of the dial attempt |
peer | The destination of the dial attempt |
0 | if the parties in the dial were handled by this CDR |
1 | if the parties could not be handled by this CDR |
Definition at line 462 of file cdr.c.
Referenced by handle_dial_message().
int(* const process_dial_end) (struct cdr_object *cdr, struct ast_channel_snapshot *caller, struct ast_channel_snapshot *peer, const char *dial_status) |
Process the end of a dial. At the end of a dial, a CDR can be transitioned into one of two states - DialedPending (dialed_pending_state_fn_table) or Finalized (finalized_state_fn_table).
cdr | The cdr_object |
caller | The originator of the dial attempt |
peer | the Destination of the dial attempt |
dial_status | What happened |
0 | if the parties in the dial were handled by this CDR |
1 | if the parties could not be handled by this CDR |
Definition at line 480 of file cdr.c.
Referenced by handle_dial_message().
int(* const process_parked_channel) (struct cdr_object *cdr, struct ast_parked_call_payload *parking_info) |
Process an update informing us that the channel got itself parked.
cdr | The cdr_object |
channel | The parking information for this CDR's party A |
0 | This CDR successfully parked itself |
1 | This CDR couldn't handle the park |
Definition at line 546 of file cdr.c.
Referenced by handle_parked_call_message().
int(* const process_parking_bridge_enter) (struct cdr_object *cdr, struct ast_bridge_snapshot *bridge, struct ast_channel_snapshot *channel) |
Process entering into a parking bridge.
cdr | The cdr_object |
bridge | The parking bridge that Party A just entered into |
channel | The ast_channel_snapshot for this CDR's Party A |
0 | This CDR successfully transitioned itself into the parked state |
1 | This CDR couldn't handle the parking transition and we need a new CDR. |
Definition at line 519 of file cdr.c.
Referenced by handle_parking_bridge_enter_message().
int(* const process_party_a) (struct cdr_object *cdr, struct ast_channel_snapshot *snapshot) |
Process a Party A update for the cdr_object.
cdr | The cdr_object to process the update |
snapshot | The snapshot for the CDR's Party A |
0 | the CDR handled the update or ignored it |
1 | the CDR is finalized and a new one should be made to handle it |
Definition at line 437 of file cdr.c.
Referenced by base_process_parked_channel(), dialed_pending_state_process_party_a(), handle_channel_snapshot_update_message(), handle_parking_bridge_enter_message(), and handle_standard_bridge_enter_message().
void(* const process_party_b) (struct cdr_object *cdr, struct ast_channel_snapshot *snapshot) |
Process a Party B update for the cdr_object.
cdr | The cdr_object to process the update |
snapshot | The snapshot for the CDR's Party B |
Definition at line 446 of file cdr.c.
Referenced by cdr_object_update_party_b().