Changed name from Call to CallControl to make place for Call and Event.

git-svn-id: http://yate.null.ro/svn/yate/trunk@801 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2006-05-21 18:50:15 +00:00
parent 0b94ad411c
commit 85cc01cdfb
2 changed files with 90 additions and 8 deletions

View File

@ -156,14 +156,23 @@ Generic interface for transporting signalling over SCTP/IP
- generates network status notifications
Inherited by: SS7M2PA, SS7M2UA, SS7M3UA, SS7SUA, ISDNIUA
SignallingCall
--------------
SignallingCallControl
---------------------
This class provides an uniform interface to telephony call control
- receive requests for call setup, teardown, transfer, etc.
- acknowledge or reject requests
- report call status and events
Inherited by: SS7ISUP, SS7TUP, ISDNQ931
SignallingCall
--------------
Each instance of this class represents one phone call
SignallingEvent
---------------
These object are used to transport event notifications and all related
information between the library and the user application.
The Implementations of YSS7
===========================
@ -193,7 +202,7 @@ SS7ISUP, SS7TUP
-------------------------
These 2 classes implement SS7 telephony call control according to different
subprotocols used around the world.
Implement: SS7Layer4, SignallingCall
Implement: SS7Layer4, SignallingCallControl
SS7SCCP
-------
@ -234,7 +243,7 @@ Implements: ISDNLayer2, SignallingReceiver
ISDNQ931
--------
Provides an implementation of ITU Q.931 telephony call control on top of Q.921
Implements: ISDNLayer3, SignallingCall
Implements: ISDNLayer3, SignallingCallControl
ISDNIUA
-------

View File

@ -209,14 +209,69 @@ private:
bool m_listChanged;
};
/**
* Interface of protocol independent signalling element
* @short Abstract signalling information element
*/
class YSS7_API SignallingElement : public NamedString
{
};
/**
* Interface of protocol independent signalling message
* @short Abstract signalling message
*/
class YSS7_API SignallingMessage : public RefObject
{
public:
/**
* Append an information element to this message
* @param element Information element to add
* @return True if the IE was added or replaced, false if it was invalid
*/
virtual bool append(const SignallingElement& element) = 0;
/**
* Appending operator for signalling elements
*/
inline SignallingMessage& operator+=(const SignallingElement& element)
{ append(element); return *this; }
/**
* Stream style appending operator for signalling elements
*/
inline SignallingMessage& operator<<(const SignallingElement& element)
{ append(element); return *this; }
};
/**
* Interface of protocol independent signalling for phone calls
* @short Abstract phone call signalling
*/
class YSS7_API SignallingCall
class YSS7_API SignallingCallControl
{
};
/**
* Interface of protocol independent phone call
* @short Abstract single phone call
*/
class YSS7_API SignallingCall : public RefObject
{
};
/**
* An object holding a signalling event and related references
* @short A single signalling related event
*/
class YSS7_API SignallingEvent
{
protected:
SignallingMessage* m_message;
SignallingCall* m_call;
};
/**
* An interface to an abstraction of a Layer 1 (hardware HDLC) interface
* @short Abstract digital signalling interface (hardware access)
@ -1176,11 +1231,29 @@ protected:
ObjList m_links;
};
/**
* Decoded ISDN User Part message
* @short ISUP signalling message
*/
class YSS7_API ISUPMessage : public SignallingMessage
{
public:
enum Type {
IAM = 0x01, // Initial Address Message
SAM = 0x02, // Subsequent Address Message
ACM = 0x06, // Address Complete Message
CON = 0x07, // Connect Message
ANM = 0x09, // Answer Message
REL = 0x0c, // Release Request
RLC = 0x10, // Release Complete
};
};
/**
* Implementation of SS7 ISDN User Part
* @short SS7 ISUP implementation
*/
class YSS7_API SS7ISUP : public SignallingCall, public SS7Layer4
class YSS7_API SS7ISUP : public SignallingCallControl, public SS7Layer4
{
};
@ -1188,7 +1261,7 @@ class YSS7_API SS7ISUP : public SignallingCall, public SS7Layer4
* Implementation of SS7 Telephone User Part
* @short SS7 TUP implementation
*/
class YSS7_API SS7TUP : public SignallingCall, public SS7Layer4
class YSS7_API SS7TUP : public SignallingCallControl, public SS7Layer4
{
};
@ -1285,7 +1358,7 @@ class YSS7_API ISDNIUA : public ISDNLayer2, public SIGTRAN
* Q.931 ISDN Layer 3 implementation on top of a Layer 2
* @short ISDN Q.931 implementation on top of Q.921
*/
class YSS7_API ISDNQ931 : public SignallingCall, public ISDNLayer3
class YSS7_API ISDNQ931 : public SignallingCallControl, public ISDNLayer3
{
/**
* Attach an ISDN Q.921 transport