Asterisk - The Open Source Telephony Project  18.5.0
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>
Include dependency graph for sig_ss7.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_idication {
  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

◆ LINKSET_FLAG_AUTOACM

#define LINKSET_FLAG_AUTOACM   (1 << 4)

Definition at line 72 of file sig_ss7.h.

Referenced by process_dahdi().

◆ LINKSET_FLAG_DEFAULTECHOCONTROL

#define LINKSET_FLAG_DEFAULTECHOCONTROL   (1 << 3)

Definition at line 71 of file sig_ss7.h.

Referenced by process_dahdi().

◆ LINKSET_FLAG_EXPLICITACM

#define LINKSET_FLAG_EXPLICITACM   (1 << 0)

Definition at line 68 of file sig_ss7.h.

Referenced by process_dahdi().

◆ LINKSET_FLAG_INITIALHWBLO

#define LINKSET_FLAG_INITIALHWBLO   (1 << 1)

Definition at line 69 of file sig_ss7.h.

Referenced by mkintf(), and process_dahdi().

◆ LINKSET_FLAG_USEECHOCONTROL

#define LINKSET_FLAG_USEECHOCONTROL   (1 << 2)

Definition at line 70 of file sig_ss7.h.

Referenced by process_dahdi().

◆ LINKSTATE_DOWN

#define LINKSTATE_DOWN   (1 << 3)

Definition at line 64 of file sig_ss7.h.

◆ LINKSTATE_INALARM

#define LINKSTATE_INALARM   (1 << 0)

Definition at line 61 of file sig_ss7.h.

◆ LINKSTATE_STARTING

#define LINKSTATE_STARTING   (1 << 1)

Definition at line 62 of file sig_ss7.h.

◆ LINKSTATE_UP

#define LINKSTATE_UP   (1 << 2)

Definition at line 63 of file sig_ss7.h.

◆ SIG_SS7

#define SIG_SS7   (0x1000000 | DAHDI_SIG_CLEAR)

Definition at line 59 of file sig_ss7.h.

◆ SIG_SS7_DEBUG

#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.

Referenced by action_dahdishowchannels().

◆ SIG_SS7_DEBUG_DEFAULT

#define SIG_SS7_DEBUG_DEFAULT   0

SS7 debug message flags set on initial startup.

Definition at line 51 of file sig_ss7.h.

◆ SIG_SS7_MAX_CHANNELS

#define SIG_SS7_MAX_CHANNELS   672

No more than a DS3 per trunk group

Definition at line 57 of file sig_ss7.h.

◆ SIG_SS7_NUM_DCHANS

#define SIG_SS7_NUM_DCHANS   4

No more than 4 d-channels

Definition at line 56 of file sig_ss7.h.

Referenced by __unload_module(), action_dahdishowchannels(), and dahdi_restart().

◆ SS7_BLOCKED_HARDWARE

#define SS7_BLOCKED_HARDWARE   (1 << 1)

Definition at line 75 of file sig_ss7.h.

Referenced by action_dahdishowchannels(), and mkintf().

◆ SS7_BLOCKED_MAINTENANCE

#define SS7_BLOCKED_MAINTENANCE   (1 << 0)

Definition at line 74 of file sig_ss7.h.

Referenced by action_dahdishowchannels().

◆ SS7_NAI_DYNAMIC

#define SS7_NAI_DYNAMIC   -1

Definition at line 66 of file sig_ss7.h.

Referenced by process_dahdi().

Enumeration Type Documentation

◆ sig_ss7_call_level

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 };

◆ sig_ss7_law

Enumerator
SIG_SS7_DEFLAW 
SIG_SS7_ULAW 
SIG_SS7_ALAW 

Definition at line 88 of file sig_ss7.h.

88  {
89  SIG_SS7_DEFLAW = 0,
92 };

◆ sig_ss7_redirect_idication

Enumerator
SS7_INDICATION_NO_REDIRECTION 
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 

Definition at line 94 of file sig_ss7.h.

◆ sig_ss7_redirect_reason

Enumerator
SS7_REDIRECTING_REASON_UNKNOWN 
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 

Definition at line 105 of file sig_ss7.h.

◆ sig_ss7_tone

Enumerator
SIG_SS7_TONE_RINGTONE 
SIG_SS7_TONE_STUTTER 
SIG_SS7_TONE_CONGESTION 
SIG_SS7_TONE_DIALTONE 
SIG_SS7_TONE_DIALRECALL 
SIG_SS7_TONE_INFO 
SIG_SS7_TONE_BUSY 

Definition at line 78 of file sig_ss7.h.

Function Documentation

◆ sig_ss7_add_sigchan()

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 
)

◆ sig_ss7_answer()

int sig_ss7_answer ( struct sig_ss7_chan p,
struct ast_channel ast 
)

Referenced by dahdi_answer().

◆ sig_ss7_available()

int sig_ss7_available ( struct sig_ss7_chan p)

Referenced by available().

◆ sig_ss7_call()

int sig_ss7_call ( struct sig_ss7_chan p,
struct ast_channel ast,
const char *  rdest 
)

Referenced by dahdi_call().

◆ sig_ss7_cb_call_null()

void sig_ss7_cb_call_null ( struct ss7 *  ss7,
struct isup_call *  c,
int  lock 
)

Referenced by dahdi_restart(), and load_module().

◆ sig_ss7_cb_hangup()

int sig_ss7_cb_hangup ( struct ss7 *  ss7,
int  cic,
unsigned int  dpc,
int  cause,
int  do_hangup 
)

Referenced by dahdi_restart(), and load_module().

◆ sig_ss7_cb_notinservice()

void sig_ss7_cb_notinservice ( struct ss7 *  ss7,
int  cic,
unsigned int  dpc 
)

Referenced by dahdi_restart(), and load_module().

◆ sig_ss7_chan_delete()

void sig_ss7_chan_delete ( struct sig_ss7_chan doomed)

Referenced by destroy_dahdi_pvt().

◆ sig_ss7_chan_new()

struct sig_ss7_chan* sig_ss7_chan_new ( void *  pvt_data,
struct sig_ss7_linkset ss7 
)

Referenced by mkintf().

◆ sig_ss7_cic_blocking()

int sig_ss7_cic_blocking ( struct sig_ss7_linkset linkset,
int  do_block,
int  cic 
)

◆ sig_ss7_cli_show_channels()

void sig_ss7_cli_show_channels ( int  fd,
struct sig_ss7_linkset linkset 
)

◆ sig_ss7_cli_show_channels_header()

void sig_ss7_cli_show_channels_header ( int  fd)

◆ sig_ss7_find_cic()

int sig_ss7_find_cic ( struct sig_ss7_linkset linkset,
int  cic,
unsigned int  dpc 
)

◆ sig_ss7_find_cic_range()

int sig_ss7_find_cic_range ( struct sig_ss7_linkset linkset,
int  startcic,
int  endcic,
unsigned int  dpc 
)

◆ sig_ss7_fixup()

void sig_ss7_fixup ( struct ast_channel oldchan,
struct ast_channel newchan,
struct sig_ss7_chan pchan 
)

Referenced by dahdi_fixup().

◆ sig_ss7_free_isup_call()

void sig_ss7_free_isup_call ( struct sig_ss7_linkset linkset,
int  channel 
)

◆ sig_ss7_group_blocking()

int sig_ss7_group_blocking ( struct sig_ss7_linkset linkset,
int  do_block,
int  startcic,
int  endcic,
unsigned char  state[],
int  type 
)

◆ sig_ss7_hangup()

int sig_ss7_hangup ( struct sig_ss7_chan p,
struct ast_channel ast 
)

Referenced by dahdi_hangup().

◆ sig_ss7_indicate()

int sig_ss7_indicate ( struct sig_ss7_chan p,
struct ast_channel chan,
int  condition,
const void *  data,
size_t  datalen 
)

Referenced by dahdi_indicate().

◆ sig_ss7_init_linkset()

void sig_ss7_init_linkset ( struct sig_ss7_linkset ss7)

Referenced by dahdi_restart(), and load_module().

◆ sig_ss7_link_alarm()

void sig_ss7_link_alarm ( struct sig_ss7_linkset linkset,
int  which 
)

Referenced by my_on_hook().

◆ sig_ss7_link_noalarm()

void sig_ss7_link_noalarm ( struct sig_ss7_linkset linkset,
int  which 
)

Referenced by my_on_hook().

◆ sig_ss7_request()

struct ast_channel* sig_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 
)

Referenced by dahdi_request().

◆ sig_ss7_reset_cic()

int sig_ss7_reset_cic ( struct sig_ss7_linkset linkset,
int  cic,
unsigned int  dpc 
)

◆ sig_ss7_reset_group()

int sig_ss7_reset_group ( struct sig_ss7_linkset linkset,
int  cic,
unsigned int  dpc,
int  range 
)

◆ sig_ss7_set_alarm()

void sig_ss7_set_alarm ( struct sig_ss7_chan p,
int  in_alarm 
)

◆ ss7_linkset()

void* ss7_linkset ( void *  data)

Referenced by setup_dahdi_int().

Variable Documentation

◆ sig_ss7_callbacks

struct sig_ss7_callback sig_ss7_callbacks

Global sig_ss7 callbacks to the upper layer.