Asterisk - The Open Source Telephony Project  21.4.1
Data Structures | Macros | Enumerations | Functions | Variables
sig_ss7.h File Reference

Interface header for SS7 signaling module. More...

#include "asterisk/channel.h"
#include <libss7.h>

Go to the source code of this file.

Data Structures

struct  sig_ss7_callback
 
struct  sig_ss7_chan
 
struct  sig_ss7_linkset
 

Macros

#define LINKSET_FLAG_AUTOACM   (1 << 4)
 
#define LINKSET_FLAG_DEFAULTECHOCONTROL   (1 << 3)
 
#define LINKSET_FLAG_EXPLICITACM   (1 << 0)
 
#define LINKSET_FLAG_INITIALHWBLO   (1 << 1)
 
#define LINKSET_FLAG_USEECHOCONTROL   (1 << 2)
 
#define LINKSTATE_DOWN   (1 << 3)
 
#define LINKSTATE_INALARM   (1 << 0)
 
#define LINKSTATE_STARTING   (1 << 1)
 
#define LINKSTATE_UP   (1 << 2)
 
#define SIG_SS7   (0x1000000 | DAHDI_SIG_CLEAR)
 
#define SIG_SS7_DEBUG   (SS7_DEBUG_MTP2 | SS7_DEBUG_MTP3 | SS7_DEBUG_ISUP)
 
#define SIG_SS7_DEBUG_DEFAULT   0
 
#define SIG_SS7_MAX_CHANNELS   672
 
#define SIG_SS7_NUM_DCHANS   4
 
#define SS7_BLOCKED_HARDWARE   (1 << 1)
 
#define SS7_BLOCKED_MAINTENANCE   (1 << 0)
 
#define SS7_NAI_DYNAMIC   -1
 

Enumerations

enum  sig_ss7_call_level {
  SIG_SS7_CALL_LEVEL_IDLE, SIG_SS7_CALL_LEVEL_ALLOCATED, SIG_SS7_CALL_LEVEL_CONTINUITY, SIG_SS7_CALL_LEVEL_SETUP,
  SIG_SS7_CALL_LEVEL_PROCEEDING, SIG_SS7_CALL_LEVEL_ALERTING, SIG_SS7_CALL_LEVEL_CONNECT
}
 
enum  sig_ss7_law { SIG_SS7_DEFLAW = 0, SIG_SS7_ULAW, SIG_SS7_ALAW }
 
enum  sig_ss7_redirect_indication {
  SS7_INDICATION_NO_REDIRECTION = 0, SS7_INDICATION_REROUTED_PRES_ALLOWED, SS7_INDICATION_REROUTED_INFO_RESTRICTED, SS7_INDICATION_DIVERTED_PRES_ALLOWED,
  SS7_INDICATION_DIVERTED_INFO_RESTRICTED, SS7_INDICATION_REROUTED_PRES_RESTRICTED, SS7_INDICATION_DIVERTED_PRES_RESTRICTED, SS7_INDICATION_SPARE
}
 
enum  sig_ss7_redirect_reason {
  SS7_REDIRECTING_REASON_UNKNOWN = 0, SS7_REDIRECTING_REASON_USER_BUSY, SS7_REDIRECTING_REASON_NO_ANSWER, SS7_REDIRECTING_REASON_UNCONDITIONAL,
  SS7_REDIRECTING_REASON_DEFLECTION_DURING_ALERTING, SS7_REDIRECTING_REASON_DEFLECTION_IMMEDIATE_RESPONSE, SS7_REDIRECTING_REASON_UNAVAILABLE
}
 
enum  sig_ss7_tone {
  SIG_SS7_TONE_RINGTONE = 0, SIG_SS7_TONE_STUTTER, SIG_SS7_TONE_CONGESTION, SIG_SS7_TONE_DIALTONE,
  SIG_SS7_TONE_DIALRECALL, SIG_SS7_TONE_INFO, SIG_SS7_TONE_BUSY
}
 

Functions

int sig_ss7_add_sigchan (struct sig_ss7_linkset *linkset, int which, int ss7type, int transport, int inalarm, int networkindicator, int pointcode, int adjpointcode, int cur_slc)
 
int sig_ss7_answer (struct sig_ss7_chan *p, struct ast_channel *ast)
 
int sig_ss7_available (struct sig_ss7_chan *p)
 
int sig_ss7_call (struct sig_ss7_chan *p, struct ast_channel *ast, const char *rdest)
 
void sig_ss7_cb_call_null (struct ss7 *ss7, struct isup_call *c, int lock)
 
int sig_ss7_cb_hangup (struct ss7 *ss7, int cic, unsigned int dpc, int cause, int do_hangup)
 
void sig_ss7_cb_notinservice (struct ss7 *ss7, int cic, unsigned int dpc)
 
void sig_ss7_chan_delete (struct sig_ss7_chan *doomed)
 
struct sig_ss7_chansig_ss7_chan_new (void *pvt_data, struct sig_ss7_linkset *ss7)
 
int sig_ss7_cic_blocking (struct sig_ss7_linkset *linkset, int do_block, int cic)
 
void sig_ss7_cli_show_channels (int fd, struct sig_ss7_linkset *linkset)
 
void sig_ss7_cli_show_channels_header (int fd)
 
int sig_ss7_find_cic (struct sig_ss7_linkset *linkset, int cic, unsigned int dpc)
 
int sig_ss7_find_cic_range (struct sig_ss7_linkset *linkset, int startcic, int endcic, unsigned int dpc)
 
void sig_ss7_fixup (struct ast_channel *oldchan, struct ast_channel *newchan, struct sig_ss7_chan *pchan)
 
void sig_ss7_free_isup_call (struct sig_ss7_linkset *linkset, int channel)
 
int sig_ss7_group_blocking (struct sig_ss7_linkset *linkset, int do_block, int startcic, int endcic, unsigned char state[], int type)
 
int sig_ss7_hangup (struct sig_ss7_chan *p, struct ast_channel *ast)
 
int sig_ss7_indicate (struct sig_ss7_chan *p, struct ast_channel *chan, int condition, const void *data, size_t datalen)
 
void sig_ss7_init_linkset (struct sig_ss7_linkset *ss7)
 
void sig_ss7_link_alarm (struct sig_ss7_linkset *linkset, int which)
 
void sig_ss7_link_noalarm (struct sig_ss7_linkset *linkset, int which)
 
struct ast_channelsig_ss7_request (struct sig_ss7_chan *p, enum sig_ss7_law law, const struct ast_assigned_ids *assignedids, const struct ast_channel *requestor, int transfercapability)
 
int sig_ss7_reset_cic (struct sig_ss7_linkset *linkset, int cic, unsigned int dpc)
 
int sig_ss7_reset_group (struct sig_ss7_linkset *linkset, int cic, unsigned int dpc, int range)
 
void sig_ss7_set_alarm (struct sig_ss7_chan *p, int in_alarm)
 
void * ss7_linkset (void *data)
 

Variables

struct sig_ss7_callback sig_ss7_callbacks
 

Detailed Description

Interface header for SS7 signaling module.

Author
Matthew Fredrickson cresl.nosp@m.in@d.nosp@m.igium.nosp@m..com
Richard Mudgett rmudg.nosp@m.ett@.nosp@m.digiu.nosp@m.m.co.nosp@m.m

See Also:

Definition in file sig_ss7.h.

Macro Definition Documentation

#define SIG_SS7_DEBUG   (SS7_DEBUG_MTP2 | SS7_DEBUG_MTP3 | SS7_DEBUG_ISUP)

SS7 debug message flags when SS7 debugging is turned on at the command line.

Definition at line 43 of file sig_ss7.h.

#define SIG_SS7_DEBUG_DEFAULT   0

SS7 debug message flags set on initial startup.

Definition at line 51 of file sig_ss7.h.

#define SIG_SS7_MAX_CHANNELS   672

No more than a DS3 per trunk group

Definition at line 57 of file sig_ss7.h.

#define SIG_SS7_NUM_DCHANS   4

No more than 4 d-channels

Definition at line 56 of file sig_ss7.h.

Enumeration Type Documentation

Call establishment life cycle level for simple comparisons.

Enumerator
SIG_SS7_CALL_LEVEL_IDLE 

Call does not exist.

SIG_SS7_CALL_LEVEL_ALLOCATED 

Call is allocated to the channel. We have not sent or responded to IAM yet.

SIG_SS7_CALL_LEVEL_CONTINUITY 

Call is performing continuity check after receiving IAM. We are waiting for COT to proceed further.

SIG_SS7_CALL_LEVEL_SETUP 

Call is present. We have not seen a response or sent further call progress to an IAM yet.

SIG_SS7_CALL_LEVEL_PROCEEDING 

Call routing is happening. We have sent or received ACM.

SIG_SS7_CALL_LEVEL_ALERTING 

Called party is being alerted of the call. We have sent or received CPG(ALERTING)/ACM(ALERTING).

SIG_SS7_CALL_LEVEL_CONNECT 

Call is connected/answered. We have sent or received CON/ANM.

Definition at line 116 of file sig_ss7.h.

116  {
117  /*! Call does not exist. */
119  /*!
120  * Call is allocated to the channel.
121  * We have not sent or responded to IAM yet.
122  */
124  /*!
125  * Call is performing continuity check after receiving IAM.
126  * We are waiting for COT to proceed further.
127  */
129  /*!
130  * Call is present.
131  * We have not seen a response or sent further call progress to an IAM yet.
132  */
134  /*!
135  * Call routing is happening.
136  * We have sent or received ACM.
137  */
139  /*!
140  * Called party is being alerted of the call.
141  * We have sent or received CPG(ALERTING)/ACM(ALERTING).
142  */
144  /*!
145  * Call is connected/answered.
146  * We have sent or received CON/ANM.
147  */
149 };

Variable Documentation

struct sig_ss7_callback sig_ss7_callbacks

Global sig_ss7 callbacks to the upper layer.