libosmo-sigtran 2.1.0.38-7781
Osmocom SIGTRAN library
ss7_as.h File Reference
#include <stdint.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/fsm.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/tdef.h>
#include <osmocom/netif/stream.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include "ss7_internal.h"

Go to the source code of this file.

Data Structures

struct  osmo_ss7_as_esls_entry
 
struct  osmo_ss7_as
 

Macros

#define NUM_AS_EXT_SLS   128
 
#define LOGPAS(as, subsys, level, fmt, args ...)    _LOGSS7((as)->inst, subsys, level, "AS(%s) " fmt, (as)->cfg.name, ## args)
 

Typedefs

typedef uint8_t as_ext_sls_t
 

Enumerations

enum  osmo_ss7_as_patch_sccp_mode { OSMO_SS7_PATCH_NONE , OSMO_SS7_PATCH_BOTH }
 
enum  ss7_as_ctr {
  SS7_AS_CTR_RX_MSU_TOTAL , SS7_AS_CTR_RX_MSU_SLS_0 , SS7_AS_CTR_RX_MSU_SLS_1 , SS7_AS_CTR_RX_MSU_SLS_2 ,
  SS7_AS_CTR_RX_MSU_SLS_3 , SS7_AS_CTR_RX_MSU_SLS_4 , SS7_AS_CTR_RX_MSU_SLS_5 , SS7_AS_CTR_RX_MSU_SLS_6 ,
  SS7_AS_CTR_RX_MSU_SLS_7 , SS7_AS_CTR_RX_MSU_SLS_8 , SS7_AS_CTR_RX_MSU_SLS_9 , SS7_AS_CTR_RX_MSU_SLS_10 ,
  SS7_AS_CTR_RX_MSU_SLS_11 , SS7_AS_CTR_RX_MSU_SLS_12 , SS7_AS_CTR_RX_MSU_SLS_13 , SS7_AS_CTR_RX_MSU_SLS_14 ,
  SS7_AS_CTR_RX_MSU_SLS_15 , SS7_AS_CTR_TX_MSU_TOTAL , SS7_AS_CTR_TX_MSU_SLS_0 , SS7_AS_CTR_TX_MSU_SLS_1 ,
  SS7_AS_CTR_TX_MSU_SLS_2 , SS7_AS_CTR_TX_MSU_SLS_3 , SS7_AS_CTR_TX_MSU_SLS_4 , SS7_AS_CTR_TX_MSU_SLS_5 ,
  SS7_AS_CTR_TX_MSU_SLS_6 , SS7_AS_CTR_TX_MSU_SLS_7 , SS7_AS_CTR_TX_MSU_SLS_8 , SS7_AS_CTR_TX_MSU_SLS_9 ,
  SS7_AS_CTR_TX_MSU_SLS_10 , SS7_AS_CTR_TX_MSU_SLS_11 , SS7_AS_CTR_TX_MSU_SLS_12 , SS7_AS_CTR_TX_MSU_SLS_13 ,
  SS7_AS_CTR_TX_MSU_SLS_14 , SS7_AS_CTR_TX_MSU_SLS_15
}
 

Functions

struct osmo_ss7_aspss7_as_select_asp (struct osmo_ss7_as *as, const struct osmo_mtp_transfer_param *mtp)
 Select an AS to transmit a message, according to AS configuration and ASP availability. More...
 
unsigned int osmo_ss7_as_count_asp (const struct osmo_ss7_as *as)
 Determine amount of ASPs associated to an AS. More...
 
int ss7_as_add_asp (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp)
 Add given ASP to given AS. More...
 

Macro Definition Documentation

◆ LOGPAS

#define LOGPAS (   as,
  subsys,
  level,
  fmt,
  args ... 
)     _LOGSS7((as)->inst, subsys, level, "AS(%s) " fmt, (as)->cfg.name, ## args)

◆ NUM_AS_EXT_SLS

#define NUM_AS_EXT_SLS   128

Typedef Documentation

◆ as_ext_sls_t

typedef uint8_t as_ext_sls_t

Enumeration Type Documentation

◆ osmo_ss7_as_patch_sccp_mode

Enumerator
OSMO_SS7_PATCH_NONE 
OSMO_SS7_PATCH_BOTH 

◆ ss7_as_ctr

enum ss7_as_ctr
Enumerator
SS7_AS_CTR_RX_MSU_TOTAL 
SS7_AS_CTR_RX_MSU_SLS_0 
SS7_AS_CTR_RX_MSU_SLS_1 
SS7_AS_CTR_RX_MSU_SLS_2 
SS7_AS_CTR_RX_MSU_SLS_3 
SS7_AS_CTR_RX_MSU_SLS_4 
SS7_AS_CTR_RX_MSU_SLS_5 
SS7_AS_CTR_RX_MSU_SLS_6 
SS7_AS_CTR_RX_MSU_SLS_7 
SS7_AS_CTR_RX_MSU_SLS_8 
SS7_AS_CTR_RX_MSU_SLS_9 
SS7_AS_CTR_RX_MSU_SLS_10 
SS7_AS_CTR_RX_MSU_SLS_11 
SS7_AS_CTR_RX_MSU_SLS_12 
SS7_AS_CTR_RX_MSU_SLS_13 
SS7_AS_CTR_RX_MSU_SLS_14 
SS7_AS_CTR_RX_MSU_SLS_15 
SS7_AS_CTR_TX_MSU_TOTAL 
SS7_AS_CTR_TX_MSU_SLS_0 
SS7_AS_CTR_TX_MSU_SLS_1 
SS7_AS_CTR_TX_MSU_SLS_2 
SS7_AS_CTR_TX_MSU_SLS_3 
SS7_AS_CTR_TX_MSU_SLS_4 
SS7_AS_CTR_TX_MSU_SLS_5 
SS7_AS_CTR_TX_MSU_SLS_6 
SS7_AS_CTR_TX_MSU_SLS_7 
SS7_AS_CTR_TX_MSU_SLS_8 
SS7_AS_CTR_TX_MSU_SLS_9 
SS7_AS_CTR_TX_MSU_SLS_10 
SS7_AS_CTR_TX_MSU_SLS_11 
SS7_AS_CTR_TX_MSU_SLS_12 
SS7_AS_CTR_TX_MSU_SLS_13 
SS7_AS_CTR_TX_MSU_SLS_14 
SS7_AS_CTR_TX_MSU_SLS_15 

Function Documentation

◆ osmo_ss7_as_count_asp()

unsigned int osmo_ss7_as_count_asp ( const struct osmo_ss7_as as)

Determine amount of ASPs associated to an AS.

Parameters
[in]asApplication Server.
Returns
number of ASPs associated to as

References osmo_ss7_as::asps, and osmo_ss7_as::cfg.

Referenced by xua_rkm_cleanup_dyn_as_for_asp().

◆ ss7_as_add_asp()

int ss7_as_add_asp ( struct osmo_ss7_as as,
struct osmo_ss7_asp asp 
)

Add given ASP to given AS.

Parameters
[in]asApplication Server to which asp is added
[in]aspApplication Server Process to be added to as
Returns
0 on success; negative in case of error

References osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_asp::fi, LOGPAS, osmo_ss7_asp::name, osmo_ss7_as_has_asp(), and XUA_ASP_E_AS_ASSIGNED.

Referenced by handle_rkey_reg(), ipa_asp_fsm_wait_id_resp(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), and osmo_ss7_as_add_asp().

◆ ss7_as_select_asp()

struct osmo_ss7_asp * ss7_as_select_asp ( struct osmo_ss7_as as,
const struct osmo_mtp_transfer_param mtp 
)

Select an AS to transmit a message, according to AS configuration and ASP availability.

Parameters
[in]asApplication Server.
Returns
asp to send the message to, NULL if no possible asp found

This function returns NULL too if multiple ASPs would be selected, ie. AS is configured in broadcast mode and more than one ASP is configured.

References _NUM_OSMO_SS7_ASP_TMOD, osmo_ss7_as::cfg, osmo_ss7_as::fi, osmo_ss7_as::mode, NULL, OSMO_SS7_AS_TMOD_BCAST, OSMO_SS7_AS_TMOD_LOADSHARE, OSMO_SS7_AS_TMOD_OVERRIDE, OSMO_SS7_AS_TMOD_ROUNDROBIN, ss7_as_select_asp_broadcast(), ss7_as_select_asp_loadshare(), ss7_as_select_asp_override(), and ss7_as_select_asp_roundrobin().

Referenced by xua_as_transmit_msg().