SS7ISUPCall Class Reference

An SS7 ISUP call. More...

#include <yatesig.h>

Inheritance diagram for SS7ISUPCall:
SignallingCall RefObject Mutex GenObject Lockable

List of all members.

Public Types

enum  State {
  Null = 0, Setup = 1, Accepted = 2, Ringing = 3,
  Answered = 4, Releasing = 5, Released = 6
}

Public Member Functions

virtual ~SS7ISUPCall ()
State state () const
const StringcicRange () const
unsigned int id () const
virtual SignallingEventgetEvent (const Time &when)
virtual bool sendEvent (SignallingEvent *event)
void setTerminate (bool gracefully, const char *reason=0)
virtual void * getObject (const String &name) const

Protected Member Functions

 SS7ISUPCall (SS7ISUP *controller, SignallingCircuit *cic, const SS7PointCode &local, const SS7PointCode &remote, bool outgoing, int sls=-1, const char *range=0)
SignallingEventreleaseComplete (bool final, SS7MsgISUP *msg=0, const char *reason=0)
bool replaceCircuit (SignallingCircuit *circuit)
void stopWaitSegment (bool discard)

Friends

class SS7ISUP

Detailed Description

An SS7 ISUP call.

A signalling call using SS7 ISUP protocol


Member Enumeration Documentation

enum State

Call state enumerators


Constructor & Destructor Documentation

virtual ~SS7ISUPCall (  )  [virtual]

Destructor. Complete call release. Releas circuit. Remove itself from controller's list

SS7ISUPCall ( SS7ISUP controller,
SignallingCircuit cic,
const SS7PointCode local,
const SS7PointCode remote,
bool  outgoing,
int  sls = -1,
const char *  range = 0 
) [protected]

Constructor

Parameters:
controller The call controller
cic The reserved circuit
local The local point code used to create the routing label for sent messages
remote The remote point code used to create the routing label for sent messages
outgoing Call direction
sls Optional link for the routing label
range Optional range used to re-allocate a circuit for this call if necessary

Member Function Documentation

const String& cicRange (  )  const [inline]

Get the call's circuit range

Returns:
The call's circuit range
virtual SignallingEvent* getEvent ( const Time when  )  [virtual]

Get an event from this call This method is thread safe

Parameters:
when The current time
Returns:
SignallingEvent pointer or 0 if no events

Implements SignallingCall.

virtual void* getObject ( const String name  )  const [virtual]

Get a pointer to this object or other data

Parameters:
name Object name
Returns:
The requested pointer or 0 if not exists

Reimplemented from GenObject.

unsigned int id (  )  const [inline]

Get the call id (the code of the circuit reserved for this call)

Returns:
The call id
SignallingEvent* releaseComplete ( bool  final,
SS7MsgISUP msg = 0,
const char *  reason = 0 
) [protected]

Release call. Stop timers. Send a RLC (Release Complete) message if it should terminate gracefully Decrease the object's refence count and generate a Release event if not final This method is thread safe

Parameters:
final True if called from destructor
msg Received message with parameters if any
reason Optional release reason
Returns:
SignallingEvent pointer or 0
bool replaceCircuit ( SignallingCircuit circuit  )  [protected]

Replace the circuit reserved for this call. Release the already reserved circuit. Retransmit the initial IAM request on success. On failure set the termination flag and release the new circuit if valid. If false is returned, the call is prepared to return a Release event. This method is thread safe

Parameters:
circuit The new circuit reserved for this call
Returns:
False if the state is greater then Setup, the call is not outgoing or the new circuit is 0
virtual bool sendEvent ( SignallingEvent event  )  [virtual]

Send an event to this call

Parameters:
event The event to send
Returns:
True if the operation succedded

Reimplemented from SignallingCall.

void setTerminate ( bool  gracefully,
const char *  reason = 0 
) [inline]

Set termination flag. Set termination reason if not already set

Parameters:
gracefully True to send RLC on termination, false to destroy the call without notification
reason Termination reason
State state (  )  const [inline]

Get the call state

Returns:
The call state as enumeration
void stopWaitSegment ( bool  discard  )  [protected]

Stop waiting for a SGM (Segmentation) message when another message is received by the controller. This method is thread safe

Parameters:
discard True to discard (destruct) the segment waiting message if any

The documentation for this class was generated from the following file:
Generated on Thu Apr 8 18:22:42 2010 for Yate by  doxygen 1.6.3