|
|
Implementation of SS7 ISDN User Part
SS7ISUP (const NamedList& params)
| SS7ISUP |
Constructor
Parameters:
params | Call controller's parameters |
~SS7ISUP ()
| ~SS7ISUP |
[virtual]
Destructor
bool initialize (const NamedList* config)
| initialize |
[virtual]
Configure and initialize the call controller and user part
Parameters:
config | Optional configuration parameters override |
Returns: True if ISUP was initialized properly
Reimplemented from SignallingComponent.
unsigned int cicLen ()
| cicLen |
[const]
Get the length of the Circuit Identification Code for this user part
Returns: Length of the CIC field in octets
const String& format ()
| format |
[const]
Get the default data format
Returns: The default data format
bool setPointCode (SS7PointCode* pc, bool def)
| setPointCode |
Append a point code to the list of point codes serviced by this controller if not already there. Set default point code if requested. If the list is empty, the default point code is set to the first point code added
Parameters:
pc | The point code to append |
def | True if this point code is the default for outgoing calls |
Returns: False if the point code is invalid for this call controller type. If true is returned, don't reuse the pointer
unsigned int setPointCode (const NamedList& params)
| setPointCode |
Append all point codes from a parameter list, use "pointcode" and "defaultpointcode" parameters
Parameters:
params | List of parameters to take point codes from |
Returns: Count of point codes added
SS7PointCode* hasPointCode (const SS7PointCode& pc)
| hasPointCode |
Check if the given point code is serviced by this controller
Parameters:
pc | The point code to check |
Returns: SS7PointCode pointer or 0 if not found
inline void setLabel (SS7Label& label, const SS7PointCode& opc, const SS7PointCode& dpc,
unsigned char sls = 255)
| setLabel |
Set a routing label to be used for outgoing messages
Parameters:
label | Routing label to set |
opc | Originating point code |
dpc | Destination point code |
sls | Signalling Link Selection |
inline void setDebug (bool printMsg, bool extendedDebug)
| setDebug |
Set debug data of this call controller
Parameters:
printMsg | Enable/disable message printing on output |
extendedDebug | Enable/disable hex data dump if print messages is enabled |
SS7MSU* createMSU (SS7MsgISUP::Type type, unsigned char ssf,
const SS7Label& label, unsigned int cic, const NamedList* params = 0)
| createMSU |
[const virtual]
Create a new MSU populated with type, routing label and space for fixed part
Parameters:
type | Type of ISUP message |
ssf | Subservice Field |
label | Routing label for the new MSU |
cic | Circuit Identification Code |
params | Optional parameter list |
Returns: Pointer to the new MSU or NULL if an error occured
SignallingCall* call (SignallingMessage* msg, String& reason)
| call |
[virtual]
Create an outgoing call. Send a NewCall event with the given msg parameter This method is thread safe
Parameters:
msg | Call parameters |
reason | Failure reason if any |
Returns: Referenced SignallingCall pointer on success or 0 on failure
Reimplemented from SignallingCallControl.
int transmitMessage (SS7MsgISUP* msg, const SS7Label& label, bool recvLbl, int sls = -1)
| transmitMessage |
Converts an ISUP message to a Message Signal Unit and push it down the protocol stack. The given message is consumed
Parameters:
msg | The message to send |
label | The routing label for the message |
recvLbl | True if the given label is from a received message. If true, a new routing label will be created from the received one |
sls | Signalling Link to use for the new routing label. Ignored if recvLbl is false |
Returns: Link the message was successfully queued to, negative for error
void cleanup (const char* reason = "offline")
| cleanup |
[virtual]
Cleanup calls This method is thread safe
Parameters:
reason | Cleanup reason |
Reimplemented from SignallingCallControl.
bool decodeMessage (NamedList& msg, SS7MsgISUP::Type msgType, SS7PointCode::Type pcType,
const unsigned char* paramPtr, unsigned int paramLen)
| decodeMessage |
Decode an ISUP message buffer to a list of parameters
Parameters:
msg | Destination list of parameters |
msgType | The message type |
pcType | The point code type (message version) |
paramPtr | Pointer to the Parameter area (just after the message type) |
paramLen | Length of the Parameter area |
Returns: True if the mesage was succesfully parsed
bool encodeMessage (DataBlock& buf, SS7MsgISUP::Type msgType, SS7PointCode::Type pcType,
const NamedList& params, unsigned int* cic = 0)
| encodeMessage |
Encode an ISUP list of parameters to a buffer. The input list may contain a 'message-prefix' parameter to override this controller's prefix
Parameters:
buf | Destination buffer |
msgType | The message type |
pcType | The point code type (message version) |
params | Message list of parameters |
cic | Optional cic to be added before mesage |
Returns: True if the mesage was succesfully encoded
void destroyed ()
| destroyed |
[protected virtual]
Remove all links with other layers. Disposes the memory
Reimplemented from SignallingComponent.
void timerTick (const Time& when)
| timerTick |
[protected virtual]
Send CGU if not already done. Check timeouts
Parameters:
when | Time to use as computing base for timeouts |
Reimplemented from SignallingComponent.
void notify (SS7Layer3* link, int sls)
| notify |
[protected 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.
SS7MSU* buildMSU (SS7MsgISUP::Type type, unsigned char sio,
const SS7Label& label, unsigned int cic, const NamedList* params)
| buildMSU |
[protected const]
Create a new MSU populated with type, routing label and space for fixed part
Parameters:
type | Type of ISUP message |
sio | Service Information Octet |
label | Routing label for the new MSU |
cic | Circuit Identification Code |
params | Parameter list |
Returns: Pointer to the new MSU or NULL if an error occured
bool receivedMSU (const SS7MSU& msu, const SS7Label& label, SS7Layer3* network, int sls)
| receivedMSU |
[protected virtual]
Process a MSU received from a 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: True if the MSU was processed
Reimplemented from SS7L3User.
bool processMSU (SS7MsgISUP::Type type, unsigned int cic,
const unsigned char* paramPtr, unsigned int paramLen,
const SS7Label& label, SS7Layer3* network, int sls)
| processMSU |
[protected virtual]
Process a MSU received from a Layer 3 component
Parameters:
type | Type of ISUP message |
cic | Circuit Identification Code |
paramPtr | Pointer to the Parameter area |
paramLen | Length of the Parameter area |
label | Routing label of the received MSU |
network | Network layer that delivered the MSU |
sls | Signalling Link the MSU was received from |
Returns: True if the MSU was processed
SignallingEvent* processCircuitEvent (SignallingCircuitEvent*& event,
SignallingCall* call = 0)
| processCircuitEvent |
[protected virtual]
Process an event received from a non-reserved circuit
Parameters:
event | The event, will be consumed and zeroed |
call | Optional signalling call whose circuit generated the event |
Returns: Signalling event pointer or 0
Reimplemented from SignallingCallControl.
unsigned int m_cicLen | m_cicLen |
[protected]
Generated by: paulc on bussard on Wed Oct 21 01:57:30 2009, using kdoc 2.0a54. |