Yate
Public Types | Public Member Functions | Protected Member Functions | Friends
SS7SCCP Class Reference

SS7 SCCP implementation. More...

#include <yatesig.h>

Inheritance diagram for SS7SCCP:
SS7Layer4 SCCP Mutex SS7L3User SignallingComponent Lockable SignallingComponent RefObject DebugEnabler RefObject DebugEnabler GenObject GenObject

List of all members.

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 Member Functions

 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)
const bool ITU () const
bool ignoreUnknownAddrSignals () const
virtual void notify (SS7Layer3 *link, int sls)
virtual void routeStatusChanged (SS7PointCode::Type type, const SS7PointCode &node, SS7Route::State state)
unsigned int messagesSend ()
unsigned int messagesReceived ()
unsigned int errors ()
unsigned int translations ()
const SS7PointCodegetLocalPointCode () const
SS7PointCode::Type getLocalPointCodeType ()
int getPackedPointCode ()
bool isLayer3Up ()

Protected Member Functions

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

Friends

class SCCPManagement

Detailed Description

SS7 SCCP implementation.

Implementation of SS7 Signalling Connection Control Part


Constructor & Destructor Documentation

SS7SCCP ( const NamedList config)

Constructor

~SS7SCCP ( )

Destructor


Member Function Documentation

virtual void attach ( SS7Layer3 network) [virtual]

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

Parameters:
networkPointer to network or router to attach

Reimplemented from SS7Layer4.

virtual bool control ( NamedList params) [virtual]

Query or modify component's settings or operational parameters

Parameters:
paramsThe list of parameters to query or change
Returns:
True if the control operation was executed

Reimplemented from SignallingComponent.

virtual void destroyed ( ) [protected, virtual]

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

Reimplemented from SS7Layer4.

unsigned int errors ( ) [inline]

Obtain the number of errors found by this SCCP instance

Returns:
The number of errors found
bool extendedMonitoring ( ) [inline, protected]

Helper method to check if this sccp needs extended monitoring

Returns:
True if extended monitoring is needed
const SS7PointCode* getLocalPointCode ( ) const [inline]

Obtain the local SCCP point code

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

Obtain local pointcode type

Returns:
Local pointcode type
int getPackedPointCode ( ) [inline]

Helper method to obtain the packed pointcode

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

References SS7PointCode::pack().

bool ignoreUnknownAddrSignals ( ) const [inline]

Check if GT digit parser of should ignore unknown digits encoding

Returns:
True if unknown digits are ignored
virtual bool initialize ( const NamedList config) [virtual]

Configure and initialize the Signalling connection control part

Parameters:
configOptional configuration parameters override
Returns:
True if SCCP was initialized properly

Reimplemented from SS7Layer4.

virtual bool isEndpoint ( ) [inline, protected, virtual]

Check if this sccp is an endpoint

Returns:
True if this sccp is an endpoint

Reimplemented from SCCP.

bool isLayer3Up ( ) [inline]

Helper method to check if attached layer 3 is up

Returns:
True if attached layer3 is up
const bool ITU ( ) const [inline]

Helper method to know if we use ITU or ANSI

virtual bool managementStatus ( Type  type,
NamedList params 
) [virtual]

Receive management information from attached users.

Parameters:
typeThe type of management message
paramsList of parameters (Affected subsystem [M])
Returns:
True if the notification was processed

Reimplemented from SCCP.

unsigned int messagesReceived ( ) [inline]

Obtain the number of messages received by this SCCP instance

Returns:
The number of messsages received
unsigned int messagesSend ( ) [inline]

Obtain the number of messages send by this SCCP instance

Returns:
The number of messages send
virtual void notify ( SS7Layer3 link,
int  sls 
) [virtual]

Process a notification generated by the attached network layer

Parameters:
linkNetwork or linkset that generated the notification
slsSignalling Link that generated the notification, negative if none

Reimplemented from SS7L3User.

SS7MsgSccpReassemble::Return reassembleSegment ( SS7MsgSCCP segment,
const SS7Label label,
SS7MsgSCCP *&  msg 
) [protected]

Reassemble a message segment

Parameters:
segmentThe message segment
labelThe MTP routing label
msgPointer to fill with the SS7MsgSccpReassemble who processed the message
Returns:
SS7MsgSccpReassemble::Return enum value
virtual HandledMSU receivedMSU ( const SS7MSU msu,
const SS7Label label,
SS7Layer3 network,
int  sls 
) [virtual]

Process a MSU received from the Layer 3 component

Parameters:
msuMessage data, starting with Service Indicator Octet
labelRouting label of the received MSU
networkNetwork layer that delivered the MSU
slsSignalling Link the MSU was received from
Returns:
Result of MSU processing

Implements SS7L3User.

virtual void receivedUPU ( SS7PointCode::Type  type,
const SS7PointCode  node,
SS7MSU::Services  part,
unsigned char  cause,
const SS7Label label,
int  sls 
) [virtual]

Notification for receiving User Part Unavailable

Parameters:
typeType of Point Code
nodeNode on which the User Part is unavailable
partUser Part (service) reported unavailable
causeUnavailability cause - Q.704 15.17.5
labelRouting label of the UPU message
slsSignaling link the UPU was received on

Reimplemented from SS7L3User.

virtual void routeStatusChanged ( SS7PointCode::Type  type,
const SS7PointCode node,
SS7Route::State  state 
) [virtual]

Process route status changed notifications

Parameters:
typeType of Point Code
nodeDestination node witch communication status has changed
stateThe new route state

Reimplemented from SS7L3User.

int segmentMessage ( SS7MsgSCCP origMsg,
const SS7Label label,
bool  local 
)

Message changeover procedure for segmentation purpose

Parameters:
origMsgThe original message
labelMTP3 routing label
localTrue if the origMsg is local initiated
Returns:
Negative value if the message failed to be sent
virtual int sendMessage ( DataBlock data,
const NamedList params 
) [virtual]

Send a message Reimplemented from SCCP

Parameters:
dataData to be transported trough SCCP protocol
paramsSCCP parameters

Reimplemented from SCCP.

virtual void timerTick ( const Time when) [protected, virtual]

Method called periodically to check for timeouts Reimplemented from SignallingComponent

Reimplemented from SignallingComponent.

unsigned int translations ( ) [inline]

Obtain the number of GT translations made by this SCCP instance

Returns:
The number of translations made
int transmitMessage ( SS7MsgSCCP msg,
bool  local = false 
)

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

Parameters:
msgThe message to send
localTrue if the message is local initiated
Returns:
Link the message was successfully queued to, negative for error

The documentation for this class was generated from the following file: