libosmo-sigtran 2.2.1.95-893c Osmocom SIGTRAN library

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
osmo_ss7.h File Reference
`#include <stdint.h>`
`#include <stdbool.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/utils.h>`
`#include <osmocom/core/fsm.h>`
`#include <osmocom/core/msgb.h>`
`#include <osmocom/core/prim.h>`
`#include <osmocom/core/socket.h>`
`#include <osmocom/core/rate_ctr.h>`

Go to the source code of this file.

## Data Structures
struct | osmo_ss7_routing_key

## Macros
#define | OSMO_SS7_MAX_RCTX_COUNT 128
#define | OSMO_SS7_PC_INVALID 0xffffffff
#define | OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001
| Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure. More...
#define | OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002
| Accept DAUD in ASP role (RFC states only permitted in ASP->SG role) More...
#define | OSMO_SS7_ASP_QUIRK_SNM_INACTIVE 0x00000004
| Accept SSNM even if ASP is in AS-INACTIVE state. More...

## Typedefs
typedef int | osmo_ss7_asp_rx_unknown_cb(struct osmo_ss7_asp *asp, int ppid_mux, struct msgb *msg)
| Weak function to handle payload for unknown/unsupported PPID or IPA StreamID. More...

## Enumerations
enum | osmo_ss7_asp_protocol { OSMO_SS7_ASP_PROT_NONE , OSMO_SS7_ASP_PROT_SUA , OSMO_SS7_ASP_PROT_M3UA , OSMO_SS7_ASP_PROT_IPA , _NUM_OSMO_SS7_ASP_PROT }
enum | osmo_ss7_as_traffic_mode { OSMO_SS7_AS_TMOD_OVERRIDE = 0 , OSMO_SS7_AS_TMOD_BCAST , OSMO_SS7_AS_TMOD_LOADSHARE , OSMO_SS7_AS_TMOD_ROUNDROBIN , _NUM_OSMO_SS7_ASP_TMOD }
enum | osmo_ss7_asp_role { OSMO_SS7_ASP_ROLE_ASP , OSMO_SS7_ASP_ROLE_SG , OSMO_SS7_ASP_ROLE_IPSP }

## Functions
struct osmo_ss7_instance * | osmo_ss7_instances_llist_entry (struct llist_head *list)
int | osmo_ss7_init (void)
static bool | osmo_ss7_pc_is_valid (uint32_t pc)
struct osmo_ss7_instance * | osmo_ss7_instance_find (uint32_t id)
| Find a SS7 Instance with given ID. More...
struct osmo_ss7_instance * | osmo_ss7_instance_find_or_create (void *ctx, uint32_t id)
| Find or create a SS7 Instance. More...
void | osmo_ss7_instance_destroy (struct osmo_ss7_instance *inst)
| Destroy a SS7 Instance. More...
uint32_t | osmo_ss7_instance_get_id (const struct osmo_ss7_instance *inst)
const char * | osmo_ss7_instance_get_name (const struct osmo_ss7_instance *inst)
int | osmo_ss7_instance_set_pc_fmt (struct osmo_ss7_instance *inst, uint8_t c0, uint8_t c1, uint8_t c2)
| Set the point code format used in given SS7 instance. More...
const struct osmo_ss7_pc_fmt * | osmo_ss7_instance_get_pc_fmt (const struct osmo_ss7_instance *inst)
uint32_t | osmo_ss7_instance_get_primary_pc (const struct osmo_ss7_instance *inst)
uint8_t | osmo_ss7_instance_get_network_indicator (const struct osmo_ss7_instance *inst)
struct osmo_sccp_instance * | osmo_ss7_ensure_sccp (struct osmo_ss7_instance *inst)
| Allocate an SCCP instance, if not present yet. More...
struct osmo_sccp_instance * | osmo_ss7_get_sccp (const struct osmo_ss7_instance *inst)
| Get the SCCP instance, if present. More...
int | osmo_ss7_find_free_rctx (struct osmo_ss7_instance *inst)
bool | osmo_ss7_pc_is_local (const struct osmo_ss7_instance *inst, uint32_t pc)
int | osmo_ss7_pointcode_parse (const struct osmo_ss7_instance *inst, const char *str)
int | osmo_ss7_pointcode_parse_mask_or_len (const struct osmo_ss7_instance *inst, const char *in)
const char * | osmo_ss7_pointcode_print_buf (char *buf, size_t buf_len, const struct osmo_ss7_instance *inst, uint32_t pc)
const char * | osmo_ss7_pointcode_print (const struct osmo_ss7_instance *inst, uint32_t pc)
const char * | osmo_ss7_pointcode_print2 (const struct osmo_ss7_instance *inst, uint32_t pc)
uint8_t | osmo_ss7_pc_width (const struct osmo_ss7_pc_fmt *pc_fmt)
uint32_t | osmo_ss7_pc_normalize (const struct osmo_ss7_pc_fmt *pc_fmt, uint32_t pc)
struct osmo_ss7_user * | osmo_ss7_user_create (struct osmo_ss7_instance *inst, const char *name)
void | osmo_ss7_user_destroy (struct osmo_ss7_user *user)
struct osmo_ss7_instance * | osmo_ss7_user_get_instance (const struct osmo_ss7_user *user)
void | osmo_ss7_user_set_prim_cb (struct osmo_ss7_user *user, osmo_prim_cb prim_cb)
void | osmo_ss7_user_set_priv (struct osmo_ss7_user *user, void *priv)
void * | osmo_ss7_user_get_priv (const struct osmo_ss7_user *user)
int | osmo_ss7_user_register (struct osmo_ss7_user *user, uint8_t service_ind)
| Register a MTP user for a given service indicator. More...
int | osmo_ss7_user_unregister (struct osmo_ss7_user *user, uint8_t service_ind)
| Unregister a MTP user for a given service indicator. More...
struct osmo_ss7_user * | osmo_ss7_user_find_by_si (const struct osmo_ss7_instance *inst, uint8_t service_indicator)
int | osmo_ss7_user_mtp_sap_prim_down (struct osmo_ss7_user *user, struct osmo_mtp_prim *omp)
void | osmo_sccp_set_max_optional_data (struct osmo_sccp_instance *inst, int val)
| Adjust the upper bound for the optional data length (the payload) for CR, CC, CREF and RLSD messages. More...
struct osmo_ss7_route * | osmo_ss7_route_lookup (struct osmo_ss7_instance *inst, uint32_t dpc) OSMO_DEPRECATED("Use internal ss7_instance_lookup_route() instead")
| Find a SS7 route for given destination point code in given SS7. More...
const char * | osmo_ss7_route_print (const struct osmo_ss7_route *rt)
const char * | osmo_ss7_route_name (struct osmo_ss7_route *rt, bool list_asps)
| Return human readable representation of the route, in a static buffer. More...
struct osmo_ss7_as * | osmo_ss7_route_get_dest_as (struct osmo_ss7_route *rt)
| Get destination AS of route. More...
static const char * | osmo_ss7_asp_protocol_name (enum osmo_ss7_asp_protocol mode)
int | osmo_ss7_asp_protocol_port (enum osmo_ss7_asp_protocol prot)
static const char * | osmo_ss7_as_traffic_mode_name (enum osmo_ss7_as_traffic_mode mode)
enum osmo_ss7_as_traffic_mode | osmo_ss7_tmode_from_xua (uint32_t in)
int | osmo_ss7_tmode_to_xua (enum osmo_ss7_as_traffic_mode tmod)
struct osmo_ss7_as * | osmo_ss7_as_find_by_name (struct osmo_ss7_instance *inst, const char *name)
| Find Application Server by given name. More...
struct osmo_ss7_as * | osmo_ss7_as_find_by_rctx (struct osmo_ss7_instance *inst, uint32_t rctx)
| Find Application Server by given routing context. More...
struct osmo_ss7_as * | osmo_ss7_as_find_by_l_rk_id (struct osmo_ss7_instance *inst, uint32_t l_rk_id)
| Find Application Server by given local routing key ID. More...
struct osmo_ss7_as * | osmo_ss7_as_find_by_proto (struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto)
| Find Application Server (AS) by given protocol. More...
struct osmo_ss7_as * | osmo_ss7_as_find_or_create (struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto)
| Find or Create Application Server. More...
enum osmo_ss7_asp_protocol | osmo_ss7_as_get_asp_protocol (const struct osmo_ss7_as *as)
| Get asp_protocol configuration of a given AS. More...
int | osmo_ss7_as_add_asp (struct osmo_ss7_as *as, const char *asp_name)
| Add given ASP to given AS. More...
int | osmo_ss7_as_del_asp (struct osmo_ss7_as *as, const char *asp_name)
| Delete given ASP from given AS. More...
void | osmo_ss7_as_destroy (struct osmo_ss7_as *as)
| Destroy given Application Server. More...
bool | osmo_ss7_as_has_asp (const struct osmo_ss7_as *as, const struct osmo_ss7_asp *asp)
| Determine if given AS contains ASP. More...
struct osmo_ss7_asp * | osmo_ss7_as_select_asp (struct osmo_ss7_as *as)
| Select an AS to transmit a message, according to AS configuration and ASP availability. More...
bool | osmo_ss7_as_down (const struct osmo_ss7_as *as)
| Determine if given AS is in the down state. More...
bool | osmo_ss7_as_active (const struct osmo_ss7_as *as)
| Determine if given AS is in the active state. More...
bool | osmo_ss7_as_tmode_compatible_xua (struct osmo_ss7_as *as, uint32_t m3ua_tmt)
struct osmo_ss7_asp * | osmo_ss7_asp_find_by_name (struct osmo_ss7_instance *inst, const char *name)
struct osmo_ss7_asp * | osmo_ss7_asp_find_by_proto (struct osmo_ss7_as *as, enum osmo_ss7_asp_protocol proto)
| Find an ASP that matches the given ASP protocol (xUA variant). More...
struct osmo_ss7_asp * | osmo_ss7_asp_find (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, enum osmo_ss7_asp_protocol proto) OSMO_DEPRECATED("Use osmo_ss7_asp_find2() instead")
struct osmo_ss7_asp * | osmo_ss7_asp_find2 (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, int trans_proto, enum osmo_ss7_asp_protocol proto)
struct osmo_ss7_asp * | osmo_ss7_asp_find_or_create (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, enum osmo_ss7_asp_protocol proto) OSMO_DEPRECATED("Use osmo_ss7_asp_find_or_create2() instead")
struct osmo_ss7_asp * | osmo_ss7_asp_find_or_create2 (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, int trans_proto, enum osmo_ss7_asp_protocol proto)
void | osmo_ss7_asp_disconnect (struct osmo_ss7_asp *asp)
void | osmo_ss7_asp_destroy (struct osmo_ss7_asp *asp)
int | osmo_ss7_asp_send (struct osmo_ss7_asp *asp, struct msgb *msg)
| send a fully encoded msgb via a given ASP More...
int | osmo_ss7_asp_restart (struct osmo_ss7_asp *asp)
bool | osmo_ss7_asp_active (const struct osmo_ss7_asp *asp)
int | osmo_ss7_asp_get_log_subsys (const struct osmo_ss7_asp *asp)
| Get the logging subsystem for a given ASP. More...
const char * | osmo_ss7_asp_get_name (const struct osmo_ss7_asp *asp)
| Get the name of a given ASP. More...
enum osmo_ss7_asp_protocol | osmo_ss7_asp_get_proto (const struct osmo_ss7_asp *asp)
| Get the proto of a given ASP. More...
int | osmo_ss7_asp_get_trans_proto (const struct osmo_ss7_asp *asp)
| Get the transport proto of a given ASP. More...
void | osmo_ss7_register_rx_unknown_cb (osmo_ss7_asp_rx_unknown_cb *cb)
| Register a call-back function for unknown SCTP PPID / IPA Stream ID. More...
struct osmo_sccp_instance * | osmo_sccp_simple_client (void *ctx, const char *name, uint32_t default_pc, enum osmo_ss7_asp_protocol prot, int default_local_port, const char *default_local_ip, int default_remote_port, const char *default_remote_ip)
| request an sccp client instance More...
struct osmo_sccp_instance * | osmo_sccp_simple_client_on_ss7_id (void *ctx, uint32_t ss7_id, const char *name, uint32_t default_pc, enum osmo_ss7_asp_protocol prot, int default_local_port, const char *default_local_ip, int default_remote_port, const char *default_remote_ip)
| request an sccp client instance More...
struct osmo_sccp_instance * | osmo_sccp_simple_server (void *ctx, uint32_t pc, enum osmo_ss7_asp_protocol prot, int local_port, const char *local_ip)
struct osmo_sccp_instance * | osmo_sccp_simple_server_on_ss7_id (void *ctx, uint32_t ss7_id, uint32_t pc, enum osmo_ss7_asp_protocol prot, int local_port, const char *local_ip)
struct osmo_sccp_instance * | osmo_sccp_simple_server_add_clnt (struct osmo_sccp_instance *inst, enum osmo_ss7_asp_protocol prot, const char *name, uint32_t pc, int local_port, int remote_port, const char *remote_ip)
void | osmo_ss7_vty_init_asp (void *ctx)
void | osmo_ss7_vty_init_sg (void *ctx)
int | osmo_ss7_vty_go_parent (struct vty *vty)
int | osmo_ss7_is_config_node (struct vty *vty, int node) OSMO_DEPRECATED("Implicit parent node tracking has replaced the use of this callback. " "This callback is no longer called

## Variables
struct llist_head | osmo_ss7_instances
struct value_string | osmo_ss7_asp_protocol_vals []
struct value_string | osmo_ss7_as_traffic_mode_vals []
const struct value_string | osmo_ss7_asp_role_names []
int | ever
int and can be left | NULL

## Macro Definition Documentation

## ◆ OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP

#define OSMO_SS7_ASP_QUIRK_DAUD_IN_ASP 0x00000002

Accept DAUD in ASP role (RFC states only permitted in ASP->SG role)

## ◆ OSMO_SS7_ASP_QUIRK_NO_NOTIFY

#define OSMO_SS7_ASP_QUIRK_NO_NOTIFY 0x00000001

Peer SG doesn't send NTFY(AS-INACTIVE) after ASP-UP procedure.

## ◆ OSMO_SS7_ASP_QUIRK_SNM_INACTIVE

#define OSMO_SS7_ASP_QUIRK_SNM_INACTIVE 0x00000004

Accept SSNM even if ASP is in AS-INACTIVE state.

## ◆ OSMO_SS7_MAX_RCTX_COUNT

#define OSMO_SS7_MAX_RCTX_COUNT 128

## ◆ OSMO_SS7_PC_INVALID

#define OSMO_SS7_PC_INVALID 0xffffffff

## Typedef Documentation

## ◆ osmo_ss7_asp_rx_unknown_cb

typedef int osmo_ss7_asp_rx_unknown_cb(struct osmo_ss7_asp *asp, int ppid_mux, struct msgb *msg)

Weak function to handle payload for unknown/unsupported PPID or IPA StreamID.

This function can be overridden by application code to implement whatever handling it wants for such additional payloads/streams.

Parameters

  [in] | asp | Application Server Process through which data was received
  [in] | ppid_sid | SCTP PPID (in sigtran case) or IPA Stream ID
  [in] | msg | Message buffer containing received data. Continues to be owned by caller!

Returns
  0 on success; negative on error

## Enumeration Type Documentation

## ◆ osmo_ss7_as_traffic_mode

enum osmo_ss7_as_traffic_mode

Enumerator
OSMO_SS7_AS_TMOD_OVERRIDE |
OSMO_SS7_AS_TMOD_BCAST |
OSMO_SS7_AS_TMOD_LOADSHARE |
OSMO_SS7_AS_TMOD_ROUNDROBIN |
_NUM_OSMO_SS7_ASP_TMOD |

## ◆ osmo_ss7_asp_protocol

enum osmo_ss7_asp_protocol

Enumerator
OSMO_SS7_ASP_PROT_NONE |
OSMO_SS7_ASP_PROT_SUA |
OSMO_SS7_ASP_PROT_M3UA |
OSMO_SS7_ASP_PROT_IPA |
_NUM_OSMO_SS7_ASP_PROT |

## ◆ osmo_ss7_asp_role

enum osmo_ss7_asp_role

Enumerator
OSMO_SS7_ASP_ROLE_ASP |
OSMO_SS7_ASP_ROLE_SG |
OSMO_SS7_ASP_ROLE_IPSP |

## Function Documentation

## ◆ osmo_sccp_set_max_optional_data()

void osmo_sccp_set_max_optional_data | ( | struct osmo_sccp_instance * | inst,
|  | int | val
| ) |  |

Adjust the upper bound for the optional data length (the payload) for CR, CC, CREF and RLSD messages.

For any Optional Data part larger than this value in octets, send CR, CC, CREF and RLSD messages without any payload, and send the data payload in a separate Data Form 1 message. ITU-T Q.713 sections 4.2 thru 4.5 define a limit of 130 bytes for the 'Data' parameter. This limit can be adjusted here. May be useful for interop with nonstandard SCCP peers.

Parameters

  [in] | sccp | SCCP instance to reconfigure.
  [in] | val | Number of bytes to set as upper bound for the optional data length, or pass a negative value to set the standard value of SCCP_MAX_OPTIONAL_DATA == 130, which conforms to ITU-T Q.713.

References osmo_xua_server::inst.

Referenced by DEFUN_ATTR().

## ◆ osmo_sccp_simple_client()

struct osmo_sccp_instance * osmo_sccp_simple_client | ( | void * | ctx,
|  | const char * | name,
|  | uint32_t | default_pc,
|  | enum osmo_ss7_asp_protocol | prot,
|  | int | default_local_port,
|  | const char * | default_local_ip,
|  | int | default_remote_port,
|  | const char * | default_remote_ip
| ) |  |

request an sccp client instance

Parameters

  [in] | ctx | talloc context
  [in] | name | human readable name
  [in] | default_pc | pointcode to be used on missing VTY setting
  [in] | prot | protocol to be used (e.g OSMO_SS7_ASP_PROT_M3UA)
  [in] | default_local_port | local port to be used on missing VTY setting
  [in] | default_local_ip | local IP-address to be used on missing VTY setting
  [in] | default_remote_port | remote port to be used on missing VTY setting
  [in] | default_remote_ip | remote IP-address to be used on missing VTY setting

Returns
  callee-allocated SCCP instance on success; NULL on error

This is simplified version of osmo_sccp_simple_client_on_ss7_id(). the only difference is that the ID of the CS7 instance will be set to 0 statically

References osmo_sccp_simple_client_on_ss7_id().

## ◆ osmo_sccp_simple_client_on_ss7_id()

struct osmo_sccp_instance * osmo_sccp_simple_client_on_ss7_id | ( | void * | ctx,
|  | uint32_t | ss7_id,
|  | const char * | name,
|  | uint32_t | default_pc,
|  | enum osmo_ss7_asp_protocol | prot,
|  | int | default_local_port,
|  | const char * | default_local_ip,
|  | int | default_remote_port,
|  | const char * | default_remote_ip
| ) |  |

request an sccp client instance

Parameters

  [in] | ctx | talloc context
  [in] | ss7_id | of the SS7/CS7 instance
  [in] | name | human readable name
  [in] | default_pc | pointcode to be used on missing VTY setting
  [in] | prot | protocol to be used (e.g OSMO_SS7_ASP_PROT_M3UA)
  [in] | default_local_port | local port to be used on missing VTY setting
  [in] | default_local_ip | local IP-address to be used on missing VTY setting (NULL: use library own defaults)
  [in] | default_remote_port | remote port to be used on missing VTY setting
  [in] | default_remote_ip | remote IP-address to be used on missing VTY setting (NULL: use library own defaults)

Returns
  callee-allocated SCCP instance on success; NULL on error

The function will examine the given CS7 instance and its sub components (as, asp, etc.). If necessary it will allocate the missing components. If no CS7 instance can be detected under the caller supplied ID, a new instance will be created beforehand.

References osmo_ss7_instance::asp_list, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_instance::cfg, osmo_ss7_instance::id, osmo_ss7_asp::is_server, osmo_ss7_asp::list, osmo_ss7_asp::local, osmo_ss7_as::name, osmo_ss7_asp::name, NULL, osmo_ss7_asp::num_assoc_as, osmo_ss7_as_destroy(), osmo_ss7_as_find_by_proto(), osmo_ss7_as_find_or_create(), osmo_ss7_asp_destroy(), osmo_ss7_asp_find_by_proto(), osmo_ss7_asp_find_or_create2(), osmo_ss7_asp_protocol_name(), osmo_ss7_asp_protocol_port(), OSMO_SS7_ASP_ROLE_ASP, osmo_ss7_ensure_sccp(), osmo_ss7_instance_destroy(), osmo_ss7_instance_find(), osmo_ss7_instance_find_or_create(), osmo_ss7_pc_is_valid(), osmo_ss7_pointcode_print(), osmo_ss7_routing_key::pc, osmo_ss7_asp_peer::port, osmo_ss7_instance::primary_pc, osmo_ss7_asp::proto, osmo_ss7_asp::remote, osmo_ss7_asp::role, osmo_ss7_asp::role_set_by_vty, osmo_ss7_as::routing_key, osmo_ss7_instance::rtable_system, osmo_ss7_instance::sccp, osmo_ss7_as::simple_client_allocated, osmo_ss7_asp::simple_client_allocated, ss7_as_add_asp(), ss7_asp_peer_set_hosts(), ss7_asp_restart_after_reconfigure(), ss7_default_trans_proto_for_asp_proto(), ss7_route_create(), ss7_route_destroy(), ss7_route_table_find_route_by_dpc_mask(), ss7_xua_server_find2(), osmo_ss7_asp::trans_proto, and osmo_ss7_asp::trans_role_set_by_vty.

Referenced by osmo_sccp_simple_client().

## ◆ osmo_sccp_simple_server()

struct osmo_sccp_instance * osmo_sccp_simple_server | ( | void * | ctx,
|  | uint32_t | pc,
|  | enum osmo_ss7_asp_protocol | prot,
|  | int | local_port,
|  | const char * | local_ip
| ) |  |

References osmo_sccp_simple_server_on_ss7_id(), and pc.

## ◆ osmo_sccp_simple_server_add_clnt()

struct osmo_sccp_instance * osmo_sccp_simple_server_add_clnt | ( | struct osmo_sccp_instance * | inst,
|  | enum osmo_ss7_asp_protocol | prot,
|  | const char * | name,
|  | uint32_t | pc,
|  | int | local_port,
|  | int | remote_port,
|  | const char * | remote_ip
| ) |  |

References osmo_ss7_asp::cfg, osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, osmo_ss7_asp::is_server, osmo_ss7_asp::local, osmo_xua_server::local, NULL, osmo_ss7_as_destroy(), osmo_ss7_as_find_or_create(), osmo_ss7_asp_destroy(), osmo_ss7_asp_find_or_create2(), osmo_ss7_asp_protocol_port(), osmo_ss7_asp_restart(), OSMO_SS7_ASP_ROLE_SG, pc, osmo_ss7_asp::remote, osmo_ss7_asp::role, osmo_ss7_instance::rtable_system, osmo_ss7_instance::sccp, osmo_sccp_instance::ss7, ss7_as_add_asp(), ss7_asp_peer_add_host(), ss7_asp_peer_set_hosts(), ss7_default_trans_proto_for_asp_proto(), ss7_route_create(), ss7_route_destroy(), ss7_xua_server_find2(), osmo_ss7_asp::trans_proto, and osmo_xua_server::trans_proto.

## ◆ osmo_sccp_simple_server_on_ss7_id()

struct osmo_sccp_instance * osmo_sccp_simple_server_on_ss7_id | ( | void * | ctx,
|  | uint32_t | ss7_id,
|  | uint32_t | pc,
|  | enum osmo_ss7_asp_protocol | prot,
|  | int | local_port,
|  | const char * | local_ip
| ) |  |

References osmo_ss7_instance::cfg, NULL, osmo_ss7_asp_protocol_port(), osmo_ss7_ensure_sccp(), osmo_ss7_instance_destroy(), osmo_ss7_instance_find_or_create(), pc, osmo_ss7_instance::primary_pc, osmo_ss7_instance::sccp, ss7_default_trans_proto_for_asp_proto(), ss7_xua_server_bind(), ss7_xua_server_create2(), ss7_xua_server_destroy(), and osmo_xua_server::trans_proto.

Referenced by osmo_sccp_simple_server().

## ◆ osmo_ss7_as_active()

bool osmo_ss7_as_active | ( | const struct osmo_ss7_as * | as | ) |

Determine if given AS is in the active state.

Parameters

  [in] | as | Application Server.

Returns
  true in case as is active; false otherwise.

References ss7_as_asp_assoc::as, osmo_ss7_as::fi, and XUA_AS_S_ACTIVE.

Referenced by asp_act_needed(), m3ua_rx_xfer(), show_as(), and ss7_route_dest_is_available().

## ◆ osmo_ss7_as_add_asp()

int osmo_ss7_as_add_asp | ( | struct osmo_ss7_as * | as,
|  | const char * | asp_name
| ) |  |

Add given ASP to given AS.

Parameters

  [in] | as | Application Server to which asp is added
  [in] | asp_name | Name of Application Server Process to be added to as

Returns
  0 on success; negative in case of error

References osmo_ss7_as::inst, osmo_ss7_asp_find_by_name(), ss7_as_add_asp(), and ss7_initialized.

Referenced by DEFUN_ATTR().

## ◆ osmo_ss7_as_del_asp()

int osmo_ss7_as_del_asp | ( | struct osmo_ss7_as * | as,
|  | const char * | asp_name
| ) |  |

Delete given ASP from given AS.

Parameters

  [in] | as | Application Server from which asp is deleted
  [in] | asp_name | Name of the Application Server Process to delete from as

Returns
  0 on success; negative in case of error

References osmo_ss7_as::inst, osmo_ss7_asp_find_by_name(), ss7_as_del_asp(), and ss7_initialized.

Referenced by DEFUN_ATTR().

## ◆ osmo_ss7_as_destroy()

void osmo_ss7_as_destroy | ( | struct osmo_ss7_as * | as | ) |

Destroy given Application Server.

Parameters

  [in] | as | Application Server to destroy

References ss7_as_asp_assoc::as, ss7_as_asp_assoc::as_entry, osmo_ss7_as::assoc_asp_list, osmo_ss7_as::ctrg, osmo_ss7_as::fi, osmo_ss7_as::inst, osmo_ss7_as::list, LOGPAS, NULL, osmo_ss7_instance::rtable_system, ss7_as_asp_assoc_free(), ss7_initialized, ss7_route_table_del_routes_by_as(), and tcap_disable().

Referenced by DEFUN_ATTR(), handle_rkey_reg(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_instance_destroy(), and ss7_as_del_asp().

## ◆ osmo_ss7_as_down()

bool osmo_ss7_as_down | ( | const struct osmo_ss7_as * | as | ) |

Determine if given AS is in the down state.

Parameters

  [in] | as | Application Server.

Returns
  true in case as is down; false otherwise.

References ss7_as_asp_assoc::as, osmo_ss7_as::fi, and XUA_AS_S_DOWN.

## ◆ osmo_ss7_as_find_by_l_rk_id()

struct osmo_ss7_as * osmo_ss7_as_find_by_l_rk_id | ( | struct osmo_ss7_instance * | inst,
|  | uint32_t | l_rk_id
| ) |  |

Find Application Server by given local routing key ID.

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | l_rk_id | Local Routing Key ID

Returns
  pointer to Application Server on success; NULL otherwise

References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::inst, osmo_ss7_routing_key::l_rk_id, osmo_ss7_as::list, NULL, osmo_ss7_as::routing_key, and ss7_initialized.

Referenced by handle_reg_conf(), and ss7_find_free_l_rk_id().

## ◆ osmo_ss7_as_find_by_name()

struct osmo_ss7_as * osmo_ss7_as_find_by_name | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name
| ) |  |

Find Application Server by given name.

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | name | Name of AS

Returns
  pointer to Application Server on success; NULL otherwise

References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::inst, osmo_ss7_as::list, osmo_ss7_as::name, NULL, and ss7_initialized.

Referenced by DEFUN(), DEFUN_ATTR(), ipa_asp_fsm_wait_id_resp(), osmo_ss7_as_find_or_create(), show_as(), and ss7_route_set_linkset().

## ◆ osmo_ss7_as_find_by_proto()

struct osmo_ss7_as * osmo_ss7_as_find_by_proto | ( | struct osmo_ss7_instance * | inst,
|  | enum osmo_ss7_asp_protocol | proto
| ) |  |

Find Application Server (AS) by given protocol.

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | proto | Protocol identifier that must match

Returns
  pointer to AS on success; NULL otherwise If an AS has an ASP also matching the given protocol, that AS is preferred. If there are multiple matches, return the first matching AS.

References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::inst, osmo_ss7_as::list, NULL, osmo_ss7_asp_find_by_proto(), osmo_ss7_as::proto, and ss7_initialized.

Referenced by osmo_sccp_simple_client_on_ss7_id().

## ◆ osmo_ss7_as_find_by_rctx()

struct osmo_ss7_as * osmo_ss7_as_find_by_rctx | ( | struct osmo_ss7_instance * | inst,
|  | uint32_t | rctx
| ) |  |

Find Application Server by given routing context.

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | rctx | Routing Context

Returns
  pointer to Application Server on success; NULL otherwise

References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_routing_key::context, osmo_ss7_as::inst, osmo_ss7_as::list, NULL, osmo_ss7_as::routing_key, and ss7_initialized.

Referenced by handle_rkey_reg(), and osmo_ss7_find_free_rctx().

## ◆ osmo_ss7_as_find_or_create()

struct osmo_ss7_as * osmo_ss7_as_find_or_create | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name,
|  | enum osmo_ss7_asp_protocol | proto
| ) |  |

Find or Create Application Server.

Parameters

  [in] | inst | SS7 Instance on which we operate
  [in] | name | Name of Application Server
  [in] | proto | Protocol of Application Server

Returns
  pointer to Application Server on success; NULL otherwise

References osmo_ss7_as::cfg, osmo_ss7_as::inst, LOGPAS, osmo_ss7_as::name, NULL, osmo_ss7_as_find_by_name(), osmo_ss7_as::proto, ss7_as_alloc(), and ss7_initialized.

Referenced by DEFUN_ATTR(), handle_rkey_reg(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_add_clnt().

## ◆ osmo_ss7_as_get_asp_protocol()

enum osmo_ss7_asp_protocol osmo_ss7_as_get_asp_protocol | ( | const struct osmo_ss7_as * | as | ) |

Get asp_protocol configuration of a given AS.

Parameters

  [in] | as | Application Server in which to look for asp_protocol

Returns
  The asp_protocol this AS is configured with

References osmo_ss7_as::cfg, and osmo_ss7_as::proto.

## ◆ osmo_ss7_as_has_asp()

bool osmo_ss7_as_has_asp | ( | const struct osmo_ss7_as * | as,
|  | const struct osmo_ss7_asp * | asp
| ) |  |

Determine if given AS contains ASP.

Parameters

  [in] | as | Application Server in which to look for asp
  [in] | asp | Application Server Process to look for in as

Returns
  true in case asp is part of as; false otherwise

References ss7_as_asp_assoc::as, ss7_as_asp_assoc::asp, ss7_as_asp_assoc_find(), and ss7_initialized.

Referenced by ss7_as_add_asp(), and xua_snm_pc_available().

## ◆ osmo_ss7_as_select_asp()

struct osmo_ss7_asp * osmo_ss7_as_select_asp | ( | struct osmo_ss7_as * | as | ) |

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

Parameters

  [in] | as | Application 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().

## ◆ osmo_ss7_as_tmode_compatible_xua()

bool osmo_ss7_as_tmode_compatible_xua | ( | struct osmo_ss7_as * | as,
|  | uint32_t | m3ua_tmt
| ) |  |

References osmo_ss7_as::cfg, M3UA_TMOD_BCAST, M3UA_TMOD_LOADSHARE, M3UA_TMOD_OVERRIDE, osmo_ss7_as::mode, osmo_ss7_as::mode_set_by_peer, osmo_ss7_as::mode_set_by_vty, OSMO_SS7_AS_TMOD_BCAST, OSMO_SS7_AS_TMOD_LOADSHARE, OSMO_SS7_AS_TMOD_OVERRIDE, and OSMO_SS7_AS_TMOD_ROUNDROBIN.

Referenced by handle_rkey_reg(), and xua_asp_fsm_inactive().

## ◆ osmo_ss7_as_traffic_mode_name()

static const char * osmo_ss7_as_traffic_mode_name | ( | enum osmo_ss7_as_traffic_mode | mode | ) |
| inline static

References osmo_ss7_as_traffic_mode_vals.

Referenced by handle_rkey_reg(), ipa_rx_msg_osmo_ext_tcap_routing(), show_one_as(), ss7_vty_write_one_as(), and xua_asp_fsm_inactive().

## ◆ osmo_ss7_asp_active()

bool osmo_ss7_asp_active | ( | const struct osmo_ss7_asp * | asp | ) |

References osmo_ss7_asp::fi, and XUA_ASP_S_ACTIVE.

Referenced by check_any_other_asp_in_active(), current_asp(), DEFUN(), find_asp_no_tcap_range(), handle_rkey_dereg(), m3ua_rx_snm(), notify_any_other_active_asp_as_inactive(), ss7_as_select_asp_broadcast(), ss7_as_select_asp_loadshare(), ss7_as_select_asp_override(), ss7_as_select_asp_roundrobin(), sua_rx_snm(), sua_snm_ssn_available(), t10_audit_timer_cb(), xua_as_transmit_msg_broadcast(), xua_snm_pc_available(), xua_snm_scon(), and xua_snm_upu().

## ◆ osmo_ss7_asp_destroy()

void osmo_ss7_asp_destroy | ( | struct osmo_ss7_asp * | asp | ) |

References ss7_as_asp_assoc::as, ss7_as_asp_assoc::asp, ss7_as_asp_assoc::asp_entry, osmo_ss7_asp::assoc_as_list, osmo_ss7_asp::client, osmo_ss7_asp::ctrg, osmo_ss7_asp::fi, osmo_ss7_asp::inst, osmo_ss7_asp::list, LOGPASP, NULL, osmo_ss7_asp::server, ss7_as_del_asp(), ss7_asp_xua_layer_manager_destroy(), and ss7_initialized.

Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_instance_destroy(), ss7_asp_xua_srv_conn_closed_cb(), and xua_accept_cb().

## ◆ osmo_ss7_asp_disconnect()

void osmo_ss7_asp_disconnect | ( | struct osmo_ss7_asp * | asp | ) |

References osmo_ss7_asp::client, osmo_ss7_asp::server, and xua_cli_close_and_reconnect().

Referenced by DEFUN(), ipa_asp_fsm_timer_cb(), and ipa_asp_fsm_wait_id_resp().

## ◆ osmo_ss7_asp_find()

struct osmo_ss7_asp * osmo_ss7_asp_find | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name,
|  | uint16_t | remote_port,
|  | uint16_t | local_port,
|  | enum osmo_ss7_asp_protocol | proto
| ) |  |

References osmo_ss7_asp::inst, osmo_ss7_asp::name, osmo_ss7_asp_find2(), osmo_ss7_asp::proto, ss7_default_trans_proto_for_asp_proto(), and osmo_ss7_asp::trans_proto.

## ◆ osmo_ss7_asp_find2()

struct osmo_ss7_asp * osmo_ss7_asp_find2 | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name,
|  | uint16_t | remote_port,
|  | uint16_t | local_port,
|  | int | trans_proto,
|  | enum osmo_ss7_asp_protocol | proto
| ) |  |

References osmo_ss7_asp::cfg, osmo_ss7_asp::inst, osmo_ss7_asp::local, osmo_ss7_asp::name, NULL, osmo_ss7_asp_find_by_name(), osmo_ss7_asp_peer::port, osmo_ss7_asp::proto, osmo_ss7_asp::remote, ss7_initialized, and osmo_ss7_asp::trans_proto.

Referenced by DEFUN_ATTR(), and osmo_ss7_asp_find().

## ◆ osmo_ss7_asp_find_by_name()

struct osmo_ss7_asp * osmo_ss7_asp_find_by_name | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name
| ) |  |

References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp::name, NULL, and ss7_initialized.

Referenced by DEFUN(), DEFUN_ATTR(), osmo_ss7_as_add_asp(), osmo_ss7_as_del_asp(), osmo_ss7_asp_find2(), osmo_ss7_asp_find_or_create2(), show_asp(), show_asp_assoc_status(), and show_asp_remaddr().

## ◆ osmo_ss7_asp_find_by_proto()

struct osmo_ss7_asp * osmo_ss7_asp_find_by_proto | ( | struct osmo_ss7_as * | as,
|  | enum osmo_ss7_asp_protocol | proto
| ) |  |

Find an ASP that matches the given ASP protocol (xUA variant).

Parameters

  [in] | as | Application Server in which to look for asp
  [in] | proto | ASP protocol (xUA variant) to match

Returns
  SS7 ASP in case a matching one is found; NULL otherwise

References ss7_as_asp_assoc::as, ss7_as_asp_assoc::as_entry, ss7_as_asp_assoc::asp, osmo_ss7_as::assoc_asp_list, osmo_ss7_asp::cfg, NULL, and osmo_ss7_asp::proto.

Referenced by osmo_sccp_simple_client_on_ss7_id(), and osmo_ss7_as_find_by_proto().

## ◆ osmo_ss7_asp_find_or_create()

struct osmo_ss7_asp * osmo_ss7_asp_find_or_create | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name,
|  | uint16_t | remote_port,
|  | uint16_t | local_port,
|  | enum osmo_ss7_asp_protocol | proto
| ) |  |

References osmo_ss7_asp::inst, osmo_ss7_asp::name, osmo_ss7_asp_find_or_create2(), osmo_ss7_asp::proto, ss7_default_trans_proto_for_asp_proto(), and osmo_ss7_asp::trans_proto.

## ◆ osmo_ss7_asp_find_or_create2()

struct osmo_ss7_asp * osmo_ss7_asp_find_or_create2 | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name,
|  | uint16_t | remote_port,
|  | uint16_t | local_port,
|  | int | trans_proto,
|  | enum osmo_ss7_asp_protocol | proto
| ) |  |

References osmo_ss7_asp::cfg, osmo_ss7_asp::inst, osmo_ss7_asp::local, osmo_ss7_asp::name, NULL, osmo_ss7_asp_find_by_name(), osmo_ss7_asp_peer::port, osmo_ss7_asp::proto, osmo_ss7_asp::remote, ss7_asp_alloc(), ss7_initialized, and osmo_ss7_asp::trans_proto.

Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_asp_find_or_create(), and xua_accept_cb().

## ◆ osmo_ss7_asp_get_log_subsys()

int osmo_ss7_asp_get_log_subsys | ( | const struct osmo_ss7_asp * | asp | ) |

Get the logging subsystem for a given ASP.

Used by generic code.

References osmo_ss7_asp::cfg, OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, and osmo_ss7_asp::proto.

Referenced by xua_find_as_for_asp(), xua_snm_rx_daud(), xua_snm_rx_dava(), xua_snm_rx_duna(), xua_snm_rx_dupu(), and xua_snm_rx_scon().

## ◆ osmo_ss7_asp_get_name()

const char * osmo_ss7_asp_get_name | ( | const struct osmo_ss7_asp * | asp | ) |

Get the name of a given ASP.

Parameters

  [in] | asp | The ASP for which the name is requested

Returns
  The name of the ASP, or NULL if not set

References osmo_ss7_asp::cfg, and osmo_ss7_asp::name.

## ◆ osmo_ss7_asp_get_proto()

enum osmo_ss7_asp_protocol osmo_ss7_asp_get_proto | ( | const struct osmo_ss7_asp * | asp | ) |

Get the proto of a given ASP.

Parameters

  [in] | asp | The ASP for which the proto is requested

Returns
  The proto of the ASP

References osmo_ss7_asp::cfg, and osmo_ss7_asp::proto.

## ◆ osmo_ss7_asp_get_trans_proto()

int osmo_ss7_asp_get_trans_proto | ( | const struct osmo_ss7_asp * | asp | ) |

Get the transport proto of a given ASP.

Parameters

  [in] | asp | The ASP for which the transport proto is requested

Returns
  The transport proto of the ASP (one of IPPROTO_*)

References osmo_ss7_asp::cfg, and osmo_ss7_asp::trans_proto.

## ◆ osmo_ss7_asp_protocol_name()

static const char * osmo_ss7_asp_protocol_name | ( | enum osmo_ss7_asp_protocol | mode | ) |
| inline static

References osmo_ss7_asp_protocol_vals.

Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_ss7_route_name(), ss7_asp_alloc(), ss7_vty_write_one_as(), ss7_vty_write_one_asp(), and ss7_xua_server_create2().

## ◆ osmo_ss7_asp_protocol_port()

int osmo_ss7_asp_protocol_port | ( | enum osmo_ss7_asp_protocol | prot | ) |

References prot2port.

Referenced by osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), and osmo_sccp_simple_server_on_ss7_id().

## ◆ osmo_ss7_asp_restart()

int osmo_ss7_asp_restart | ( | struct osmo_ss7_asp * | asp | ) |

References osmo_ss7_asp::adm_state, osmo_ss7_asp::cfg, osmo_ss7_asp::dyn_allocated, osmo_ss7_asp::fi, osmo_ss7_asp::is_server, osmo_ss7_asp::local, LOGPASP, osmo_ss7_asp::name, NULL, osmo_ss7_asp::remote, osmo_ss7_asp::shutdown, ss7_asp_disconnect_stream(), ss7_asp_peer_snprintf(), ss7_asp_start_client(), ss7_asp_xua_layer_manager_destroy(), ss7_asp_xua_layer_manager_start(), ss7_initialized, and xua_asp_fsm_start().

Referenced by osmo_sccp_simple_server_add_clnt(), and ss7_asp_restart_after_reconfigure().

## ◆ osmo_ss7_asp_send()

int osmo_ss7_asp_send | ( | struct osmo_ss7_asp * | asp,
|  | struct msgb * | msg
| ) |  |

send a fully encoded msgb via a given ASP

Parameters

  [in] | asp | Application Server Process through which to send
  [in] | msg | message buffer to transmit. Ownership transferred.

Returns
  0 on success; negative in case of error

References osmo_ss7_asp::cfg, osmo_ss7_asp::client, osmo_ss7_asp::ctrg, osmo_ss7_instance::ctrg, osmo_ss7_asp::inst, osmo_ss7_asp::is_server, LOGPASP, M3UA_PPID, OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp::proto, osmo_ss7_asp::server, SS7_ASP_CTR_PKT_TX_TOTAL, ss7_initialized, SS7_INST_CTR_PKT_TX_TOTAL, and SUA_PPID.

Referenced by as_notify_all_asp(), ipa_asp_fsm_wait_id_get(), ipa_t_beat_send(), ipa_tx_tcap_routing_ack(), ipa_tx_tcap_routing_nack(), m3ua_rx_rkm_dereg_req(), m3ua_rx_rkm_reg_req(), m3ua_tx_xua_asp(), notify_any_other_active_asp_as_inactive(), peer_send(), peer_send_error_ext(), sua_tx_xua_asp(), tx_notify(), xua_as_transmit_msg(), xua_as_transmit_msg_broadcast(), xua_asp_tx_unsolicited_aspia_ack(), xua_rkm_send_dereg_req(), and xua_rkm_send_reg_req().

## ◆ osmo_ss7_ensure_sccp()

struct osmo_sccp_instance * osmo_ss7_ensure_sccp | ( | struct osmo_ss7_instance * | inst | ) |

Allocate an SCCP instance, if not present yet.

Returns
  inst->sccp.

References LOGSS7, NULL, osmo_sccp_instance_create(), and osmo_ss7_instance::sccp.

Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_on_ss7_id(), ss7_asp_alloc(), and ss7_xua_server_create2().

## ◆ osmo_ss7_find_free_rctx()

int osmo_ss7_find_free_rctx | ( | struct osmo_ss7_instance * | inst | ) |

References next_rctx, osmo_ss7_as_find_by_rctx(), and rctx_inc().

Referenced by handle_rkey_reg().

## ◆ osmo_ss7_get_sccp()

struct osmo_sccp_instance * osmo_ss7_get_sccp | ( | const struct osmo_ss7_instance * | inst | ) |

Get the SCCP instance, if present.

Parameters

  [in] | inst | SS7 Instance on which we operate

Returns
  inst->sccp, may be NULL if no SCCP instance was created yet (see osmo_ss7_ensure_sccp()).

References osmo_ss7_instance::sccp.

## ◆ osmo_ss7_init()

int osmo_ss7_init | ( | void |  | ) |

References ipa_asp_fsm, sccp_scoc_fsm, ss7_initialized, xua_as_fsm, xua_asp_fsm, and xua_default_lm_fsm.

## ◆ osmo_ss7_instance_destroy()

void osmo_ss7_instance_destroy | ( | struct osmo_ss7_instance * | inst | ) |

Destroy a SS7 Instance.

Parameters

  [in] | inst | SS7 Instance to be destroyed

References osmo_ss7_instance::as_list, osmo_ss7_instance::asp_list, osmo_ss7_instance::ctrg, osmo_ss7_asp::inst, osmo_ss7_instance::linksets, osmo_ss7_asp::list, osmo_ss7_instance::list, LOGSS7, osmo_ss7_as_destroy(), osmo_ss7_asp_destroy(), ss7_initialized, ss7_linkset_destroy(), osmo_ss7_instance::t8_inaccessible_sp, and osmo_ss7_instance::timer.

Referenced by osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_on_ss7_id().

## ◆ osmo_ss7_instance_find()

struct osmo_ss7_instance * osmo_ss7_instance_find | ( | uint32_t | id | ) |

Find a SS7 Instance with given ID.

Parameters

  [in] | id | ID for which to search

Returns
  osmo_ss7_instance on success; NULL on error

References osmo_ss7_instance::cfg, osmo_ss7_instance::id, osmo_ss7_instance::list, NULL, osmo_ss7_instances, and ss7_initialized.

Referenced by DEFUN(), DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_ss7_instance_find_or_create(), show_as(), show_asp(), show_asp_assoc_status(), and show_asp_remaddr().

## ◆ osmo_ss7_instance_find_or_create()

struct osmo_ss7_instance * osmo_ss7_instance_find_or_create | ( | void * | ctx,
|  | uint32_t | id
| ) |  |

Find or create a SS7 Instance.

Parameters

  [in] | ctx | talloc allocation context to use for allocations
  [in] | id | ID of SS7 Instance

Returns
  osmo_ss7_instance on success; NULL on error

References osmo_ss7_instance_find(), ss7_initialized, and ss7_instance_alloc().

Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_on_ss7_id().

## ◆ osmo_ss7_instance_get_id()

uint32_t osmo_ss7_instance_get_id | ( | const struct osmo_ss7_instance * | inst | ) |

References osmo_ss7_instance::cfg, osmo_ss7_instance::id, and osmo_ss7_asp::inst.

## ◆ osmo_ss7_instance_get_name()

const char * osmo_ss7_instance_get_name | ( | const struct osmo_ss7_instance * | inst | ) |

References osmo_ss7_instance::cfg, osmo_ss7_asp::inst, and osmo_ss7_instance::name.

## ◆ osmo_ss7_instance_get_network_indicator()

uint8_t osmo_ss7_instance_get_network_indicator | ( | const struct osmo_ss7_instance * | inst | ) |

References osmo_ss7_instance::cfg, osmo_ss7_asp::inst, and osmo_ss7_instance::network_indicator.

## ◆ osmo_ss7_instance_get_pc_fmt()

const struct osmo_ss7_pc_fmt * osmo_ss7_instance_get_pc_fmt | ( | const struct osmo_ss7_instance * | inst | ) |

References osmo_ss7_instance::cfg, and osmo_ss7_instance::pc_fmt.

## ◆ osmo_ss7_instance_get_primary_pc()

uint32_t osmo_ss7_instance_get_primary_pc | ( | const struct osmo_ss7_instance * | inst | ) |

References osmo_ss7_instance::cfg, osmo_ss7_asp::inst, and osmo_ss7_instance::primary_pc.

## ◆ osmo_ss7_instance_set_pc_fmt()

int osmo_ss7_instance_set_pc_fmt | ( | struct osmo_ss7_instance * | inst,
|  | uint8_t | c0,
|  | uint8_t | c1,
|  | uint8_t | c2
| ) |  |

Set the point code format used in given SS7 instance.

References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, osmo_ss7_asp::inst, LOGSS7, and osmo_ss7_instance::pc_fmt.

## ◆ osmo_ss7_instances_llist_entry()

struct osmo_ss7_instance * osmo_ss7_instances_llist_entry | ( | struct llist_head * | list | ) |

References osmo_ss7_instance::list.

## ◆ osmo_ss7_is_config_node()

int osmo_ss7_is_config_node | ( | struct vty * | vty,
|  | int | node
| ) |  |

## ◆ osmo_ss7_pc_is_local()

bool osmo_ss7_pc_is_local | ( | const struct osmo_ss7_instance * | inst,
|  | uint32_t | pc
| ) |  |

References osmo_ss7_instance::cfg, osmo_ss7_pc_is_valid(), pc, osmo_ss7_instance::primary_pc, osmo_ss7_instance::secondary_pc, and ss7_initialized.

Referenced by as_snm_pc_available(), as_snm_pc_unavailable(), dpc_accessible(), mtp3_hmdc_rx_from_l2(), mtp3_hmdt_rx_msg_for_local_unavailable_part(), mtp3_rtpc_rx_msg_for_inaccessible_sp(), sccp_sclc_rx_scrc_rout_fail(), scrc_local_out_common(), scrc_translate_node_9(), ss7_vty_node_as_go_parent(), and xua_asp_tx_snm_daud_address_book().

## ◆ osmo_ss7_pc_is_valid()

static bool osmo_ss7_pc_is_valid | ( | uint32_t | pc | ) |
| inline static

References pc.

Referenced by DEFUN(), DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_ss7_pc_is_local(), osmo_ss7_pointcode_print_buf(), sccp_user_find(), show_user(), sua2sccp_tx_m3ua(), vty_show_connection(), and write_one_cs7().

## ◆ osmo_ss7_pc_normalize()

uint32_t osmo_ss7_pc_normalize | ( | const struct osmo_ss7_pc_fmt * | pc_fmt,
|  | uint32_t | pc
| ) |  |

References pc, and ss7_pc_full_mask().

Referenced by ss7_combined_linkset_alloc(), ss7_route_alloc(), ss7_route_table_find_combined_linkset_by_dpc(), ss7_route_table_find_combined_linkset_by_dpc_mask(), ss7_route_table_find_route_by_dpc_mask(), ss7_route_table_find_route_by_dpc_mask_as(), and ss7_route_table_lookup_route().

## ◆ osmo_ss7_pc_width()

uint8_t osmo_ss7_pc_width | ( | const struct osmo_ss7_pc_fmt * | pc_fmt | ) |

References osmo_ss7_pc_fmt::component_len.

Referenced by get_pc_comp_shift(), osmo_ss7_pointcode_parse_mask_or_len(), osmo_ss7_route_print(), and ss7_pc_full_mask().

## ◆ osmo_ss7_pointcode_parse()

int osmo_ss7_pointcode_parse | ( | const struct osmo_ss7_instance * | inst,
|  | const char * | str
| ) |  |

References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, default_pc_fmt, err, gen_pc_fmtstr(), get_pc_comp_shift(), LOGSS7, num_pc_comp_exp(), and osmo_ss7_instance::pc_fmt.

Referenced by _rout_key(), DEFUN(), DEFUN_ATTR(), and osmo_ss7_pointcode_parse_mask_or_len().

## ◆ osmo_ss7_pointcode_parse_mask_or_len()

int osmo_ss7_pointcode_parse_mask_or_len | ( | const struct osmo_ss7_instance * | inst,
|  | const char * | in
| ) |  |

References osmo_ss7_instance::cfg, default_pc_fmt, osmo_ss7_pc_width(), osmo_ss7_pointcode_parse(), and osmo_ss7_instance::pc_fmt.

Referenced by DEFUN_ATTR().

## ◆ osmo_ss7_pointcode_print()

const char * osmo_ss7_pointcode_print | ( | const struct osmo_ss7_instance * | inst,
|  | uint32_t | pc
| ) |  |

References MAX_PC_STR_LEN, osmo_ss7_pointcode_print_buf(), and pc.

Referenced by as_snm_pc_available(), as_snm_pc_unavailable(), DEFUN(), format_affected_pcs_c(), handle_rkey_dereg(), handle_rkey_reg(), m3ua_rx_xfer(), mtp3_hmdc_rx_from_l2(), mtp3_hmrt_message_for_routing(), osmo_sccp_simple_client_on_ss7_id(), sccp_user_bind_pc(), scrc_node_6(), show_one_as(), show_one_tcap_range(), show_user(), ss7_as_select_asp_loadshare(), ss7_vty_write_one_as(), vty_show_connection(), write_one_cs7(), write_one_rtable(), write_sccp_addressbook(), xua_snm_rx_dupu(), and xua_snm_srm_pc_available_single().

## ◆ osmo_ss7_pointcode_print2()

const char * osmo_ss7_pointcode_print2 | ( | const struct osmo_ss7_instance * | inst,
|  | uint32_t | pc
| ) |  |

References MAX_PC_STR_LEN, osmo_ss7_pointcode_print_buf(), and pc.

Referenced by DEFUN(), m3ua_rx_xfer(), write_one_rtable(), and xua_asp_tx_snm_daud_address_book().

## ◆ osmo_ss7_pointcode_print_buf()

const char * osmo_ss7_pointcode_print_buf | ( | char * | buf,
|  | size_t | buf_len,
|  | const struct osmo_ss7_instance * | inst,
|  | uint32_t | pc
| ) |  |

References osmo_ss7_instance::cfg, default_pc_fmt, gen_pc_fmtstr(), len, num_pc_comp_exp(), osmo_ss7_pc_is_valid(), pc, pc_comp_shift_and_mask(), and osmo_ss7_instance::pc_fmt.

Referenced by dpc_accessible(), mtp3_hmdt_rx_msg_for_local_unavailable_part(), mtp3_rtpc_rx_msg_for_inaccessible_sp(), osmo_ss7_pointcode_print(), osmo_ss7_pointcode_print2(), osmo_ss7_route_name(), osmo_ss7_route_print(), sccp_addr_to_str_buf(), sccp_scoc_rx_inval_opc(), ss7_instance_t8_inaccessible_sp_start(), ss7_route_label_to_str(), t10_audit_timer_cb(), t8_inaccessible_sp_timer_cb(), tcap_trans_track_entry_create(), and tx_daud_pc().

## ◆ osmo_ss7_register_rx_unknown_cb()

void osmo_ss7_register_rx_unknown_cb | ( | osmo_ss7_asp_rx_unknown_cb * | cb | ) |

Register a call-back function for unknown SCTP PPID / IPA Stream ID.

References g_osmo_ss7_asp_rx_unknown_cb.

## ◆ osmo_ss7_route_get_dest_as()

struct osmo_ss7_as * osmo_ss7_route_get_dest_as | ( | struct osmo_ss7_route * | rt | ) |

Get destination AS of route.

Parameters

  [in] | rt | Route entry holding the AS destination

Returns
  pointer to Application Server on success; NULL if rt doesn't route to an AS (i.e. routes to a linkset).

References osmo_ss7_route::as, and osmo_ss7_route::dest.

## ◆ osmo_ss7_route_lookup()

struct osmo_ss7_route * osmo_ss7_route_lookup | ( | struct osmo_ss7_instance * | inst,
|  | uint32_t | dpc
| ) |  |

Find a SS7 route for given destination point code in given SS7.

NOTE: DEPRECATED, use ss7_instance_lookup_route() instead

References dpc, osmo_ss7_route_label::opc, ss7_initialized, and ss7_instance_lookup_route().

## ◆ osmo_ss7_route_name()

const char * osmo_ss7_route_name | ( | struct osmo_ss7_route * | rt,
|  | bool | list_asps
| ) |  |

Return human readable representation of the route, in a static buffer.

This uses both osmo_ss7_pointcode_print() and osmo_ss7_pointcode_print2(), so pairing osmo_ss7_route_name() with osmo_ss7_pointcode_print() in the same printf statement is likely to conflict.

Parameters

  [in] | rt | The route information to print, or NULL.
  [in] | list_asps | If true, append info for all ASPs for the route's AS.

Returns
  A string constant or static buffer.

References APPEND, ss7_as_asp_assoc::as, osmo_ss7_route::as, ss7_as_asp_assoc::as_entry, ss7_as_asp_assoc::asp, osmo_ss7_as::assoc_asp_list, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_linkset::cfg, osmo_ss7_route::cfg, osmo_ss7_route::dest, osmo_ss7_route::dyn_allocated, osmo_ss7_route_table::inst, osmo_ss7_route::linkset, osmo_ss7_route::mask, MAX_PC_STR_LEN, osmo_ss7_as::name, osmo_ss7_asp::name, osmo_ss7_linkset::name, osmo_ss7_asp_protocol_name(), osmo_ss7_pointcode_print_buf(), osmo_ss7_route::pc, osmo_ss7_route::priority, osmo_ss7_as::proto, osmo_ss7_route::rtable, and osmo_ss7_asp::sock_name.

Referenced by DEFUN(), mtp3_hmrt_message_for_routing(), ss7_route_destroy(), and ss7_route_set_linkset().

## ◆ osmo_ss7_route_print()

const char * osmo_ss7_route_print | ( | const struct osmo_ss7_route * | rt | ) |

References osmo_ss7_instance::cfg, osmo_ss7_route::cfg, osmo_ss7_route_table::inst, osmo_ss7_route::mask, MAX_PC_STR_LEN, osmo_ss7_pc_width(), osmo_ss7_pointcode_print_buf(), osmo_ss7_route::pc, osmo_ss7_instance::pc_fmt, osmo_ss7_route::rtable, and u32_masklen().

Referenced by vty_dump_rtable().

## ◆ osmo_ss7_tmode_from_xua()

enum osmo_ss7_as_traffic_mode osmo_ss7_tmode_from_xua | ( | uint32_t | in | ) |

References M3UA_TMOD_BCAST, M3UA_TMOD_LOADSHARE, M3UA_TMOD_OVERRIDE, OSMO_SS7_AS_TMOD_BCAST, OSMO_SS7_AS_TMOD_LOADSHARE, and OSMO_SS7_AS_TMOD_OVERRIDE.

Referenced by handle_rkey_reg(), and xua_asp_fsm_inactive().

## ◆ osmo_ss7_tmode_to_xua()

int osmo_ss7_tmode_to_xua | ( | enum osmo_ss7_as_traffic_mode | tmod | ) |

References M3UA_TMOD_BCAST, M3UA_TMOD_LOADSHARE, M3UA_TMOD_OVERRIDE, OSMO_SS7_AS_TMOD_BCAST, OSMO_SS7_AS_TMOD_LOADSHARE, OSMO_SS7_AS_TMOD_OVERRIDE, and OSMO_SS7_AS_TMOD_ROUNDROBIN.

Referenced by peer_send(), and xua_rkm_send_reg_req().

## ◆ osmo_ss7_user_create()

struct osmo_ss7_user * osmo_ss7_user_create | ( | struct osmo_ss7_instance * | inst,
|  | const char * | name
| ) |  |

References osmo_ss7_user::inst, osmo_ss7_user::name, and NULL.

Referenced by osmo_sccp_instance_create().

## ◆ osmo_ss7_user_destroy()

void osmo_ss7_user_destroy | ( | struct osmo_ss7_user * | user | ) |

References ss7_user_unregister_all().

Referenced by osmo_sccp_instance_destroy().

## ◆ osmo_ss7_user_find_by_si()

struct osmo_ss7_user * osmo_ss7_user_find_by_si | ( | const struct osmo_ss7_instance * | inst,
|  | uint8_t | service_indicator
| ) |  |

References osmo_ss7_user::inst, NULL, and osmo_ss7_instance::user.

Referenced by mtp3_hmdt_message_for_distribution(), and xua_snm_upu().

## ◆ osmo_ss7_user_get_instance()

struct osmo_ss7_instance * osmo_ss7_user_get_instance | ( | const struct osmo_ss7_user * | user | ) |

References osmo_ss7_user::inst, and osmo_ss7_instance::user.

## ◆ osmo_ss7_user_get_priv()

void * osmo_ss7_user_get_priv | ( | const struct osmo_ss7_user * | user | ) |

References osmo_ss7_user::priv, and osmo_ss7_instance::user.

## ◆ osmo_ss7_user_mtp_sap_prim_down()

int osmo_ss7_user_mtp_sap_prim_down | ( | struct osmo_ss7_user * | user,
|  | struct osmo_mtp_prim * | omp
| ) |  |

References osmo_ss7_user::inst, LOGPSS7U, mtp3_hmrt_mtp_xfer_request_l4_to_l3(), MTP_SAP_USER, osmo_mtp_prim::oph, OSMO_MTP_PRIM_TRANSFER, osmo_mtp_prim::transfer, and osmo_mtp_prim::u.

Referenced by sua2sccp_tx_m3ua().

## ◆ osmo_ss7_user_register()

int osmo_ss7_user_register | ( | struct osmo_ss7_user * | user,
|  | uint8_t | service_ind
| ) |  |

Register a MTP user for a given service indicator.

Parameters

  [in] | user | SS7 user to register (including primitive call-back)
  [in] | service_ind | Service (ISUP, SCCP, ...)

Returns
  0 on success; negative on error

References osmo_ss7_user::inst, LOGPSS7U, osmo_ss7_user::priv, and osmo_ss7_instance::user.

Referenced by osmo_sccp_instance_create().

## ◆ osmo_ss7_user_set_prim_cb()

void osmo_ss7_user_set_prim_cb | ( | struct osmo_ss7_user * | user,
|  | osmo_prim_cb | prim_cb
| ) |  |

References osmo_ss7_user::prim_cb, and osmo_ss7_instance::user.

Referenced by osmo_sccp_instance_create().

## ◆ osmo_ss7_user_set_priv()

void osmo_ss7_user_set_priv | ( | struct osmo_ss7_user * | user,
|  | void * | priv
| ) |  |

References osmo_ss7_user::priv, and osmo_ss7_instance::user.

Referenced by osmo_sccp_instance_create().

## ◆ osmo_ss7_user_unregister()

int osmo_ss7_user_unregister | ( | struct osmo_ss7_user * | user,
|  | uint8_t | service_ind
| ) |  |

Unregister a MTP user for a given service indicator.

Parameters

  [in] | user | SS7 user to unregister.
  [in] | service_ind | Service (ISUP, SCCP, ...)

Returns
  0 on success; negative on error

References osmo_ss7_user::inst, LOGPSS7U, NULL, osmo_ss7_user::priv, and osmo_ss7_instance::user.

Referenced by osmo_sccp_instance_destroy().

## ◆ osmo_ss7_vty_go_parent()

int osmo_ss7_vty_go_parent | ( | struct vty * | vty | ) |

References osmo_sccp_addr_entry::inst, osmo_ss7_route_table::inst, NULL, ss7_vty_node_as_go_parent(), ss7_vty_node_asp_go_parent(), and ss7_vty_node_oxs_go_parent().

## ◆ osmo_ss7_vty_init_asp()

void osmo_ss7_vty_init_asp | ( | void * | ctx | ) |

References cs7_role, CS7_ROLE_ASP, and vty_init_shared().

## ◆ osmo_ss7_vty_init_sg()

void osmo_ss7_vty_init_sg | ( | void * | ctx | ) |

References cs7_role, CS7_ROLE_SG, NULL, rtable_node, tcap_as_vty_init(), and vty_init_shared().

## Variable Documentation

## ◆ ever

int ever

## ◆ NULL

int and can be left NULL

Referenced by __attribute__(), _ss7_llist_round_robin(), addr_entry_by_name_global(), addr_entry_by_name_local(), as_snm_pc_available(), as_snm_pc_unavailable(), asp_loadshare_tcap_sccp(), conn_add_node(), conn_create(), conn_tmr_cb(), current_asp(), current_rt(), data_hdr_from_m3ua(), DEFUN(), DEFUN_ATTR(), fill_notify_route_ctx(), find_asp_no_tcap_range(), gen_asp_timer_lm_cmd_strs(), gen_asp_timer_xua_cmd_strs(), gen_cs7_timer_xua_cmd_strs(), gen_sccp_timer_cmd_strs(), get_sockname_buf(), handle_rkey_reg(), int_tmr_cb(), ipa_asp_allstate(), ipa_asp_fsm_cleanup(), ipa_asp_fsm_start(), ipa_asp_fsm_wait_id_resp(), ipa_gen_ping(), ipa_rx_msg_up(), ipa_tcap_routing_alloc(), ipa_to_msg(), lm_timer_cb(), m3ua_decode_notify(), m3ua_gen_error(), m3ua_gen_error_msg(), m3ua_rx_msg(), m3ua_rx_rkm_dereg_rsp(), m3ua_rx_rkm_reg_rsp(), m3ua_rx_snm_asp(), m3ua_rx_snm_ipsp(), m3ua_rx_snm_sg(), m3ua_to_msg(), m3ua_to_xfer_ind(), osmo_sccp_addr_by_name(), osmo_sccp_get_sccp(), osmo_sccp_get_ss7(), osmo_sccp_inst_addr_name(), osmo_sccp_inst_addr_to_str_buf(), osmo_sccp_instance_create(), osmo_sccp_instance_destroy(), osmo_sccp_name_by_addr(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_sccp_simple_server_on_ss7_id(), osmo_sccp_to_xua(), osmo_sccp_tx_disconn(), osmo_ss7_as_destroy(), osmo_ss7_as_find_by_l_rk_id(), osmo_ss7_as_find_by_name(), osmo_ss7_as_find_by_proto(), osmo_ss7_as_find_by_rctx(), osmo_ss7_as_find_or_create(), osmo_ss7_as_select_asp(), osmo_ss7_asp_destroy(), osmo_ss7_asp_find2(), osmo_ss7_asp_find_by_name(), osmo_ss7_asp_find_by_proto(), osmo_ss7_asp_find_or_create2(), osmo_ss7_asp_restart(), osmo_ss7_ensure_sccp(), osmo_ss7_instance_find(), osmo_ss7_user_create(), osmo_ss7_user_find_by_si(), osmo_ss7_user_unregister(), osmo_ss7_vty_go_parent(), osmo_ss7_vty_init_sg(), osmo_sua_sccp_cause_name(), osmo_sua_to_sccp(), osmo_xlm_sap_down(), patch_sccp_with_pc(), peer_send_and_start_t_ack(), peer_send_error(), rel_tmr_cb(), rep_rel_tmr_cb(), rx_inact_tmr_cb(), sccp_conn_alloc(), sccp_conn_free(), sccp_conn_opt_data_clear_cache(), sccp_find_conn_by_id(), sccp_find_user(), sccp_msgb_alloc(), sccp_to_xua_cr(), sccp_to_xua_dt1(), sccp_to_xua_ludt(), sccp_to_xua_ludts(), sccp_to_xua_opt(), sccp_to_xua_udt(), sccp_to_xua_udts(), sccp_to_xua_xudt(), sccp_to_xua_xudts(), sccp_user_bind_pc(), sccp_user_find(), scmg_rx_sst(), scoc_fsm_active(), scoc_fsm_conn_pend_in(), scoc_fsm_conn_pend_out(), scoc_fsm_disconn_pend(), scoc_fsm_idle(), scoc_fsm_wait_conn_conf(), show_as(), show_asp(), show_asp_assoc_status(), show_asp_remaddr(), ss7_as_alloc(), ss7_as_asp_assoc_alloc(), ss7_as_asp_assoc_find(), ss7_as_assign_asp_roundrobin(), ss7_as_del_asp(), ss7_as_del_asp_update_llist_round_robin(), ss7_as_find_asp_by_remote_asp_id(), ss7_as_loadshare_binding_table_reset(), ss7_as_select_asp(), ss7_as_select_asp_broadcast(), ss7_as_select_asp_loadshare(), ss7_as_select_asp_override(), ss7_as_select_asp_roundrobin(), ss7_asp_alloc(), ss7_asp_disconnect_stream(), ss7_asp_find_as_by_rctx(), ss7_asp_find_by_socket_addr(), ss7_asp_get_first_as(), ss7_asp_peer_del_host(), ss7_asp_peer_set_hosts2(), ss7_asp_set_blocked(), ss7_asp_start_client(), ss7_asp_xua_layer_manager_destroy(), ss7_asp_xua_srv_conn_closed_cb(), ss7_combined_linkset_alloc(), ss7_combined_linkset_assign_route_roundrobin(), ss7_combined_linkset_del_route(), ss7_combined_linkset_lookup_route(), ss7_combined_linkset_select_route_roundrobin(), ss7_instance_alloc(), ss7_ipv6_sctp_supported(), ss7_link_destroy(), ss7_link_find_or_create(), ss7_linkset_find_by_name(), ss7_linkset_find_or_create(), ss7_route_alloc(), ss7_route_create(), ss7_route_label_to_str(), ss7_route_set_linkset(), ss7_route_table_find(), ss7_route_table_find_combined_linkset(), ss7_route_table_find_combined_linkset_by_dpc(), ss7_route_table_find_combined_linkset_by_dpc_mask(), ss7_route_table_find_route_by_dpc_mask(), ss7_route_table_find_route_by_dpc_mask_as(), ss7_route_table_lookup_route(), ss7_user_unregister_all(), ss7_vty_init_node_as(), ss7_vty_init_node_asp(), ss7_vty_init_node_oxs(), ss7_xua_server_create2(), ss7_xua_server_destroy(), ss7_xua_server_find2(), sua2sccp_tx_m3ua(), sua_rx_msg(), sua_rx_snm_asp(), sua_rx_snm_ipsp(), sua_rx_snm_sg(), sua_to_msg(), t_r_callback(), tcap_as_asp_find_by_tcap_id(), tcap_as_rx_sccp_asp(), tcap_disable(), tcap_hlist_get(), tcap_overlap_tid(), tcap_range_alloc(), tcap_trans_track_continue(), tcap_trans_track_end(), tcap_trans_track_entry_create(), tcap_trans_track_entry_find(), tx_daud_pc(), tx_inact_tmr_cb(), vty_init_addr(), xua_accept_cb(), xua_as_fsm_onenter(), xua_as_fsm_pending(), xua_as_fsm_start(), xua_as_transmit_msg(), xua_asp_fsm_active(), xua_asp_fsm_cleanup(), xua_asp_fsm_down(), xua_asp_fsm_inactive(), xua_asp_fsm_start(), xua_asp_tx_snm_daud_address_book(), xua_cli_connect_cb(), xua_find_as_for_asp(), xua_from_msg(), xua_from_nested(), xua_gen_msg_cl(), xua_gen_msg_co(), xua_gen_relre(), xua_hdr_dump(), xua_layer_manager_default_alloc(), xua_layer_manager_default_free(), xua_msg_add_asp_rctx(), xua_msg_alloc(), xua_msg_copy(), xua_msg_dump(), xua_msg_find_tag(), xua_msg_get_str(), xua_msg_get_u32p(), xua_snm_rx_daud(), xua_t_ack_cb(), xua_t_beat_send(), xua_to_msg(), xua_tx_scon(), xua_tx_snm_available(), xua_tx_snm_daud(), and xua_xlm_prim_alloc().

## ◆ osmo_ss7_as_traffic_mode_vals

struct value_string osmo_ss7_as_traffic_mode_vals[]
| extern

Referenced by DEFUN_USRATTR(), and osmo_ss7_as_traffic_mode_name().

## ◆ osmo_ss7_asp_protocol_vals

struct value_string osmo_ss7_asp_protocol_vals[]
| extern

Referenced by osmo_ss7_asp_protocol_name(), parse_asp_proto(), show_one_asp(), ss7_vty_write_one_oxs(), ss7_xua_server_bind(), ss7_xua_server_create2(), vty_dump_xua_server(), and xua_accept_cb().

## ◆ osmo_ss7_asp_role_names

const struct value_string osmo_ss7_asp_role_names[]
| extern

Referenced by DEFUN_ATTR(), show_one_asp(), and ss7_vty_write_one_asp().

## ◆ osmo_ss7_instances

struct llist_head osmo_ss7_instances
| extern

Referenced by _show_cs7_xua(), osmo_ss7_instance_find(), ss7_asp_find_by_socket_addr(), ss7_instance_alloc(), and write_all_cs7().