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