# class SS7SCCP | SS7 SCCP implementation. More...
Full name | `TelEngine::SS7SCCP`
Definition | `#include <libs/ysig/yatesig.h>`
Inherits | TelEngine::Mutex [public ], TelEngine::SCCP [public ], TelEngine::SS7Layer4 [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

- enum ReturnCauses { NoTranslationAddressNature = 0x00, NoTranslationSpecificAddress = 0x01, SubsystemCongestion = 0x02, SubsystemFailure = 0x03, UnequippedUser = 0x04, MtpFailure = 0x05, NetworkCongestion = 0x06, Unqualified = 0x07, ErrorInMessageTransport = 0x08, ErrorInLocalProcessing = 0x09, DestinationCanNotPerformReassembly = 0x0a, SccpFailure = 0x0b, HopCounterViolation = 0x0c, SegmentationNotSupported = 0x0d, SegmentationFailure = 0x0e, MessageChangeFailure = 0xf7, InvalidINSRoutingRequest = 0xf8, InvalidISNIRoutingRequest = 0xf9, UnauthorizedMessage = 0xfa, MessageIncompatibility = 0xfb, NotSupportedISNIRouting = 0xfc, RedundantISNIConstrainedRouting = 0xfd, ISNIIdentificationFailed = 0xfe, }
- enum Control { Status = 0x01, FullStatus = 0x02, EnableExtendedMonitoring = 0x03, DisableExtendedMonitoring = 0x04, EnablePrintMsg = 0x05, DisablePrintMsg = 0x06, }

#### Public Methods

- SS7SCCP (const NamedList& config)
- ~SS7SCCP ()
- virtual bool initialize (const NamedList* config)
- virtual void attach (SS7Layer3* network)
- int transmitMessage (SS7MsgSCCP* msg, bool local = false)
- virtual bool managementStatus (Type type, NamedList& params)
- virtual int sendMessage (DataBlock& data, const NamedList& params)
- virtual HandledMSU receivedMSU (const SS7MSU& msu, const SS7Label& label, SS7Layer3* network, int sls)
- virtual void receivedUPU (SS7PointCode::Type type, const SS7PointCode node, SS7MSU::Services part, unsigned char cause, const SS7Label& label, int sls)
- virtual bool control (NamedList& params)
- int segmentMessage (SS7MsgSCCP* origMsg, const SS7Label& label, bool local)
- inline const bool ITU () const
- inline bool ignoreUnknownAddrSignals () const
- virtual void notify (SS7Layer3* link, int sls)
- virtual void routeStatusChanged (SS7PointCode::Type type, const SS7PointCode& node, SS7Route::State state)
- inline unsigned int messagesSend ()
- inline unsigned int messagesReceived ()
- inline unsigned int errors ()
- inline unsigned int translations ()
- inline const SS7PointCode* getLocalPointCode () const
- inline SS7PointCode::Type getLocalPointCodeType ()
- inline int getPackedPointCode ()
- inline bool isLayer3Up ()

#### Protected Methods

- virtual void destroyed ()
- inline bool extendedMonitoring ()
- virtual void timerTick (const Time& when)
- SS7MsgSccpReassemble::Return reassembleSegment (SS7MsgSCCP* segment, const SS7Label& label, SS7MsgSCCP*& msg)
- virtual bool isEndpoint ()
- int routeLocal (SS7MsgSCCP* msg)

## Detailed Description

Implementation of SS7 Signalling Connection Control Part

enum ReturnCauses { NoTranslationAddressNature = 0x00, NoTranslationSpecificAddress = 0x01, SubsystemCongestion = 0x02, SubsystemFailure = 0x03, UnequippedUser = 0x04, MtpFailure = 0x05, NetworkCongestion = 0x06, Unqualified = 0x07, ErrorInMessageTransport = 0x08, ErrorInLocalProcessing = 0x09, DestinationCanNotPerformReassembly = 0x0a, SccpFailure = 0x0b, HopCounterViolation = 0x0c, SegmentationNotSupported = 0x0d, SegmentationFailure = 0x0e, MessageChangeFailure = 0xf7, InvalidINSRoutingRequest = 0xf8, InvalidISNIRoutingRequest = 0xf9, UnauthorizedMessage = 0xfa, MessageIncompatibility = 0xfb, NotSupportedISNIRouting = 0xfc, RedundantISNIConstrainedRouting = 0xfd, ISNIIdentificationFailed = 0xfe, } | ### ReturnCauses

enum Control { Status = 0x01, FullStatus = 0x02, EnableExtendedMonitoring = 0x03, DisableExtendedMonitoring = 0x04, EnablePrintMsg = 0x05, DisablePrintMsg = 0x06, } | ### Control

SS7SCCP (const NamedList& config) | ### SS7SCCP

Constructor

~SS7SCCP () | ### ~SS7SCCP

Destructor

bool initialize (const NamedList* config) | ### initialize

[virtual]

Configure and initialize the Signalling connection control part

Parameters:

config | Optional configuration parameters override

Returns: True if SCCP was initialized properly

Reimplemented from SS7Layer4.

void attach (SS7Layer3* network) | ### attach

[virtual]

Attach a SS7 network or router to this service. Detach itself from the old one

Parameters:

network | Pointer to network or router to attach

Reimplemented from SS7Layer4.

int transmitMessage (SS7MsgSCCP* msg, bool local = false) | ### transmitMessage

Converts an SCCP message to a Message Signal Unit and push it down the protocol stack. The given message is consumed

Parameters:

msg | The message to send
local | True if the message is local initiated

Returns: Link the message was successfully queued to, negative for error

bool managementStatus (Type type, NamedList& params) | ### managementStatus

[virtual]

Receive management information from attached users.

Parameters:

type | The type of management message
params | List of parameters (Affected subsystem [M])

Returns: True if the notification was processed

Reimplemented from SCCP.

int sendMessage (DataBlock& data, const NamedList& params) | ### sendMessage

[virtual]

Send a message Reimplemented from SCCP

Parameters:

data | Data to be transported trough SCCP protocol
params | SCCP parameters

Reimplemented from SCCP.

HandledMSU receivedMSU (const SS7MSU& msu, const SS7Label& label, SS7Layer3* network, int sls) | ### receivedMSU

[virtual]

Process a MSU received from the Layer 3 component

Parameters:

msu | Message data, starting with Service Indicator Octet
label | Routing label of the received MSU
network | Network layer that delivered the MSU
sls | Signalling Link the MSU was received from

Returns: Result of MSU processing

Reimplemented from SS7L3User.

void receivedUPU (SS7PointCode::Type type, const SS7PointCode node, SS7MSU::Services part, unsigned char cause, const SS7Label& label, int sls) | ### receivedUPU

[virtual]

Notification for receiving User Part Unavailable

Parameters:

type | Type of Point Code
node | Node on which the User Part is unavailable
part | User Part (service) reported unavailable
cause | Unavailability cause - Q.704 15.17.5
label | Routing label of the UPU message
sls | Signaling link the UPU was received on

Reimplemented from SS7L3User.

bool control (NamedList& params) | ### control

[virtual]

Reimplemented from SignallingComponent.

int segmentMessage (SS7MsgSCCP* origMsg, const SS7Label& label, bool local) | ### segmentMessage

Message changeover procedure for segmentation purpose

Parameters:

origMsg | The original message
label | MTP3 routing label
local | True if the origMsg is local initiated

Returns: Negative value if the message failed to be sent

inline const bool ITU () | ### ITU

[const]

Helper method to know if we use ITU or ANSI

inline bool ignoreUnknownAddrSignals () | ### ignoreUnknownAddrSignals

[const]

Check if GT digit parser of should ignore unknown digits encoding

Returns: True if unknown digits are ignored

void notify (SS7Layer3* link, int sls) | ### notify

[virtual]

Process a notification generated by the attached network layer

Parameters:

link | Network or linkset that generated the notification
sls | Signalling Link that generated the notification, negative if none

Reimplemented from SS7L3User.

void routeStatusChanged (SS7PointCode::Type type, const SS7PointCode& node, SS7Route::State state) | ### routeStatusChanged

[virtual]

Process route status changed notifications

Parameters:

type | Type of Point Code
node | Destination node witch communication status has changed
state | The new route state

Reimplemented from SS7L3User.

inline unsigned int messagesSend () | ### messagesSend

Obtain the number of messages send by this SCCP instance

Returns: The number of messages send

inline unsigned int messagesReceived () | ### messagesReceived

Obtain the number of messages received by this SCCP instance

Returns: The number of messsages received

inline unsigned int errors () | ### errors

Obtain the number of errors found by this SCCP instance

Returns: The number of errors found

inline unsigned int translations () | ### translations

Obtain the number of GT translations made by this SCCP instance

Returns: The number of translations made

inline const SS7PointCode* getLocalPointCode () | ### getLocalPointCode

[const]

Obtain the local SCCP point code

Returns: Pointer to local point code or 0 if no pointcode was configured

inline SS7PointCode::Type getLocalPointCodeType () | ### getLocalPointCodeType

Obtain local pointcode type

Returns: Local pointcode type

inline int getPackedPointCode () | ### getPackedPointCode

Helper method to obtain the packed pointcode

Returns: Packed pointcode or 0 if local pointcode is not set

inline bool isLayer3Up () | ### isLayer3Up

Helper method to check if attached layer 3 is up

Returns: True if attached layer3 is up

void destroyed () | ### destroyed

[protected virtual]

This method is called to clean up and destroy the object after the reference counter becomes zero

Reimplemented from SS7Layer4.

inline bool extendedMonitoring () | ### extendedMonitoring

[protected]

Helper method to check if this sccp needs extended monitoring

Returns: True if extended monitoring is needed

void timerTick (const Time& when) | ### timerTick

[protected virtual]

Method called periodically to check for timeouts Reimplemented from SignallingComponent

Reimplemented from SignallingComponent.

SS7MsgSccpReassemble::Return reassembleSegment (SS7MsgSCCP* segment, const SS7Label& label, SS7MsgSCCP*& msg) | ### reassembleSegment

[protected]

Reassemble a message segment

Parameters:

segment | The message segment
label | The MTP routing label
msg | Pointer to fill with the SS7MsgSccpReassemble who processed the message

Returns: SS7MsgSccpReassemble::Return enum value

bool isEndpoint () | ### isEndpoint

[protected virtual]

Check if this sccp is an endpoint

Returns: True if this sccp is an endpoint

Reimplemented from SCCP.

int routeLocal (SS7MsgSCCP* msg) | ### routeLocal

[protected]

Route a SCCP Message to other SCCP component.

Parameters:

msg | The sccp message.

Returns: -1 if the message failed to be routed

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.