OpenSS7 SS7 for the Common Man |
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |
||||||||||||||||||||||||||
Home | Overview | Status | News | Documentation | Resources | About | |||||||||||||||||||||
File /code/strss7/daemons/isupmon/isupmon.hh#ifndef __ISUPMON_HH__ #define __ISUPMON_HH__ #ident "@(#) $Id: isupmon.hh,v 0.8 2003/07/24 20:38:38 brian Exp $" #pragma interface class UnixError; class Pollable; class STreamBuffer; class SignallingTerminal; class Message; class Collector; class Circuit; class Call; class UnixError { public: UnixError(const char *function, const char *filename, const int lineno, int error); }; class Pollable { private: static Pollable *list; // master list Pollable *next; // next pointer Pollable **prev; // previous next pointer static struct pollfd pfd[MAXPOLL]; static int npfd; static void poll_recalc(void); protected: struct pollfd *pfdp; virtual int poll_open(void) = 0; // pure virtual virtual void poll_event(void) = 0; // pure virtual virtual void poll_close(int) = 0; // pure virtual public: virtual void ~Pollable(const char *fname); Pollable(void); void poll_loop(int wait); }; #define BUFSIZE 384 class StreamBuffer { protected: SignallingTerminal & sigTerm; // signalling terminal struct strbuf ctrl; // ctrl part for getmsg and putmsg struct strbuf data; // data part for getmsg and putmsg char cbuf[BUFSIZE]; // ctrl buffer char dbuf[BUFSIZE]; // data buffer public: virtual void ~StreamBuffer(void); StreamBuffer(SignallingTerminal & st); }; class RxStreamBuffer:public StreamBuffer { public: RxStreamBuffer(SignallingTerminal & st); virtual void ~RxStreamBuffer(void); }; class TxStreamBuffer:public StreamBuffer { public: TxStreamBuffer(SignallingTerminal & st); virtual void ~TxStreamBuffer(void); }; class SignallingTerminal:public Pollable { private: static SignallingTerminal *list; // master list SignallingTerminal *next; // next signalling terminal SignallingTerminal **prev; // prev signalling terminal ulong state; // signalling terminal state ulong style; // ppa style ulong max_sdu; // max SDU size ulong min_sdu; // min SDU size ulong hdr_len; // header length struct strbuf ctrl; // ctrl part for getmsg and putmsg struct strbuf data; // data part for getmsg and putmsg char cbuf[BUFSIZE]; // ctrl buffer char dbuf[BUFSIZE]; // data buffer virtual int poll_open(void); // overloaded open function virtual void poll_event(void); // overloaded event handler virtual void poll_close(void); // overloaded close function Collector *collector; // collector for this terminal inline void sdt_data(void); // process data public: virtual void ~SignallingTerminal(void); SignallingTerminal(const char *devname, ulong address, Collector * c); }; typedef struct isup_var { uchar *ptr; // pointer to parameter contents size_t len; // lengtho of parameter contents uint32_t val; // up to first 4 bytes of parameter contents } isup_var_t; typedef struct { ParameterEOP eop; // 0x00 - 0b00000000 - End of optional parameters ParameterCLRF clrf; // 0x01 - 0b00000001 - Call reference @ ParameterTMR tmr; // 0x02 - 0b00000010 - Transmission medium requirement ParameterATP atp; // 0x03 - 0b00000011 - Access transport ParameterCDPN cdpn; // 0x04 - 0b00000100 - Called party number ParameterSUBN subn; // 0x05 - 0b00000101 - Subsequent number ParameterNCI nci; // 0x06 - 0b00000110 - Nature of connection indicators ParameterFCI fci; // 0x07 - 0b00000111 - Forward call indicators ParameterOFCI ofci; // 0x08 - 0b00001000 - Optional forward call indicators ParameterCPC cpc; // 0x09 - 0b00001001 - Calling party's category ParameterCGPN cgpn; // 0x0a - 0b00001010 - Calling party number ParameterRDGN rdgn; // 0x0b - 0b00001011 - Redirecting number ParameterRDNN rdnn; // 0x0c - 0b00001100 - Redirection number ParameterCONR conr; // 0x0d - 0b00001101 - Connection request ParameterINRI inri; // 0x0e - 0b00001110 - Information request indicators ParameterINFI infi; // 0x0f - 0b00001111 - Information indicators @ ParameterCOTI coti; // 0x10 - 0b00010000 - Continuity indicators ParameterBCI bci; // 0x11 - 0b00010001 - Backward call indicators ParameterCAUS caus; // 0x12 - 0b00010010 - Cause indicators ParameterRDI rdi; // 0x13 - 0b00010011 - Redirection information ParameterCGI cgi; // 0x15 - 0b00010101 - Circuit group supervision msg type ind ParameterRS rs; // 0x16 - 0b00010110 - Range and status ParameterCMI cmi; // 0x17 - 0b00010111 - Call modification indicators (Blue Book) ParameterFACI faci; // 0x18 - 0b00011000 - Facility indicator ParameterFAII faii; // 0x19 - 0b00011001 - Facility information indicators (Bcore) ParameterCUGI cugi; // 0x1a - 0b00011010 - Closed user group interlock code ParameterINDEX index; // 0x1b - 0b00011011 - Index (Bellcore) ParameterUSI usi; // 0x1d - 0b00011101 - User service information ParameterSPC spc; // 0x1e - 0b00011110 - Signalling point code @ (Bellcore) ParameterUUI uui; // 0x20 - 0b00100000 - User to user information ParameterCONN conn; // 0x21 - 0b00100001 - Connected number ParameterSRIS sris; // 0x22 - 0b00100010 - Suspend/resume indicators ParameterTNS ins; // 0x23 - 0b00100011 - Transit network selection @ ParameterEVNT evnt; // 0x24 - 0b00100100 - Event information ParameterCSI csi; // 0x26 - 0b00100110 - Circuit state indicator @ ParameterACL acl; // 0x27 - 0b00100111 - Automatic congestion level ParameterOCDN ocdn; // 0x28 - 0b00101000 - Original called number ParameterOBCI ocbi; // 0x29 - 0b00101001 - Optional backward call indicators ParameterUUIND uuind; // 0x2a - 0b00101010 - User to user indicators ParameterISPC ispc; // 0x2b - 0b00101011 - Origination ISC point code ParameterGNOT gnot; // 0x2c - 0b00101100 - Generic notification ParameterCHI cmi; // 0x2d - 0b00101101 - Call history information ParameterADI adi; // 0x2e - 0b00101110 - Access delivery information ParameterNSF nsf; // 0x2f - 0b00101111 - Network specific facilities @ ParameterUSIP usip; // 0x30 - 0b00110000 - User service information prime ParameterPROP prop; // 0x31 - 0b00110001 - Propagation delay counter ParameterROPS rops; // 0x32 - 0b00110010 - Remote operations @ ParameterSA sa; // 0x33 - 0b00110011 - Service activation @ ParameterUTI uti; // 0x34 - 0b00110100 - User teleservice information ParameterTMU tmu; // 0x35 - 0b00110101 - Transmission medium used ParameterCDI cdi; // 0x36 - 0b00110110 - Call diversion information ParameterECI eci; // 0x37 - 0b00110111 - Echo control information ParameterMCI mci; // 0x38 - 0b00111000 - Message compatibility information ParameterPCI pci; // 0x39 - 0b00111001 - Parameter compatibility information ParameterMLPP mlpp; // 0x3a - 0b00111010 - MLPP preference ParameterMCIQ mciq; // 0x3b - 0b00111011 - MCID request indicator ParameterMCIR mcir; // 0x3c - 0b00111100 - MCID response indicator ParameterHOPC hopc; // 0x3d - 0b00111101 - Hop counter (reserved) ParameterTMRP tmrp; // 0x3e - 0b00111110 - Transmission medium requirement prime ParameterLN ln; // 0x3f - 0b00111111 - Location number ParameterRDNR rdnr; // 0x40 - 0b01000000 - Redirection number restriction ParameterFREEP freep; // 0x41 - 0b01000001 - Freephone indicators (reserved) ParameterGREF gref; // 0x42 - 0b01000010 - Generic reference (reserved) ParameterGNUM gnum; // 0xc0 - 0b11000000 - Generic number (address Bellcore) ParameterGDIG gdig; // 0xc1 - 0b11000001 - Generic digits @ ParameterEGRESS egress; // 0xc3 - 0b11000011 - Egress (ANSI) ParameterJUR jur; // 0xc4 - 0b11000100 - Jurisdiction (ANSI) ParameterCIDC cidc; // 0xc5 - 0b11000101 - Carrier identification code (ANSI) ParameterBGROUP bgroup; // 0xc6 - 0b11000110 - Business group (ANSI) ParameterNOTI noti; // 0xe1 - 0b11100001 - Notification indicator (ANSI) ParameterSVACT svact; // 0xe2 - 0b11100010 - Service activation (ANSI) ParameterTRNSRQ trnsq; // 0xe3 - 0b11100011 - Transaction request (ANSI,Bellcore) ParameterSPR spr; // 0xe4 - 0b11100100 - Special processing request (Bellcore) ParameterCGCI cgci; // 0xe5 - 0b11100101 - Cc't group char ind (ANSI,Bellcore) ParameterCVRI cvri; // 0xe6 - 0b11100110 - Cc't validation resp ind (ANSI,Bellcore) ParameterOTGN otgn; // 0xe7 - 0b11100111 - Outgoing trunk group numb (ANSI,Bellcore) ParameterCIN cin; // 0xe8 - 0b11101000 - Circuit ident name (ANSI,Bellcore) ParameterCLLI clli; // 0xe9 - 0b11101001 - Common language loc id (ANSI,Bellcore) ParameterOLI oli; // 0xea - 0b11101010 - Originating line info (ANSI,Bellcore) ParameterCHGN chgn; // 0xeb - 0b11101011 - Charge number (ANSI,Bellcore) ParameterSVCD svcd; // 0xec - 0b11101100 - Service code indicator (ANSI,Bellcore) ParameterCSEL csel; // 0xee - 0b11101110 - Carrier selection info (ANSI,Bellcore) ParameterORI ori; // 0xf3 - 0b11110011 - Outgoing route identification (Spain) ParameterIRI iri; // 0xf4 - 0b11110100 - Incoming route identification (Spain) ParameterRATE rate; // 0xf8 - 0b11111000 - Rate (Spain) ParameterIIC iic; // 0xf9 - 0b11111001 - Identifier of incoming circuit (Spain) ParameterTOI toi; // 0xfd - 0b11111101 - Trunk offering information (Singapore) ParameterTON ton; // 0xfd - 0b11111101 - Type of notification (Spain) ParameterCRI cri; // 0xfe - 0b11111110 - Charge rate information (Singapore) ParameterICCI icci; // 0xff - 0b11111111 - Call charge information (Singapore) } isup_opt_t; class RoutingLabel { private: friend class Message; struct timeval timestamp; ulong si; // service indicator ulong mp; // message priority ulong ni; // network indicator ulong dpc; // destination point code ulong opc; // originating point code ulong sls; // signalling link selection ulong cic; // circuit identification code ulong mt; // message type public: uint pvar; // protocol variant uchar *p; // buffer position uchar *e; // buffer end RoutingLabel(Collector & cl, StreamBuffer * buf); virtual void ~RoutingLabel(void); }; class Message { public: enum MessageType { ISUP_MT_IAM = 1UL, // 0x01 - 0b00000001 - Initial address ISUP_MT_SAM = 2UL, // 0x02 - 0b00000010 - Subsequent address ISUP_MT_INR = 3UL, // 0x03 - 0b00000011 - Information request ISUP_MT_INF = 4UL, // 0x04 - 0b00000100 - Information ISUP_MT_COT = 5UL, // 0x05 - 0b00000101 - Continuity ISUP_MT_ACM = 6UL, // 0x06 - 0b00000110 - Address complete ISUP_MT_CON = 7UL, // 0x07 - 0b00000111 - Connect (new ANSI) ISUP_MT_FOT = 8UL, // 0x08 - 0b00001000 - Forward transfer ISUP_MT_ANM = 9UL, // 0x09 - 0b00001001 - Answer ISUP_MT_REL = 12UL, // 0x0c - 0b00001100 - Release ISUP_MT_SUS = 13UL, // 0x0d - 0b00001101 - Suspend ISUP_MT_RES = 14UL, // 0x0e - 0b00001110 - Resume ISUP_MT_RLC = 16UL, // 0x10 - 0b00010000 - Release complete ISUP_MT_CCR = 17UL, // 0x11 - 0b00010001 - Continuity check request ISUP_MT_RSC = 18UL, // 0x12 - 0b00010010 - Reset circuit ISUP_MT_BLO = 19UL, // 0x13 - 0b00010011 - Blocking ISUP_MT_UBL = 20UL, // 0x14 - 0b00010100 - Unblcoking ISUP_MT_BLA = 21UL, // 0x15 - 0b00010101 - Blocking acknowledgement ISUP_MT_UBA = 22UL, // 0x16 - 0b00010110 - Unblocking acknowledgement ISUP_MT_GRS = 23UL, // 0x17 - 0b00010111 - Circuit group reset ISUP_MT_CGB = 24UL, // 0x18 - 0b00011000 - Circuit group blocking ISUP_MT_CGU = 25UL, // 0x19 - 0b00011001 - Circuit group unblocking ISUP_MT_CGBA = 26UL, // 0x1a - 0b00011010 - Circuit group blocking acknowledgement ISUP_MT_CGUA = 27UL, // 0x1b - 0b00011011 - Circuit group unblocking acknowledgement ISUP_MT_CMR = 28UL, // 0x1c - 0b00011100 - Call Modification Request (new ANSI) ISUP_MT_CMC = 29UL, // 0x1d - 0b00011101 - Call Modification Completed (new ANSI) ISUP_MT_CMRJ = 30UL, // 0x1e - 0b00011110 - Call Modification Reject (new ANSI) ISUP_MT_FAR = 31UL, // 0x1f - 0b00011111 - Facility request ISUP_MT_FAA = 32UL, // 0x20 - 0b00100000 - Facility accepted ISUP_MT_FRJ = 33UL, // 0x21 - 0b00100001 - Facility reject ISUP_MT_FAD = 34UL, // 0x22 - 0b00100010 - Facility Deactivated (old Bellcore only) ISUP_MT_FAI = 35UL, // 0x23 - 0b00100011 - Facility Information (old Bellcore only) ISUP_MT_LPA = 36UL, // 0x24 - 0b00100100 - Loop back acknowledgement ISUP_MT_DRS = 39UL, // 0x27 - 0b00100111 - Delayed release (new ANSI) ISUP_MT_PAM = 40UL, // 0x28 - 0b00101000 - Pass along ISUP_MT_GRA = 41UL, // 0x29 - 0b00101001 - Circuit group reset acknowledgement ISUP_MT_CQM = 42UL, // 0x2a - 0b00101010 - Circuit group query ISUP_MT_CQR = 43UL, // 0x2b - 0b00101011 - Circuit group query response ISUP_MT_CPG = 44UL, // 0x2c - 0b00101100 - Call progress ISUP_MT_USR = 45UL, // 0x2d - 0b00101101 - User-to-user information ISUP_MT_UCIC = 46UL, // 0x2e - 0b00101110 - Unequipped circuit identification code ISUP_MT_CFN = 47UL, // 0x2f - 0b00101111 - Confusion ISUP_MT_OLM = 48UL, // 0x30 - 0b00110000 - Overload ISUP_MT_CRG = 49UL, // 0x31 - 0b00110001 - Charge information ISUP_MT_NRM = 50UL, // 0x32 - 0b00110010 - Network resource management ISUP_MT_FAC = 51UL, // 0x33 - 0b00110011 - Facility ISUP_MT_UPT = 52UL, // 0x34 - 0b00110100 - User part test ISUP_MT_UPA = 53UL, // 0x35 - 0b00110101 - User part available ISUP_MT_IDR = 54UL, // 0x36 - 0b00110110 - Identification request ISUP_MT_IRS = 55UL, // 0x37 - 0b00110111 - Identification response ISUP_MT_SGM = 56UL, // 0x38 - 0b00111000 - Segmentation ISUP_MT_CRA = 233UL, // 0xe9 - 0b11101001 - Circuit Reservation Ack (ANSI 2000) ISUP_MT_CRM = 234UL, // 0xea - 0b11101010 - Circuit Reservation (ANSI 2000) ISUP_MT_CVR = 235UL, // 0xeb - 0b11101011 - Circuit Validation Response (ANSI 2000) ISUP_MT_CVT = 236UL, // 0xec - 0b11101100 - Circuit Validation Test (ANSI 2000) ISUP_MT_EXM = 237UL, // 0xed - 0b11101101 - Exit (old Bellcore/ANSI 2000) ISUP_MT_NON = 248UL, // 0xf8 - 0b11111000 - National Notification (Spain) ISUP_MT_LLM = 252UL, // 0xfc - 0b11111100 - National Malicious Call (Spain) ISUP_MT_CAK = 253UL, // 0xfd - 0b11111101 - Charge Acknowledgement (Singapore) ISUP_MT_TCM = 254UL, // 0xfe - 0b11111110 - Tariff Charge (Singapore) ISUP_MT_MCP = 255UL, // 0xff - 0b11111111 - Malicious Call Print (Singapore) }; enum ParameterType { ISUP_PT_EOP = 0UL, // 0x00 - 0b00000000 - End of optional parameters ISUP_PT_CLRF = 1UL, // 0x01 - 0b00000001 - Call reference @ ISUP_PT_TMR = 2UL, // 0x02 - 0b00000010 - Transmission medium requirement ISUP_PT_ATP = 3UL, // 0x03 - 0b00000011 - Access transport ISUP_PT_CDPN = 4UL, // 0x04 - 0b00000100 - Called party number ISUP_PT_SUBN = 5UL, // 0x05 - 0b00000101 - Subsequent number ISUP_PT_NCI = 6UL, // 0x06 - 0b00000110 - Nature of connection indicators ISUP_PT_FCI = 7UL, // 0x07 - 0b00000111 - Forward call indicators ISUP_PT_OFCI = 8UL, // 0x08 - 0b00001000 - Optional forward call indicators ISUP_PT_CPC = 9UL, // 0x09 - 0b00001001 - Calling party's category ISUP_PT_CGPN = 10UL, // 0x0a - 0b00001010 - Calling party number ISUP_PT_RDGN = 11UL, // 0x0b - 0b00001011 - Redirecting number ISUP_PT_RDNN = 12UL, // 0x0c - 0b00001100 - Redirection number ISUP_PT_CONR = 13UL, // 0x0d - 0b00001101 - Connection request ISUP_PT_INRI = 14UL, // 0x0e - 0b00001110 - Information request indicators ISUP_PT_INFI = 15UL, // 0x0f - 0b00001111 - Information indicators @ ISUP_PT_COTI = 16UL, // 0x10 - 0b00010000 - Continuity indicators ISUP_PT_BCI = 17UL, // 0x11 - 0b00010001 - Backward call indicators ISUP_PT_CAUS = 18UL, // 0x12 - 0b00010010 - Cause indicators ISUP_PT_RDI = 19UL, // 0x13 - 0b00010011 - Redirection information ISUP_PT_CGI = 21UL, // 0x15 - 0b00010101 - Circuit group supervision msg type ind ISUP_PT_RS = 22UL, // 0x16 - 0b00010110 - Range and status ISUP_PT_CMI = 23UL, // 0x17 - 0b00010111 - Call modification indicators (Blue Book) ISUP_PT_FACI = 24UL, // 0x18 - 0b00011000 - Facility indicator ISUP_PT_FAII = 25UL, // 0x19 - 0b00011001 - Facility information indicators (Bcore) ISUP_PT_CUGI = 26UL, // 0x1a - 0b00011010 - Closed user group interlock code ISUP_PT_INDEX = 27UL, // 0x1b - 0b00011011 - Index (Bellcore) ISUP_PT_USI = 29UL, // 0x1d - 0b00011101 - User service information ISUP_PT_SPC = 30UL, // 0x1e - 0b00011110 - Signalling point code @ (Bellcore) ISUP_PT_UUI = 32UL, // 0x20 - 0b00100000 - User to user information ISUP_PT_CONN = 33UL, // 0x21 - 0b00100001 - Connected number ISUP_PT_SRIS = 34UL, // 0x22 - 0b00100010 - Suspend/resume indicators ISUP_PT_TNS = 35UL, // 0x23 - 0b00100011 - Transit network selection @ ISUP_PT_EVNT = 36UL, // 0x24 - 0b00100100 - Event information ISUP_PT_CSI = 38UL, // 0x26 - 0b00100110 - Circuit state indicator @ ISUP_PT_ACL = 39UL, // 0x27 - 0b00100111 - Automatic congestion level ISUP_PT_OCDN = 40UL, // 0x28 - 0b00101000 - Original called number ISUP_PT_OBCI = 41UL, // 0x29 - 0b00101001 - Optional backward call indicators ISUP_PT_UUIND = 42UL, // 0x2a - 0b00101010 - User to user indicators ISUP_PT_ISPC = 43UL, // 0x2b - 0b00101011 - Origination ISC point code ISUP_PT_GNOT = 44UL, // 0x2c - 0b00101100 - Generic notification ISUP_PT_CHI = 45UL, // 0x2d - 0b00101101 - Call history information ISUP_PT_ADI = 46UL, // 0x2e - 0b00101110 - Access delivery information ISUP_PT_NSF = 47UL, // 0x2f - 0b00101111 - Network specific facilities @ ISUP_PT_USIP = 48UL, // 0x30 - 0b00110000 - User service information prime ISUP_PT_PROP = 49UL, // 0x31 - 0b00110001 - Propagation delay counter ISUP_PT_ROPS = 50UL, // 0x32 - 0b00110010 - Remote operations @ ISUP_PT_SA = 51UL, // 0x33 - 0b00110011 - Service activation @ ISUP_PT_UTI = 52UL, // 0x34 - 0b00110100 - User teleservice information ISUP_PT_TMU = 53UL, // 0x35 - 0b00110101 - Transmission medium used ISUP_PT_CDI = 54UL, // 0x36 - 0b00110110 - Call diversion information ISUP_PT_ECI = 55UL, // 0x37 - 0b00110111 - Echo control information ISUP_PT_MCI = 56UL, // 0x38 - 0b00111000 - Message compatibility information ISUP_PT_PCI = 57UL, // 0x39 - 0b00111001 - Parameter compatibility information ISUP_PT_MLPP = 58UL, // 0x3a - 0b00111010 - MLPP preference (Precedence) ISUP_PT_MCIQ = 59UL, // 0x3b - 0b00111011 - MCID request indicator ISUP_PT_MCIR = 60UL, // 0x3c - 0b00111100 - MCID response indicator ISUP_PT_HOPC = 61UL, // 0x3d - 0b00111101 - Hop counter (reserved) ISUP_PT_TMRP = 62UL, // 0x3e - 0b00111110 - Transmission medium requirement prime ISUP_PT_LN = 63UL, // 0x3f - 0b00111111 - Location number ISUP_PT_RDNR = 64UL, // 0x40 - 0b01000000 - Redirection number restriction ISUP_PT_FREEP = 65UL, // 0x41 - 0b01000001 - Freephone indicators (reserved) ISUP_PT_GREF = 66UL, // 0x42 - 0b01000010 - Generic reference (reserved) ISUP_PT_XXX = XXUL, // 0x?? - 0b01001110 - Redirect capability (ANSI 2000) ISUP_PT_XXX = XXUL, // 0x?? - 0b01011011 - Network management controls (ANSI 2000) ISUP_PT_XXX = XXUL, // 0x?? - 0b01110111 - Redirect counter (ANSI 2000) ISUP_PT_XXX = XXUL, // 0x?? - 0b01111011 - Pivot capability (ANSI 2000) ISUP_PT_XXX = XXUL, // 0x?? - 0b01111100 - Pivot routing indicator (ANSI 2000) ISUP_PT_XXX = XXUL, // 0x?? - 0b10000001 - Pivot status (ANSI 2000) ISUP_PT_GNUM = 192UL, // 0xc0 - 0b11000000 - Generic number (address Bellcore) ISUP_PT_GDIG = 193UL, // 0xc1 - 0b11000001 - Generic digits @ ISUP_PT_EGRESS = 195UL, // 0xc3 - 0b11000011 - Egress (ANSI) ISUP_PT_JUR = 196UL, // 0xc4 - 0b11000100 - Jurisdiction (ANSI) ISUP_PT_CIDC = 197UL, // 0xc5 - 0b11000101 - Carrier identification code (ANSI) ISUP_PT_BGROUP = 198UL, // 0xc6 - 0b11000110 - Business group (ANSI) ISUP_PT_NOTI = 225UL, // 0xe1 - 0b11100001 - Notification indicator (ANSI) ISUP_PT_SVACT = 226UL, // 0xe2 - 0b11100010 - Service activation (ANSI) ISUP_PT_TRNSRQ = 227UL, // 0xe3 - 0b11100011 - Transaction request (ANSI,Bellcore) ISUP_PT_SPR = 228UL, // 0xe4 - 0b11100100 - Special processing request (Bellcore) ISUP_PT_CGCI = 229UL, // 0xe5 - 0b11100101 - Cc't group char ind (ANSI,Bellcore) ISUP_PT_CVRI = 230UL, // 0xe6 - 0b11100110 - Cc't validation resp ind (ANSI,Bellcore) ISUP_PT_OTGN = 231UL, // 0xe7 - 0b11100111 - Outgoing trunk group numb (ANSI,Bellcore) ISUP_PT_CIN = 232UL, // 0xe8 - 0b11101000 - Circuit ident name (ANSI,Bellcore) ISUP_PT_CLLI = 233UL, // 0xe9 - 0b11101001 - Common language loc id (ANSI,Bellcore) ISUP_PT_OLI = 234UL, // 0xea - 0b11101010 - Originating line info (ANSI,Bellcore) ISUP_PT_CHGN = 235UL, // 0xeb - 0b11101011 - Charge number (ANSI,Bellcore) ISUP_PT_SVCD = 236UL, // 0xec - 0b11101100 - Service code indicator (ANSI,Bellcore) ISUP_PT_CSEL = 238UL, // 0xee - 0b11101110 - Carrier selection info (ANSI,Bellcore) ISUP_PT_ORI = 243UL, // 0xf3 - 0b11110011 - Outgoing route identification (Spain) ISUP_PT_IRI = 244UL, // 0xf4 - 0b11110100 - Incoming route identification (Spain) ISUP_PT_RATE = 248UL, // 0xf8 - 0b11111000 - Rate (Spain) ISUP_PT_IIC = 249UL, // 0xf9 - 0b11111001 - Identifier of incoming circuit (Spain) ISUP_PT_TOI = 253UL, // 0xfd - 0b11111101 - Trunk offering information (Singapore) ISUP_PT_TON = 253UL, // 0xfd - 0b11111101 - Type of notification (Spain) ISUP_PT_CRI = 254UL, // 0xfe - 0b11111110 - Charge rate information (Singapore) ISUP_PT_ICCI = 255UL, // 0xff - 0b11111111 - Call charge information (Singapore) }; uint pvar; // protocol variant uchar *p; // buffer position uchar *e; // buffer end RoutingLabel & routLabel; // associated Routing Label Message(RoutingLabel & rl); virtual void ~Message(void); }; class Parameter { private: Parameter * next; // list linkage Parameter **prev; // list linkage protected: uchar *ptr; // pointer to parameter value in memory uint len; // length of parameter value in memory ulong val; // unpacked value of parameter ulong tag; // parameter tag public: Message & msg; // reference to message this parm belongs to Parameter(void); Parameter(Message & m); virtual void ~Parameter(void); void link(Parameter * &list); // link parameter into a list void unlink(void); // unlink parameter from list }; class ParameterOne:public Parameter { public: ParameterOne(void); ParameterOne(Message & m); virtual void ~ParameterOne(void); }; class ParameterTwo:public Parameter { public: ParameterTwo(void); ParameterTwo(Message & m); virtual void ~ParameterTwo(void); }; class ParameterThree:public Parameter { public: ParameterThree(void); ParameterThree(Message & m); virtual void ~ParameterThree(void); }; class ParameterFour:public Parameter { public: ParameterFour(void); ParameterFour(Message & m); virtual void ~ParameterFour(void); }; class ParameterPc:public Parameter { public: ParameterPc(void); ParameterPc(Message & m); virtual void ~ParameterPc(void); }; class ParameterVar:public Parameter { public: ParameterVar(void); ParameterVar(Message & m); virtual void ~ParameterVar(void); }; class ParameterEOP:public Parameter { // 0x00 - 0b00000000 - End of optional parameters public: ParameterEOP(Message & m); }; class ParameterCLRF:public ParameterVar { // 0x01 - 0b00000001 - Call reference @ public: ParameterCLRF(Message & m); }; class ParameterTMR:public ParameterOne { // 0x02 - 0b00000010 - Transmission medium requirement public: ParameterTMR(Message & m); }; class ParameterATP:public ParameterVar { // 0x03 - 0b00000011 - Access transport public: ParameterATP(Message & m); }; class ParameterCDPN:public ParameterVar { // 0x04 - 0b00000100 - Called party number public: ParameterCDPN(Message & m); }; class ParameterSUBN:public ParameterVar { // 0x05 - 0b00000101 - Subsequent number public: ParameterSUBN(Message & m); }; class ParameterNCI:public ParameterOne { // 0x06 - 0b00000110 - Nature of connection indicators public: ParameterNCI(Message & m); }; class ParameterFCI:public ParameterTwo { // 0x07 - 0b00000111 - Forward call indicators public: ParameterFCI(Message & m); }; class ParameterOFCI:public ParameterVar { // 0x08 - 0b00001000 - Optional forward call indicators public: ParameterOFCI(Message & m); }; class ParameterCPC:public ParameterOne { // 0x09 - 0b00001001 - Calling party's category public: ParameterCPC(Message & m); }; class ParameterCGPN:public ParameterVar { // 0x0a - 0b00001010 - Calling party number public: ParameterCGPN(Message & m); }; class ParameterRDGN:public ParameterVar { // 0x0b - 0b00001011 - Redirecting number public: ParameterRDGN(Message & m); }; class ParameterRDNN:public ParameterVar { // 0x0c - 0b00001100 - Redirection number public: ParameterRDNN(Message & m); }; class ParameterCONR:public ParameterVar { // 0x0d - 0b00001101 - Connection request public: ParameterCONR(Message & m); }; class ParameterINRI:public ParameterOne { // 0x0e - 0b00001110 - Information request indicators public: ParameterINRI(Message & m); }; class ParameterINFI:public ParameterOne { // 0x0f - 0b00001111 - Information indicators @ public: ParameterINFI(Message & m); }; class ParameterCOTI:public ParameterTwo { // 0x10 - 0b00010000 - Continuity indicators public: ParameterCOTI(Message & m); }; class ParameterBCI:public ParameterTwo { // 0x11 - 0b00010001 - Backward call indicators public: ParameterBCI(Message & m); }; class ParameterCAUS:public ParameterVar { // 0x12 - 0b00010010 - Cause indicators public: ParameterCAUS(Message & m); }; class ParameterRDI:public ParameterTwo { // 0x13 - 0b00010011 - Redirection information public: ParameterRDI(Message & m); }; class ParameterCGI:public ParameterOne { // 0x15 - 0b00010101 - Circuit group supervision msg type ind public: ParameterCGI(Message & m); }; class ParameterRS:public ParameterVar { // 0x16 - 0b00010110 - Range and status public: ParameterRS(Message & m); }; class ParameterCMI:public ParameterOne { // 0x17 - 0b00010111 - Call modification indicators (Blue Book) public: ParameterCMI(Message & m); }; class ParameterFACI:public ParameterOne { // 0x18 - 0b00011000 - Facility indicator public: ParameterFACI(Message & m); }; class ParameterFAII:public ParameterOne { // 0x19 - 0b00011001 - Facility information indicators (Bcore) public: ParameterFAII(Message & m); }; class ParameterCUGI:public ParameterVar { // 0x1a - 0b00011010 - Closed user group interlock code public: ParameterCUGI(Message & m); }; class ParameterINDEX:public ParameterFour { // 0x1b - 0b00011011 - Index (Bellcore) public: ParameterINDEX(Message & m); }; class ParameterUSI:public ParameterVar { // 0x1d - 0b00011101 - User service information public: ParameterUSI(Message & m); }; class ParameterSPC:public ParameterPc { // 0x1e - 0b00011110 - Signalling point code @ (Bellcore) public: ParameterSPC(Message & m); }; class ParameterUUI:public ParameterVar { // 0x20 - 0b00100000 - User to user information public: ParameterUUI(Message & m); }; class ParameterCONN:public ParameterVar { // 0x21 - 0b00100001 - Connected number public: ParameterCONN(Message & m); }; class ParameterSRIS:public ParameterOne { // 0x22 - 0b00100010 - Suspend/resume indicators public: ParameterSRIS(Message & m); }; class ParameterTNS:public ParameterVar { // 0x23 - 0b00100011 - Transit network selection @ public: ParameterTNS(Message & m); }; class ParameterEVNT:public ParameterOne { // 0x24 - 0b00100100 - Event information public: ParameterEVNT(Message & m); }; class ParameterCSI:public ParameterVar { // 0x26 - 0b00100110 - Circuit state indicator @ public: ParameterCSI(Message & m); }; class ParameterACL:public ParameterOne { // 0x27 - 0b00100111 - Automatic congestion level public: ParameterACL(Message & m); }; class ParameterOCDN:public ParameterVar { // 0x28 - 0b00101000 - Original called number public: ParameterOCDN(Message & m); }; class ParameterOBCI:public ParameterVar { // 0x29 - 0b00101001 - Optional backward call indicators public: ParameterOBCI(Message & m); }; class ParameterUUIND:public ParameterOne { // 0x2a - 0b00101010 - User to user indicators public: ParameterUUIND(Message & m); }; class ParameterISPC:public ParameterPc { // 0x2b - 0b00101011 - Origination ISC point code public: ParameterISPC(Message & m); }; class ParameterGNOT:public ParameterOne { // 0x2c - 0b00101100 - Generic notification public: ParameterGNOT(Message & m); }; class ParameterCHI:public ParameterTwo { // 0x2d - 0b00101101 - Call history information public: ParameterCMI(Message & m); }; class ParameterADI:public ParameterOne { // 0x2e - 0b00101110 - Access delivery information public: ParameterADI(Message & m); }; class ParameterNSF:public ParameterVar { // 0x2f - 0b00101111 - Network specific facilities @ public: ParameterNSF(Message & m); }; class ParameterUSIP:public ParameterVar { // 0x30 - 0b00110000 - User service information prime public: ParameterUSIP(Message & m); }; class ParameterPROP:public ParameterTwo { // 0x31 - 0b00110001 - Propagation delay counter public: ParameterRPOP(Message & m); }; class ParameterROPS:public ParameterVar { // 0x32 - 0b00110010 - Remote operations @ public: ParameterROPS(Message & m); }; class ParameterSA:public ParameterVar { // 0x33 - 0b00110011 - Service activation @ public: ParameterSA(Message & m); }; class ParameterUTI:public ParameterVar { // 0x34 - 0b00110100 - User teleservice information public: ParameterUTI(Message & m); }; class ParameterTMU:public ParameterOne { // 0x35 - 0b00110101 - Transmission medium used public: ParameterTMU(Message & m); }; class ParameterCDI:public ParameterOne { // 0x36 - 0b00110110 - Call diversion information public: ParameterCDI(Message & m); }; class ParameterECI:public ParameterOne { // 0x37 - 0b00110111 - Echo control information public: ParameterECI(Message & m); }; class ParameterMCI:public ParameterOne { // 0x38 - 0b00111000 - Message compatibility information public: ParameterMCI(Message & m); }; class ParameterPCI:public ParameterOne { // 0x39 - 0b00111001 - Parameter compatibility information public: ParameterPCI(Message & m); }; class ParameterMLPP:public ParameterOne { // 0x3a - 0b00111010 - MLPP preference public: ParameterMLPP(Message & m); }; class ParameterMCIQ:public ParameterOne { // 0x3b - 0b00111011 - MCID request indicator public: ParameterMCIQ(Message & m); }; class ParameterMCIR:public ParameterOne { // 0x3c - 0b00111100 - MCID response indicator public: ParameterMCIR(Message & m); }; class ParameterHOPC:public ParameterOne { // 0x3d - 0b00111101 - Hop counter (reserved) public: ParameterHOPC(Message & m); }; class ParameterTMRP:public ParameterOne { // 0x3e - 0b00111110 - Transmission medium requirement prime public: ParameterTMRP(Message & m); }; class ParameterLN:public ParameterVar { // 0x3f - 0b00111111 - Location number public: ParameterLN(Message & m); }; class ParameterRDNR:public ParameterOne { // 0x40 - 0b01000000 - Redirection number restriction public: ParameterRDNR(Message & m); }; class ParameterFREEP:public ParameterOne { // 0x41 - 0b01000001 - Freephone indicators (reserved) public: ParameterFREEP(Message & m); }; class ParameterGREF:public ParameterVar { // 0x42 - 0b01000010 - Generic reference (reserved) public: ParameterGREF(Message & m); }; class ParameterGNUM:public ParameterVar { // 0xc0 - 0b11000000 - Generic number (address Bellcore) public: ParameterGNUM(Message & m); }; class ParameterGDIG:public ParameterVar { // 0xc1 - 0b11000001 - Generic digits @ public: ParameterGDIG(Message & m); }; class ParameterEGRESS:public ParameterOne { // 0xc3 - 0b11000011 - Egress (ANSI) public: ParameterEGRESS(Message & m); }; class ParameterJUR:public ParameterVar { // 0xc4 - 0b11000100 - Jurisdiction (ANSI) public: ParameterJUR(Message & m); }; class ParameterCIDC:public ParameterVar { // 0xc5 - 0b11000101 - Carrier identification code (ANSI) public: ParameterCIDC(Message & m); }; class ParameterBGROUP:public ParameterVar { // 0xc6 - 0b11000110 - Business group (ANSI) public: ParameterBGROUP(Message & m); }; class ParameterNOTI:public ParameterOne { // 0xe1 - 0b11100001 - Notification indicator (ANSI) public: ParameterNOTI(Message & m); }; class ParameterSVACT:public ParameterVar { // 0xe2 - 0b11100010 - Service activation (ANSI) public: ParameterSVACT(Message & m); }; class ParameterTRNSRQ:public ParameterVar { // 0xe3 - 0b11100011 - Transaction request (ANSI,Bellcore) public: ParameterTRNSRQ(Message & m); }; class ParameterSPR:public ParameterVar { // 0xe4 - 0b11100100 - Special processing request (Bellcore) public: ParameterSPR(Message & m); }; class ParameterCGCI:public ParameterOne { // 0xe5 - 0b11100101 - Cc't group char ind (ANSI,Bellcore) public: ParameterCGCI(Message & m); }; class ParameterCVRI:public ParameterOne { // 0xe6 - 0b11100110 - Cc't validation resp ind (ANSI,Bellcore) public: ParameterCVRI(Message & m); }; class ParameterOTGN:public ParameterVar { // 0xe7 - 0b11100111 - Outgoing trunk group numb (ANSI,Bellcore) public: ParameterOTGN(Message & m); }; class ParameterCIN:public ParameterVar { // 0xe8 - 0b11101000 - Circuit ident name (ANSI,Bellcore) public: ParameterCIN(Message & m); }; class ParameterCLLI:public ParameterVar { // 0xe9 - 0b11101001 - Common language loc id (ANSI,Bellcore) public: ParameterCLLI(Message & m); }; class ParameterOLI:public ParameterVar { // 0xea - 0b11101010 - Originating line info (ANSI,Bellcore) public: ParameterOLI(Message & m); }; class ParameterCHGN:public ParameterVar { // 0xeb - 0b11101011 - Charge number (ANSI,Bellcore) public: ParameterCHGN(Message & m); }; class ParameterSVCD:public ParameterVar { // 0xec - 0b11101100 - Service code indicator (ANSI,Bellcore) public: ParameterSVCD(Message & m); }; class ParameterCSEL:public ParameterVar { // 0xee - 0b11101110 - Carrier selection info (ANSI,Bellcore) public: ParameterCSEL(Message & m); }; class ParameterORI:public ParameterVar { // 0xf3 - 0b11110011 - Outgoing route identification (Spain) public: ParameterORI(Message & m); }; class ParameterIRI:public ParameterVar { // 0xf4 - 0b11110100 - Incoming route identification (Spain) public: ParameterIRI(Message & m); }; class ParameterRATE:public ParameterVar { // 0xf8 - 0b11111000 - Rate (Spain) public: ParameterRATE(Message & m); }; class ParameterIIC:public ParameterVar { // 0xf9 - 0b11111001 - Identifier of incoming circuit (Spain) public: ParameterIIC(Message & m); }; class ParameterTOI:public ParameterVar { // 0xfd - 0b11111101 - Trunk offering information (Singapore) public: ParameterTOI(Message & m); }; class ParameterTON:public ParameterVar { // 0xfd - 0b11111101 - Type of notification (Spain) public: ParameterTON(Message & m); }; class ParameterCRI:public ParameterOne { // 0xfe - 0b11111110 - Charge rate information (Singapore) public: ParameterCRI(Message & m); }; class ParameterICCI:public ParameterVar { // 0xff - 0b11111111 - Call charge information (Singapore) public: ParameterICCI(Message & m); }; class MessageIAM:public Message { public: ParameterNCI nci; ulong nci; // nature of connection indicators ParameterFCI fci; ulong fci; // forward connection indicators ParameterCPC cpc; ulong cpc; // called party category ParameterTMR tmr; ulong tmr; // transmission medium requirement ParameterUSI usi; isup_var_t usi; // user service information ParameterCDPN cdpn; isup_var_t cdpn; // called party number MessageIAM & MessageIAM(RoutingLabel & rl); }; class MessageSAM:public Message { public: ParameterSUBN subn; isup_var_t subn; // subsequent number MessageSAM & MessageSAM(RoutingLabel & rl); }; class MessageINR:public Message { public: ParameterINRI inri; ulong inri; // information request indicators MessageINR & MessageINR(RoutingLabel & rl); }; class MessageINF:public Message { public: ParameterINFI infi; ulong infi; // information indicators MessageINF & MessageINF(RoutingLabel & rl); }; class MessageCOT:public Message { public: ParameterCOTI coti; ulong coti; // continuity test indicators MessageCOT & MessageCOT(RoutingLabel & rl); }; class MessageACM:public Message { public: ParameterBCI bci; ulong bci; // backwards call indicators MessageACM & MessageACM(RoutingLabel & rl); }; class MessageCON:public Message { public: ParameterBCI bci; ulong bci; // backward call indicators MessageCON & MessageCON(RoutingLabel & rl); }; class MessageFOT:public Message { public: MessageFOT & MessageFOT(RoutingLabel & rl); }; class MessageANM:public Message { public: MessageANM & MessageANM(RoutingLabel & rl); }; class MessageREL:public Message { public: ParameterCAUS caus; isup_var_t caus; // cause value MessageREL & MessageREL(RoutingLabel & rl); }; class MessageSUS:public Message { public: ParameterSRIS sris; ulong sris; // suspend resume indicators MessageSUS & MessageSUS(RoutingLabel & rl); }; class MessageRES:public Message { public: ParameterSRIS sris; ulong sris; // suspend resume indicators MessageRES & MessageRES(RoutingLabel & rl); }; class MessageRLC:public Message { public: MessageRLC & MessageRLC(RoutingLabel & rl); }; class MessageCCR:public Message { public: MessageCCR & MessageCCR(RoutingLabel & rl); }; class MessageRSC:public Message { public: MessageRSC & MessageRSC(RoutingLabel & rl); }; class MessageBLO:public Message { public: MessageBLO & MessageBLO(RoutingLabel & rl); }; class MessageUBL:public Message { public: MessageUBL & MessageUBL(RoutingLabel & rl); }; class MessageBLA:public Message { public: MessageBLA & MessageBLA(RoutingLabel & rl); }; class MessageUBA:public Message { public: MessageUBA & MessageUBA(RoutingLabel & rl); }; class MessageGRS:public Message { public: ParameterRS rs; isup_var_t rs; // range and status MessageGRS & MessageGRS(RoutingLabel & rl); }; class MessageCGB:public Message { public: ParameterCGI cgi; ulong cgi; // circuit state group indicators isup_var_t rs; // range and status MessageCGB & MessageCGB(RoutingLabel & rl); }; class MessageCGU:public Message { public: ParameterCGI cgi; ulong cgi; // circuit state group indicators isup_var_t rs; // range and status MessageCGU & MessageCGU(RoutingLabel & rl); }; class MessageCGBA:public Message { public: ParameterCGI cgi; ulong cgi; // circuit state group indicators isup_var_t rs; // range and status MessageCGBA & MessageCGBA(RoutingLabel & rl); }; class MessageCGUA:public Message { public: ParameterCGI cgi; ulong cgi; // circuit state group indicators isup_var_t rs; // range and status MessageCGUA & MessageCGUA(RoutingLabel & rl); }; class MessageCMR:public Message { public: ParameterCMI cmi; ulong cmi; // call modification indicators MessageCMR & MessageCMR(RoutingLabel & rl); }; class MessageCMC:public Message { public: ParameterCMI cmi; ulong cmi; // call modification indicators MessageCMC & MessageCMC(RoutingLabel & rl); }; class MessageCMRJ:public Message { public: ParameterCMI cmi; ulong cmi; // call modification indicators MessageCMRJ & MessageCMRJ(RoutingLabel & rl); }; class MessageFAR:public Message { public: ParameterFACI faci; ulong faci; // facility indicators MessageFAR & MessageFAR(RoutingLabel & rl); }; class MessageFAA:public Message { public: ParameterFACI faci; ulong faci; // facility indicators MessageFAA & MessageFAA(RoutingLabel & rl); }; class MessageFRJ:public Message { public: ParameterFACI faci; ulong faci; // facility indicators ParameterCAUS caus; isup_var_t caus; // cause value MessageFRJ & MessageFRJ(RoutingLabel & rl); }; class MessageFAD:public Message { public: ParameterFACI faci; ulong faci; // facility indicators MessageFAD & MessageFAD(RoutingLabel & rl); }; class MessageFAI:public Message { public: ParameterFACI faci; ulong faci; // facility indicators ParameterFAII faii; ulong faii; // facility information indicators MessageFAI & MessageFAI(RoutingLabel & rl); }; class MessageLPA:public Message { public: MessageLPA & MessageLPA(RoutingLabel & rl); }; class MessageDRS:public Message { public: MessageDRS & MessageDRS(RoutingLabel & rl); }; class MessagePAM:public Message { public: ParameterMSG msg; isup_var_t msg; // encapsulated message MessagePAM & MessagePAM(RoutingLabel & rl); }; class MessageGRA:public Message { public: ParameterRS rs; isup_var_t rs; // range and status MessageGRA & MessageGRA(RoutingLabel & rl); }; class MessageCQM:public Message { public: ParameterRS rs; isup_var_t rs; // range and status MessageCQM & MessageCQM(RoutingLabel & rl); }; class MessageCQR:public Message { public: ParameterRS rs; isup_var_t rs; // range and status ParameterCSI csi; isup_var_t csi; // circuit state indicator MessageCQR & MessageCQR(RoutingLabel & rl); }; class MessageCPG:public Message { public: ParameterEVENT event; ulong evnt; // event MessageCPG & MessageCPG(RoutingLabel & rl); }; class MessageUSR:public Message { public: ParameterUUI uui; isup_var_t uui; // user to user information MessageUSR & MessageUSR(RoutingLabel & rl); }; class MessageUCIC:public Message { public: MessageUCIC & MessageUCIC(RoutingLabel & rl); }; class MessageCFN:public Message { public: ParameterCAUS caus; isup_var_t caus; // cause value MessageCFN & MessageCFN(RoutingLabel & rl); }; class MessageOLM:public Message { public: MessageOLM & MessageOLM(RoutingLabel & rl); }; class MessageCRG:public Message { public: ParameterICCI icci; isup_var_t icci; // charge indicators MessageCRG & MessageCRG(RoutingLabel & rl); }; class MessageNRM:public Message { public: MessageNRM & MessageNRM(RoutingLabel & rl); }; class MessageFAC:public Message { public: MessageFAC & MessageFAC(RoutingLabel & rl); }; class MessageUPT:public Message { public: MessageUPT & MessageUPT(RoutingLabel & rl); }; class MessageUPA:public Message { public: MessageUPA & MessageUPA(RoutingLabel & rl); }; class MessageIDR:public Message { public: MessageIDR & MessageIDR(RoutingLabel & rl); }; class MessageIRS:public Message { public: MessageIRS & MessageIRS(RoutingLabel & rl); }; class MessageSGM:public Message { public: MessageSGM & MessageSGM(RoutingLabel & rl); }; class MessageCRA:public Message { public: MessageCRA & MessageCRA(RoutingLabel & rl); }; class MessageCRM:public Message { public: ParameterNCI nci; ulong nci; // nature of connection indicators MessageCRM & MessageCRM(RoutingLabel & rl); }; class MessageCVR:public Message { public: ParameterCVRI cvri; ulong cvri; ParameterCVCI cvci; ulong cvci; ParameterCGCI cgci; ulong cgci; MessageCVR & MessageCVR(RoutingLabel & rl); }; class MessageCVT:public Message { public: MessageCVT & MessageCVT(RoutingLabel & rl); }; class MessageEXM:public Message { public: MessageEXM & MessageEXM(RoutingLabel & rl); }; class MessageNON:public Message { public: ParameterTON ton; ulong ton; MessageNON & MessageNON(RoutingLabel & rl); }; class MessageLLM:public Message { public: MessageLLM & MessageLLM(RoutingLabel & rl); }; class MessageCAK:public Message { public: MessageCAK & MessageCAK(RoutingLabel & rl); }; class MessageTCM:public Message { public: ParameterCRI cri; ulong cri; MessageTCM & MessageTCM(RoutingLabel & rl); }; class MessageMCP:public Message { public: MessageMCP & MessageMCP(RoutingLabel & rl); }; class Collector { public: ~Collector(void); Collector(void); void message(struct strbuf &ctrl, struct strbuf &data); }; class Circuit { }; class Call { }; #endif
|
|||||||||||||||||||||||||||
OpenSS7 SS7 for the Common Man |
Home | Overview | Status | News | Documentation | Resources | About | ||||||||||||||||||||
© Copyright 1997-2004,OpenSS7 Corporation, All Rights Reserved. |