Asterisk - The Open Source Telephony Project
21.4.1
|
Interface header for PRI signaling module. More...
#include "asterisk/channel.h"
#include "asterisk/frame.h"
#include "asterisk/ccss.h"
#include <libpri.h>
#include <dahdi/user.h>
Go to the source code of this file.
Data Structures | |
struct | sig_pri_callback |
struct | sig_pri_chan |
struct | sig_pri_mbox |
struct | sig_pri_span |
Macros | |
#define | DAHDI_CHAN_MAPPING_LOGICAL 1 |
#define | DAHDI_CHAN_MAPPING_PHYSICAL 0 |
#define | DAHDI_OVERLAPDIAL_BOTH (DAHDI_OVERLAPDIAL_INCOMING|DAHDI_OVERLAPDIAL_OUTGOING) |
#define | DAHDI_OVERLAPDIAL_INCOMING 2 |
#define | DAHDI_OVERLAPDIAL_NONE 0 |
#define | DAHDI_OVERLAPDIAL_OUTGOING 1 |
#define | SIG_BRI (0x2000000 | DAHDI_SIG_CLEAR) |
#define | SIG_BRI_PTMP (0X4000000 | DAHDI_SIG_CLEAR) |
#define | SIG_PRI DAHDI_SIG_CLEAR |
#define | SIG_PRI_AOC_GRANT_D (1 << 1) |
#define | SIG_PRI_AOC_GRANT_E (1 << 2) |
#define | SIG_PRI_AOC_GRANT_S (1 << 0) |
#define | SIG_PRI_DEBUG_DEFAULT 0 |
#define | SIG_PRI_DEBUG_NORMAL (PRI_DEBUG_APDU | PRI_DEBUG_Q931_STATE | PRI_DEBUG_Q921_STATE | PRI_DEBUG_CC) |
#define | SIG_PRI_MAX_CHANNELS 672 |
#define | SIG_PRI_MAX_MWI_CONTEXT_LEN 10 |
#define | SIG_PRI_MAX_MWI_MAILBOX_STR |
Maximum mwi_mailboxs string length. More... | |
#define | SIG_PRI_MAX_MWI_MAILBOXES 8 |
#define | SIG_PRI_MAX_MWI_MBOX_NUMBER_LEN 10 /* digits in number */ |
#define | SIG_PRI_MAX_MWI_VM_MAILBOX |
Maximum length of vm_mailbox string. More... | |
#define | SIG_PRI_MAX_MWI_VM_NUMBER_LEN 10 /* digits in number */ |
#define | SIG_PRI_MAX_MWI_VM_NUMBER_STR |
Maximum mwi_vm_numbers and mwi_vm_boxes string length. More... | |
#define | SIG_PRI_NUM_DCHANS 4 |
#define | SRVST_BOTH (SRVST_NEAREND | SRVST_FAREND) |
SRVST_BOTH is used to indicate that both sides of the channel are out-of-service. | |
#define | SRVST_DBKEY "service-state" |
Persistent Service State. | |
#define | SRVST_FAREND (1 << 1) |
SRVST_FAREND is used to indicate that the far end was taken out-of-service. | |
#define | SRVST_INITIALIZED 0 |
SRVST_INITIALIZED is used to indicate a channel being out-of-service The SRVST_INITIALIZED is mostly used maintain backwards compatibility but also may mean that the channel has not yet received a RESTART message. If a channel is out-of-service with this reason a RESTART message will result in the channel being put into service. | |
#define | SRVST_NEAREND (1 << 0) |
SRVST_NEAREND is used to indicate that the near end was put out-of-service. | |
#define | SRVST_TYPE_OOS "O" |
The out-of-service SERVICE state. | |
Functions | |
void | pri_event_alarm (struct sig_pri_span *pri, int index, int before_start_pri) |
void | pri_event_noalarm (struct sig_pri_span *pri, int index, int before_start_pri) |
int | pri_is_up (struct sig_pri_span *pri) |
int | pri_maintenance_bservice (struct pri *pri, struct sig_pri_chan *p, int changestatus) |
int | pri_send_callrerouting_facility_exec (struct sig_pri_chan *p, enum ast_channel_state chanstate, const char *destination, const char *original, const char *reason) |
int | pri_send_keypad_facility_exec (struct sig_pri_chan *p, const char *digits) |
int | sig_pri_ami_show_spans (struct mansession *s, const char *show_cmd, struct sig_pri_span *pri, const int *dchannels, const char *action_id) |
Output AMI show spans response events for the given PRI span. More... | |
int | sig_pri_answer (struct sig_pri_chan *p, struct ast_channel *ast) |
int | sig_pri_available (struct sig_pri_chan **pvt, int is_specific_channel) |
int | sig_pri_call (struct sig_pri_chan *p, struct ast_channel *ast, const char *rdest, int timeout, int layer1) |
int | sig_pri_cc_agent_callee_available (struct ast_cc_agent *agent) |
Alert the caller that it is time to try recalling. More... | |
void | sig_pri_cc_agent_destructor (struct ast_cc_agent *agent) |
Destroy private data on the agent. More... | |
int | sig_pri_cc_agent_init (struct ast_cc_agent *agent, struct sig_pri_chan *pvt_chan) |
PRI CC agent initialization. More... | |
int | sig_pri_cc_agent_party_b_free (struct ast_cc_agent *agent) |
Let the caller know that the callee has become free but that the caller cannot attempt to call back because he is either busy or there is congestion on his line. More... | |
void | sig_pri_cc_agent_req_rsp (struct ast_cc_agent *agent, enum ast_cc_agent_response_reason reason) |
Response to a CC request. More... | |
int | sig_pri_cc_agent_start_monitoring (struct ast_cc_agent *agent) |
Begin monitoring a busy device. More... | |
int | sig_pri_cc_agent_start_offer_timer (struct ast_cc_agent *agent) |
Start the offer timer. More... | |
int | sig_pri_cc_agent_status_req (struct ast_cc_agent *agent) |
Request the status of the agent's device. More... | |
int | sig_pri_cc_agent_stop_offer_timer (struct ast_cc_agent *agent) |
Stop the offer timer. More... | |
int | sig_pri_cc_agent_stop_ringing (struct ast_cc_agent *agent) |
Request for an agent's phone to stop ringing. More... | |
int | sig_pri_cc_monitor_cancel_available_timer (struct ast_cc_monitor *monitor, int *sched_id) |
Cancel the running available timer. More... | |
void | sig_pri_cc_monitor_destructor (void *monitor_pvt) |
Destroy PRI private data on the monitor. More... | |
int | sig_pri_cc_monitor_req_cc (struct ast_cc_monitor *monitor, int *available_timer_id) |
Request CCSS. More... | |
int | sig_pri_cc_monitor_status_rsp (struct ast_cc_monitor *monitor, enum ast_device_state devstate) |
Status response to an ast_cc_monitor_status_request(). More... | |
int | sig_pri_cc_monitor_suspend (struct ast_cc_monitor *monitor) |
Suspend monitoring. More... | |
int | sig_pri_cc_monitor_unsuspend (struct ast_cc_monitor *monitor) |
Unsuspend monitoring. More... | |
void | sig_pri_chan_alarm_notify (struct sig_pri_chan *p, int noalarm) |
Notify new alarm status. More... | |
void | sig_pri_chan_delete (struct sig_pri_chan *doomed) |
Delete the sig_pri private channel structure. More... | |
struct sig_pri_chan * | sig_pri_chan_new (void *pvt_data, struct sig_pri_span *pri, int logicalspan, int channo, int trunkgroup) |
void | sig_pri_cli_show_channels (int fd, struct sig_pri_span *pri) |
void | sig_pri_cli_show_channels_header (int fd) |
void | sig_pri_cli_show_span (int fd, int *dchannels, struct sig_pri_span *pri) |
void | sig_pri_cli_show_spans (int fd, int span, struct sig_pri_span *pri) |
void | sig_pri_dial_complete (struct sig_pri_chan *pvt, struct ast_channel *ast) |
DTMF dial string complete. More... | |
int | sig_pri_digit_begin (struct sig_pri_chan *pvt, struct ast_channel *ast, char digit) |
void | sig_pri_extract_called_num_subaddr (struct sig_pri_chan *p, const char *rdest, char *called, size_t called_buff_size) |
Extract the called number and subaddress from the dial string. More... | |
void | sig_pri_fixup (struct ast_channel *oldchan, struct ast_channel *newchan, struct sig_pri_chan *pchan) |
int | sig_pri_hangup (struct sig_pri_chan *p, struct ast_channel *ast) |
int | sig_pri_indicate (struct sig_pri_chan *p, struct ast_channel *chan, int condition, const void *data, size_t datalen) |
void | sig_pri_init_pri (struct sig_pri_span *pri) |
int | sig_pri_is_alarm_ignored (struct sig_pri_span *pri) |
Determine if layer 1 alarms are ignored. More... | |
int | sig_pri_is_chan_available (struct sig_pri_chan *pvt) |
Determine if a private channel structure is available. More... | |
int | sig_pri_load (const char *cc_type_name) |
Load the sig_pri submodule. More... | |
struct ast_channel * | sig_pri_request (struct sig_pri_chan *p, enum sig_pri_law law, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor, int transfercapability) |
void | sig_pri_sendtext (struct sig_pri_chan *pchan, const char *text) |
Send display text. More... | |
void | sig_pri_set_alarm (struct sig_pri_chan *p, int in_alarm) |
int | sig_pri_start_pri (struct sig_pri_span *pri) |
void | sig_pri_stop_pri (struct sig_pri_span *pri) |
Stop PRI span. More... | |
void | sig_pri_unload (void) |
Unload the sig_pri submodule. More... | |
Variables | |
static const char | dahdi_db [] = "dahdi/registry" |
The AstDB family. | |
struct sig_pri_callback | sig_pri_callbacks |
Interface header for PRI signaling module.
Definition in file sig_pri.h.
#define SIG_PRI_DEBUG_DEFAULT 0 |
#define SIG_PRI_DEBUG_NORMAL (PRI_DEBUG_APDU | PRI_DEBUG_Q931_STATE | PRI_DEBUG_Q921_STATE | PRI_DEBUG_CC) |
#define SIG_PRI_MAX_CHANNELS 672 |
#define SIG_PRI_MAX_MWI_CONTEXT_LEN 10 |
#define SIG_PRI_MAX_MWI_MAILBOX_STR |
Maximum mwi_mailboxs string length.
max_length = mailboxes * (vm_mailbox + ',') The last ',' is a null terminator instead.
#define SIG_PRI_MAX_MWI_MAILBOXES 8 |
#define SIG_PRI_MAX_MWI_MBOX_NUMBER_LEN 10 /* digits in number */ |
#define SIG_PRI_MAX_MWI_VM_MAILBOX |
Maximum length of vm_mailbox string.
max_length = vm_box + '@' + context.
#define SIG_PRI_MAX_MWI_VM_NUMBER_LEN 10 /* digits in number */ |
#define SIG_PRI_MAX_MWI_VM_NUMBER_STR |
Maximum mwi_vm_numbers and mwi_vm_boxes string length.
max_length = mailboxes * (vm_number + ',') The last ',' is a null terminator instead.
#define SIG_PRI_NUM_DCHANS 4 |
enum sig_pri_call_level |
Call establishment life cycle level for simple comparisons.
Definition at line 135 of file sig_pri.h.
enum sig_pri_moh_event |
Definition at line 110 of file sig_pri.h.
enum sig_pri_moh_state |
Definition at line 84 of file sig_pri.h.
enum sig_pri_reset_state |
Definition at line 152 of file sig_pri.h.
int sig_pri_ami_show_spans | ( | struct mansession * | s, |
const char * | show_cmd, | ||
struct sig_pri_span * | pri, | ||
const int * | dchannels, | ||
const char * | action_id | ||
) |
Output AMI show spans response events for the given PRI span.
show_cmd | AMI command name |
s | AMI session to output span information. |
pri | PRI span control structure. |
dchannels | Array of D channel channel numbers. |
action_id | Action ID line to use. |
Definition at line 7540 of file sig_pri.c.
References astman_append(), sig_pri_span::dchanavail, sig_pri_span::dchans, sig_pri_span::pri, and sig_pri_span::span.
int sig_pri_call | ( | struct sig_pri_chan * | p, |
struct ast_channel * | ast, | ||
const char * | rdest, | ||
int | timeout, | ||
int | layer1 | ||
) |
Definition at line 7780 of file sig_pri.c.
References ao2_ref, sig_pri_span::append_msn_to_user_tag, AST_APP_ARG, ast_app_parse_options(), ast_cc_get_monitor_by_recall_core_id(), ast_cc_is_recall(), ast_channel_get_device_name(), AST_CHANNEL_NAME, ast_copy_string(), ast_debug, AST_DECLARE_APP_ARGS, AST_NONSTANDARD_APP_ARGS, ast_party_subaddress_init(), ast_setstate(), AST_STATE_DIALING, AST_STATE_DOWN, AST_STATE_RESERVED, ast_strdup, ast_transfercapability2str(), sig_pri_chan::call, sig_pri_chan::call_level, sig_pri_cc_monitor_instance::cc_id, sig_pri_chan::channel, sig_pri_chan::deferred_digits, sig_pri_span::dialplan, sig_pri_span::facilityenable, sig_pri_chan::hidecalleridname, ast_party_caller::id, sig_pri_span::initial_user_tag, sig_pri_span::internationalprefix, sig_pri_chan::is_call_waiting, sig_pri_span::localdialplan, ast_party_id::name, sig_pri_span::nationalprefix, sig_pri_chan::no_dialed_digits, sig_pri_span::nodetype, ast_party_id::number, pbx_builtin_getvar_helper(), ast_party_number::plan, ast_party_number::presentation, sig_pri_cc_monitor_instance::pri, sig_pri_span::pri, sig_pri_chan::priexclusive, ast_cc_monitor::private_data, S_COR, SIG_PRI_CALL_LEVEL_SETUP, sig_pri_cc_type_name, ast_party_name::str, ast_party_number::str, ast_party_subaddress::str, ast_party_id::subaddress, ast_party_id::tag, ast_party_subaddress::type, sig_pri_chan::use_callingpres, sig_pri_chan::user_tag, ast_party_name::valid, ast_party_number::valid, and ast_party_subaddress::valid.
int sig_pri_cc_agent_callee_available | ( | struct ast_cc_agent * | agent | ) |
Alert the caller that it is time to try recalling.
agent | CC core agent control. |
The core will call this function when it receives notice that a monitored party has become available.
The agent's job is to send a message to the caller to notify it of such a change. If the agent is able to discern that the caller is currently unavailable, then the agent should react by calling the ast_cc_caller_unavailable function.
0 | on success. |
-1 | on error. |
Definition at line 9709 of file sig_pri.c.
References sig_pri_cc_agent_prv::cc_id, sig_pri_span::lock, sig_pri_cc_agent_prv::pri, sig_pri_span::pri, and ast_cc_agent::private_data.
void sig_pri_cc_agent_destructor | ( | struct ast_cc_agent * | agent | ) |
Destroy private data on the agent.
agent | CC core agent control. |
The core will call this function upon completion or failure of CC.
Definition at line 9736 of file sig_pri.c.
References sig_pri_cc_agent_prv::cc_id, sig_pri_cc_agent_prv::cc_request_response_pending, sig_pri_span::lock, sig_pri_cc_agent_prv::pri, sig_pri_span::pri, and ast_cc_agent::private_data.
int sig_pri_cc_agent_init | ( | struct ast_cc_agent * | agent, |
struct sig_pri_chan * | pvt_chan | ||
) |
PRI CC agent initialization.
agent | CC core agent control. |
pvt_chan | Original channel the agent will attempt to recall. |
This callback is called when the CC core is initialized. Agents should allocate any private data necessary for the call and assign it to the private_data on the agent. Additionally, if any ast_cc_agent_flags are pertinent to the specific agent type, they should be set in this function as well.
0 | on success. |
-1 | on error. |
Definition at line 9423 of file sig_pri.c.
References ast_calloc, sig_pri_chan::call, sig_pri_cc_agent_prv::cc_id, sig_pri_span::lock, sig_pri_cc_agent_prv::pri, sig_pri_span::pri, and ast_cc_agent::private_data.
int sig_pri_cc_agent_party_b_free | ( | struct ast_cc_agent * | agent | ) |
Let the caller know that the callee has become free but that the caller cannot attempt to call back because he is either busy or there is congestion on his line.
agent | CC core agent control. |
This is something that really only affects a scenario where a phone places a call over ISDN PTMP to Asterisk, who then connects over PTMP again to the ISDN network. For most agent types, there is no need to implement this callback at all because they don't really need to actually do anything in this situation. If you're having trouble understanding what the purpose of this callback is, then you can be safe simply not implementing it.
0 | on success. |
-1 | on error. |
Definition at line 9653 of file sig_pri.c.
References sig_pri_cc_agent_prv::cc_id, sig_pri_span::lock, sig_pri_cc_agent_prv::pri, sig_pri_span::pri, and ast_cc_agent::private_data.
void sig_pri_cc_agent_req_rsp | ( | struct ast_cc_agent * | agent, |
enum ast_cc_agent_response_reason | reason | ||
) |
Response to a CC request.
agent | CC core agent control. |
reason | CC request response status. |
When the core receives knowledge that a called party has accepted a CC request, it will call this callback. The core may also call this if there is some error when attempting to process the incoming CC request.
The duty of this is to issue a propper response to a CC request from the caller by acknowledging receipt of that request or rejecting it.
Definition at line 9514 of file sig_pri.c.
References AST_CC_AGENT_RESPONSE_FAILURE_INVALID, AST_CC_AGENT_RESPONSE_FAILURE_TOO_MANY, AST_CC_AGENT_RESPONSE_SUCCESS, ast_cc_failed(), sig_pri_cc_agent_prv::cc_id, sig_pri_cc_agent_prv::cc_request_response_pending, ast_cc_agent::core_id, sig_pri_span::lock, sig_pri_cc_agent_prv::pri, sig_pri_span::pri, ast_cc_agent::private_data, and sig_pri_cc_type_name.
int sig_pri_cc_agent_start_monitoring | ( | struct ast_cc_agent * | agent | ) |
Begin monitoring a busy device.
agent | CC core agent control. |
The core will call this callback if the callee becomes available but the caller has reported that he is busy. The agent should begin monitoring the caller's device. When the caller becomes available again, the agent should call ast_cc_agent_caller_available.
0 | on success. |
-1 | on error. |
int sig_pri_cc_agent_start_offer_timer | ( | struct ast_cc_agent * | agent | ) |
Start the offer timer.
agent | CC core agent control. |
This is called by the core when the caller hangs up after a call for which CC may be requested. The agent should begin the timer as configured.
The primary reason why this functionality is left to the specific agent implementations is due to the differing use of schedulers throughout the code. Some channel drivers may already have a scheduler context they wish to use, and amongst those, some may use the ast_sched API while others may use the ast_sched_thread API, which are incompatible.
0 | on success. |
-1 | on error. |
int sig_pri_cc_agent_status_req | ( | struct ast_cc_agent * | agent | ) |
Request the status of the agent's device.
agent | CC core agent control. |
Asynchronous request for the status of any caller which may be a valid caller for the CC transaction. Status responses should be made using the ast_cc_status_response function.
0 | on success. |
-1 | on error. |
Definition at line 9584 of file sig_pri.c.
References sig_pri_cc_agent_prv::cc_id, sig_pri_span::lock, sig_pri_cc_agent_prv::pri, sig_pri_span::pri, and ast_cc_agent::private_data.
int sig_pri_cc_agent_stop_offer_timer | ( | struct ast_cc_agent * | agent | ) |
Stop the offer timer.
agent | CC core agent control. |
This callback is called by the CC core when the caller has requested CC.
0 | on success. |
-1 | on error. |
int sig_pri_cc_agent_stop_ringing | ( | struct ast_cc_agent * | agent | ) |
Request for an agent's phone to stop ringing.
agent | CC core agent control. |
The usefulness of this is quite limited. The only specific known case for this is if Asterisk requests CC over an ISDN PTMP link as the TE side. If other phones are in the same recall group as the Asterisk server, and one of those phones picks up the recall notice, then Asterisk will receive a "stop ringing" notification from the NT side of the PTMP link. This indication needs to be passed to the phone on the other side of the Asterisk server which originally placed the call so that it will stop ringing. Since the phone may be of any type, it is necessary to have a callback that the core can know about.
0 | on success. |
-1 | on error. |
Definition at line 9619 of file sig_pri.c.
References sig_pri_cc_agent_prv::cc_id, sig_pri_span::lock, sig_pri_cc_agent_prv::pri, sig_pri_span::pri, and ast_cc_agent::private_data.
int sig_pri_cc_monitor_cancel_available_timer | ( | struct ast_cc_monitor * | monitor, |
int * | sched_id | ||
) |
Cancel the running available timer.
monitor | CC core monitor control. |
sched_id | Available timer scheduler id to cancel. Will never be NULL for a device monitor. |
In most cases, this function will likely consist of just a call to AST_SCHED_DEL. It might have been possible to do this within the core, but unfortunately the mixture of sched_thread and sched usage in Asterisk prevents such usage.
0 | on success |
-1 | on failure. |
void sig_pri_cc_monitor_destructor | ( | void * | monitor_pvt | ) |
Destroy PRI private data on the monitor.
monitor_pvt | CC device monitor private data pointer. |
Implementers of this callback are responsible for destroying all heap-allocated data in the monitor's private_data pointer, including the private_data itself.
Definition at line 9985 of file sig_pri.c.
References ao2_ref, and ao2_unlink.
int sig_pri_cc_monitor_req_cc | ( | struct ast_cc_monitor * | monitor, |
int * | available_timer_id | ||
) |
Request CCSS.
monitor | CC core monitor control. |
available_timer_id | Where to put the available timer scheduler id. Will never be NULL for a device monitor. |
Perform whatever steps are necessary in order to request CC. In addition, the monitor implementation is responsible for starting the available timer in this callback. The scheduler ID for the callback must be stored in the parent_link's child_avail_id field.
0 | on success |
-1 | on failure. |
Definition at line 9818 of file sig_pri.c.
References sig_pri_cc_monitor_instance::cc_id, sig_pri_span::lock, sig_pri_cc_monitor_instance::pri, sig_pri_span::pri, ast_cc_monitor::private_data, and ast_cc_monitor::service_offered.
int sig_pri_cc_monitor_status_rsp | ( | struct ast_cc_monitor * | monitor, |
enum ast_device_state | devstate | ||
) |
Status response to an ast_cc_monitor_status_request().
monitor | CC core monitor control. |
devstate | Current status of a Party A device. |
Alert a monitor as to the status of the agent for which the monitor had previously requested a status request.
0 | on success |
-1 | on failure. |
Definition at line 9917 of file sig_pri.c.
References AST_DEVICE_BUSY, AST_DEVICE_INUSE, AST_DEVICE_NOT_INUSE, AST_DEVICE_UNKNOWN, sig_pri_cc_monitor_instance::cc_id, sig_pri_span::lock, sig_pri_cc_monitor_instance::pri, sig_pri_span::pri, and ast_cc_monitor::private_data.
int sig_pri_cc_monitor_suspend | ( | struct ast_cc_monitor * | monitor | ) |
Suspend monitoring.
monitor | CC core monitor control. |
Implementers must perform the necessary steps to suspend monitoring.
0 | on success |
-1 | on failure. |
Definition at line 9861 of file sig_pri.c.
References sig_pri_cc_monitor_instance::cc_id, sig_pri_span::lock, sig_pri_cc_monitor_instance::pri, sig_pri_span::pri, and ast_cc_monitor::private_data.
int sig_pri_cc_monitor_unsuspend | ( | struct ast_cc_monitor * | monitor | ) |
Unsuspend monitoring.
monitor | CC core monitor control. |
Perform the necessary steps to unsuspend monitoring.
0 | on success |
-1 | on failure. |
Definition at line 9887 of file sig_pri.c.
References sig_pri_cc_monitor_instance::cc_id, sig_pri_span::lock, sig_pri_cc_monitor_instance::pri, sig_pri_span::pri, and ast_cc_monitor::private_data.
void sig_pri_chan_alarm_notify | ( | struct sig_pri_chan * | p, |
int | noalarm | ||
) |
Notify new alarm status.
p | Channel private pointer. |
noalarm | Non-zero if not in alarm mode. |
Definition at line 9163 of file sig_pri.c.
References AST_SOFTHANGUP_DEV, sig_pri_chan::call, and sig_pri_span::pri.
void sig_pri_chan_delete | ( | struct sig_pri_chan * | doomed | ) |
void sig_pri_dial_complete | ( | struct sig_pri_chan * | pvt, |
struct ast_channel * | ast | ||
) |
DTMF dial string complete.
pvt | sig_pri private channel structure. |
ast | Asterisk channel |
Definition at line 8726 of file sig_pri.c.
References AST_CONTROL_ANSWER, AST_FRAME_CONTROL, ast_queue_frame(), sig_pri_chan::call_level, sig_pri_chan::chan_pvt, ast_frame_subclass::integer, SIG_PRI_CALL_LEVEL_CONNECT, SIG_PRI_CALL_LEVEL_DEFER_DIAL, sig_pri_callbacks, and ast_frame::subclass.
void sig_pri_extract_called_num_subaddr | ( | struct sig_pri_chan * | p, |
const char * | rdest, | ||
char * | called, | ||
size_t | called_buff_size | ||
) |
Extract the called number and subaddress from the dial string.
p | sig_pri channel structure. |
rdest | Dial string buffer to extract called number and subaddress. |
called | Buffer to fill with extracted <number>[:<subaddress>] |
called_buff_size | Size of buffer to fill. |
Definition at line 7694 of file sig_pri.c.
References AST_APP_ARG, AST_DECLARE_APP_ARGS, AST_NONSTANDARD_APP_ARGS, and ast_strdupa.
int sig_pri_is_alarm_ignored | ( | struct sig_pri_span * | pri | ) |
Determine if layer 1 alarms are ignored.
pri | Channel private pointer. |
Definition at line 9189 of file sig_pri.c.
References sig_pri_span::layer1_ignored.
int sig_pri_is_chan_available | ( | struct sig_pri_chan * | pvt | ) |
Determine if a private channel structure is available.
pvt | Channel to determine if available. |
Definition at line 1218 of file sig_pri.c.
References sig_pri_chan::service_status.
int sig_pri_load | ( | const char * | cc_type_name | ) |
Load the sig_pri submodule.
cc_type_name | CC type name to use when looking up agent/monitor. |
0 | on success. |
-1 | on error. |
Definition at line 10007 of file sig_pri.c.
References AO2_ALLOC_OPT_LOCK_MUTEX, ao2_container_alloc_hash, sig_pri_cc_type_name, and STASIS_MESSAGE_TYPE_INIT.
Referenced by load_module().
void sig_pri_sendtext | ( | struct sig_pri_chan * | p, |
const char * | text | ||
) |
Send display text.
p | Channel to send text over |
text | Text to send. |
Definition at line 9391 of file sig_pri.c.
References ast_copy_string(), sig_pri_chan::call, and sig_pri_span::pri.
void sig_pri_stop_pri | ( | struct sig_pri_span * | pri | ) |
Stop PRI span.
pri | PRI span control structure. |
Definition at line 8872 of file sig_pri.c.
References ast_mwi_unsubscribe_and_join(), sig_pri_span::mbox, and sig_pri_mbox::sub.
void sig_pri_unload | ( | void | ) |
Unload the sig_pri submodule.
Definition at line 10030 of file sig_pri.c.
References ao2_ref, and STASIS_MESSAGE_TYPE_CLEANUP.
struct sig_pri_callback sig_pri_callbacks |
Global sig_pri callbacks to the upper layer.
Definition at line 3310 of file chan_dahdi.c.
Referenced by sig_pri_dial_complete().