📄 isup_codec.c
字号:
Codec_CGCI ::Codec_CGCI () : Parameter("CGCI","Cct Grp Char Inds",8,4,0,(Codec**)&CGTYP) { CGTYP = new Set("CGTYP","Carrier Type",2,0, "UNK", 0, "Unknown", "ANG", 1, "Analog", "DIG", 2, "Digital", "BOTH", 3, "Digital and analog", NULL); DSC = new Set("DSC","Double Seizing Control",2,0, "UNK", 0, "Unknown", "ODD", 1, "Odd CIC control", "EVEN", 2, "Even CIC control", NULL); ACI = new Set("ACI","Alarm Carrier Type",2,0, "UNK", 0, "Unknown", "SW", 1, "Software handled", "HW", 2, "Hardware handled", NULL); CCRI = new Set("CCRI","Continuity Checks",2,0, "UNK", 0, "Unknown", "NONE", 1, "Not required", "STAT", 2, "Required statistically", "PC", 3, "Required per call", NULL);};Codec_CVRI ::Codec_CVRI () : Parameter("CVRI","Cct Val Response Ind",8,1,0,(Codec**)&CVRI) { CVRI = new Set("CVRI","Cct Valid Resp Ind",8,0, "SUC", 0, "Successful", "FAIL", 1, "Failure", NULL);};Codec_OTGN ::Codec_OTGN () : Parameter("OTGN","O/G Trunk Group Number",-1,1,0,(Codec**)&ADDI) { ADDI = new Codec_ADDI();};Codec_CIN ::Codec_CIN () : Parameter("CIN","Circuit Id Name",26*8,1,0,(Codec**)&CIN) { CIN = new AsciiString("CIN","Circuit Name",26*8);};Codec_CLLI ::Codec_CLLI () : Parameter("CLLI","Common Lang Loc Id",11*8,1,0,(Codec**)&CLLI) { CLLI = new AsciiString("CLLI","Common Lang Loc Id",11*8);};Codec_OLI ::Codec_OLI () : Parameter("OLI","Originating Line Info",8,1,0,(Codec**)&OLI) { OLI = new Set("OLI","Originating Line Info",8,0, "ANI", 0, "Identified line, no spec treatment", "ONI", 1, "ONI (multiparty)", "ANIF", 2, "ANI failure", "H", 6, "Hotel with room ID", "CL", 7, "Coinless, hospital, etc", "IR", 8, "InterLATA restricted", "TC1", 10, "Test call (1)", "AIOD", 20, "AIOD - listed DN sent", "IL", 23, "Coin or non-coin identified line", "800", 24, "800 call", "COIN", 27, "Coin line", "IRH", 68, "InterLATA restricted-hotel", "TC2", 95, "Test call (2)", NULL);};Codec_CHGN ::Codec_CHGN () : Parameter("CHGN","Charge Number",16,7,0,(Codec**)&NAI) { NAI = new Codec_NAI(); OE = new Codec_OE(); SCR = new Codec_SPAR2(); PRES = new Codec_SPAR2(); NPLAN = new Codec_NPLAN(); INN = new Codec_SPAR1(); ADDI = new Codec_ADDI();};Codec_SVCD ::Codec_SVCD () : Parameter("SVCD","Service Code Indicator",8,1,0,(Codec**)&SVCD) { SVCD = new Field("SVCD","Service Code",8,0);};Codec_CSEL ::Codec_CSEL () : Parameter("CSEL","Carrier Selection Info",8,1,0,(Codec**)&CSEL) { CSEL = new Set("CSEL","Selected Carrier ID",8,0, "NI", 0, "No indication", "PNI", 1, "Presubscribed and not input", "PI", 2, "Presubscribed and input", "P", 3, "Presubscribed, no input indication", "NPI", 4, "Not presubscribed and input", NULL);};// ***********************************************************// ****// **** Variable length mandatory parameters// ****// ***********************************************************Codec_CDPN_M::Codec_CDPN_M() : ParameterPL("CDPN","Called Party Number",-1,3,0,(Codec**)&PTR) { PTR = new Field("PTR","Parameter Pointer",8,0); LEN = new Field("LEN","Parameter Length",8,0); CDPN = new Codec_CDPN();};Codec_CAUS_M::Codec_CAUS_M() : ParameterPL("CAUS","Cause Indicators",-1,3,0,(Codec**)&PTR) { PTR = new Field("PTR","Parameter Pointer",8,0); LEN = new Field("LEN","Parameter Length",8,0); CAUS = new Codec_CAUS();};Codec_RnS_M ::Codec_RnS_M () : ParameterPL("R&S","Range and Status",-1,3,0,(Codec**)&PTR) { PTR = new Field("PTR","Parameter Pointer",8,0); LEN = new Field("LEN","Parameter Length",8,0); RnS = new Codec_RnS();};Codec_USI_M ::Codec_USI_M () : ParameterPL("USI","User Service Info",-1,3,0,(Codec**)&PTR) { PTR = new Field("PTR","Parameter Pointer",8,0); LEN = new Field("LEN","Parameter Length",8,0); USI = new Codec_USI();};Codec_CSI_M ::Codec_CSI_M () : ParameterPL("CSI","Circuit State Info",-1,3,0,(Codec**)&PTR) { PTR = new Field("PTR","Parameter Pointer",8,0); LEN = new Field("LEN","Parameter Length",8,0); CSI = new Codec_CSI();};// ***********************************************************// ****// **** Optional Parameter List// ****// ***********************************************************Codec_IOPARM::Codec_IOPARM(char* l,char* t,Codec** a) : ParameterNL(l,t,8,3,0,(Codec**)&PNAM) { PNAM = (Field*)a[0]; PL = (Field*)a[1]; PNAM_B = (Bra* )a[2];};Codec_IOPARM::Codec_IOPARM(const Codec_IOPARM& original) : ParameterNL((ParameterNL&)original) { PNAM = new Field(*original.PNAM ); PL = new Field(*original.PL ); PNAM_B = new Bra (*original.PNAM_B ); PNAM_B->branch = PNAM; content = (Codec**)&PNAM;};Codec_IOPARM*Codec_IOPARM::copy() { return new Codec_IOPARM(*this);};Codec_IOPARMS::Codec_IOPARMS(char* l,char* t) : ParameterP(l,t,8,2,54,(Codec**)&PTR) { PTR = new Field("PTR","Parameter Pointer",8,0); CLRF = new Codec_CLRF (); ATP = new Codec_ATP (); CDPN = new Codec_CDPN (); NCI = new Codec_NCI (); FCI = new Codec_FCI (); OFCI = new Codec_OFCI (); CPC = new Codec_CPC (); CGPN = new Codec_CGPN (); RDGN = new Codec_RDGN (); RDNN = new Codec_RDNN (); CONR = new Codec_CONR (); INRI = new Codec_INRI (); INFI = new Codec_INFI (); COTI = new Codec_COTI (); BCI = new Codec_BCI (); CAUS = new Codec_CAUS (); RDI = new Codec_RDI (); CGI = new Codec_CGI (); RnS = new Codec_RnS (); FACI = new Codec_FACI (); FAII = new Codec_FAII (); CUGI = new Codec_CUGI (); INDEX = new Codec_INDEX (); USI = new Codec_USI (); ISPC = new Codec_ISPC (); UUI = new Codec_UUI (); CONN = new Codec_CONN (); SRIS = new Codec_SRIS (); TNS = new Codec_TNS (); EVNT = new Codec_EVNT (); CSI = new Codec_CSI (); ACL = new Codec_ACL (); OCDN = new Codec_OCDN (); OBCI = new Codec_OBCI (); GENADR = new Codec_GENADR(); GENDIG = new Codec_GENDIG(); EGRESS = new Codec_EGRESS(); JUR = new Codec_JUR (); CIDC = new Codec_CIDC (); BGROUP = new Codec_BGROUP(); NOTI = new Codec_NOTI (); SVACT = new Codec_SVACT (); TRNSRQ = new Codec_TRNSRQ(); SPR = new Codec_SPR (); CGCI = new Codec_CGCI (); CVRI = new Codec_CVRI (); OTGN = new Codec_OTGN (); CIN = new Codec_CIN (); CLLI = new Codec_CLLI (); OLI = new Codec_OLI (); CHGN = new Codec_CHGN (); SVCD = new Codec_SVCD (); CSEL = new Codec_CSEL (); UREC = new Codec_UREC ("UREC" ,"Unrecognized Parameter"); PNAM = new Field("PNAM","Parameter Name",8,0); PL = new Field("PL","Parameter Length",8,0); PNAM_B = new Bra("OPARM:","OPARM Branch",(Codec*)PNAM, CLRF , 1, ATP , 3, CDPN , 4, NCI , 6, FCI , 7, OFCI , 8, CPC , 9, CGPN , 10, RDGN , 11, RDNN , 12, CONR , 13, INRI , 14, INFI , 15, COTI , 16, BCI , 17, CAUS , 18, RDI , 19, CGI , 21, RnS , 22, FACI , 24, FAII , 25, CUGI , 26, INDEX , 27, USI , 29, ISPC , 30, UUI , 32, CONN , 33, SRIS , 34, TNS , 35, EVNT , 36, CSI , 38, ACL , 39, OCDN , 40, OBCI , 41, GENADR,192, GENDIG,193, EGRESS,195, JUR ,196, CIDC ,197, BGROUP,198, NOTI ,225, SVACT ,226, TRNSRQ,227, SPR ,228, CGCI ,229, CVRI ,230, OTGN ,231, CIN ,232, CLLI ,233, OLI ,234, CHGN ,235, SVCD ,236, SPR ,237, CSEL ,238, UREC , -1, NULL); OPARM = new Codec_IOPARM("OPARM","Optional Parameter",(Codec**)&PNAM);};// ***********************************************************// ****// **** ISUP Messages// ****// ***********************************************************Codec_ISUP::Codec_ISUP() : Header("ISUP","ISDN User Part",-1,2,60,(Codec**)&MT) { // *********************************************************** // **** // **** Mandatory Parameters // **** // *********************************************************** CDPN = new Codec_CDPN_M(); NCI = new Codec_NCI (); FCI = new Codec_FCI (); CPC = new Codec_CPC (); INRI = new Codec_INRI (); INFI = new Codec_INFI (); COTI = new Codec_COTI (); BCI = new Codec_BCI (); CAUS = new Codec_CAUS_M(); CGI = new Codec_CGI (); RnS = new Codec_RnS_M (); FACI = new Codec_FACI (); FAII = new Codec_FAII (); USI = new Codec_USI_M (); SRIS = new Codec_SRIS (); EVNT = new Codec_EVNT (); CSI = new Codec_CSI_M (); CGCI = new Codec_CGCI (); CVRI = new Codec_CVRI (); OPARMS = new Codec_IOPARMS("OPARMS","Optional Parameters"); // *********************************************************** // **** // **** Messages // **** // *********************************************************** IAM = new ParameterG("IAM", "Initial Address", NCI,FCI,CPC,USI,CDPN,OPARMS,NULL); INR = new ParameterG("INR", "Information Request", INRI,OPARMS,NULL); INF = new ParameterG("INF", "Information", INFI,OPARMS,NULL); COT = new ParameterG("COT", "Continuity", COTI,NULL); ACM = new ParameterG("ACM", "Address Complete", BCI,OPARMS,NULL); FOT = new ParameterG("FOT", "Forward Transfer", OPARMS,NULL); ANM = new ParameterG("ANM", "Answer", OPARMS,NULL); REL = new ParameterG("REL", "Release", CAUS,OPARMS,NULL); SUS = new ParameterG("SUS", "Suspend", SRIS,OPARMS,NULL); RES = new ParameterG("RES", "Resume", SRIS,OPARMS,NULL); RLC = new ParameterG("RLC", "Release Complete", NULL); CCR = new ParameterG("CCR", "Continuity Check Req", NULL); RSC = new ParameterG("RSC", "Reset Circuit", NULL); BLO = new ParameterG("BLO", "Blocking", NULL); UBL = new ParameterG("UBL", "Unblocking", NULL); BLA = new ParameterG("BLA", "Blocking Ack", NULL); UBA = new ParameterG("UBA", "Unblocking Ack", NULL); GRS = new ParameterG("GRS", "Circuit Grp Reset", RnS,NULL); CGB = new ParameterG("CGB", "Circuit Grp Blocking", CGI,RnS,NULL); CGU = new ParameterG("CGU", "Circuit Grp Unblocking", CGI,RnS,NULL); CGBA = new ParameterG("CGBA", "C'ct Grp Blocking Ack", CGI,RnS,NULL); CGUA = new ParameterG("CGUA", "C'ct Grp Unblockng Ack", CGI,RnS,NULL); FAR = new ParameterG("FAR", "Facility Request", OPARMS,NULL); FAA = new ParameterG("FAA", "Facility Accepted", OPARMS,NULL); FRJ = new ParameterG("FRJ", "Facility Reject", FACI,CAUS,OPARMS,NULL); FAD = new ParameterG("FAD", "Facility Deactivated", OPARMS,NULL); FAI = new ParameterG("FAI", "Facility Information", FACI,FAII,OPARMS,NULL); LPA = new ParameterG("LPA", "Loop Back Ack", NULL); PAM = new ParameterG("PAM", "Pass Along", NULL); GRA = new ParameterG("GRA", "Circuit Grp Reset Ack", CGI,RnS,NULL); CQM = new ParameterG("CQM", "Circuit Query", CGI,RnS,NULL); CQR = new ParameterG("CQR", "Circuit Query Response", RnS,CSI,NULL); CPG = new ParameterG("CPG", "Call Progress", EVNT,OPARMS,NULL); UCIC = new ParameterG("UCIC", "Unequipped Cct Id Code", NULL); CFN = new ParameterG("CFN", "Confusion", CAUS,NULL); CRA = new ParameterG("CRA", "Circuit Reserv Ack", NULL); CRM = new ParameterG("CRM", "Circuit Reservation", NCI,NULL); CVR = new ParameterG("CVR", "C'ct Validation Resp", CVRI,CGCI,OPARMS,NULL); CVT = new ParameterG("CVT", "C'ct Validation Test", NULL); EXM = new ParameterG("EXM", "Exit", OPARMS,NULL); MT = new Field("MT","Message Type",8,0); MT_B = new Bra("MT:","Messagey Type Branch",(Codec*)MT, IAM , 1, // SBA , 2, // ITU92, not ANSI88 Subsequent Address INR , 3, INF , 4, COT , 5, ACM , 6, // CON , 7, // ITU92, not ANSI88 Connect FOT , 8, ANM , 9, REL , 12, SUS , 13, RES , 14, RLC , 16, CCR , 17, RSC , 18, BLO , 19, UBL , 20, BLA , 21, UBA , 22, GRS , 23, CGB , 24, CGU , 25, CGBA, 26, CGUA, 27, FAR , 31, FAA , 32, FRJ , 33, FAD , 34, // ANSI88 only FAI , 35, // ANSI88 only LPA , 36, // ANSI88 : 34 for ITU92. PAM , 40, GRA , 41, CQM , 42, CQR , 43, CPG , 44, UCIC, 46, CFN , 47, // OVLD, 48, // ITU92, not ANSI88 Overload // CHGI, 49, // ITU92, not ANSI88 Charge Information // NRM , 50, // ITU92, not ANSI88 Network Resource Management // FAC , 51, // ITU92, not ANSI88 Facility // UPT , 52, // ITU92, not ANSI88 User Part Test // UPA , 53, // ITU92, not ANSI88 User Part Available // IDRQ, 54, // ITU92, not ANSI88 Identification Request // IDRS, 55, // ITU92, not ANSI88 Identification Response // SEGM, 56, // ITU92, not ANSI88 Segmentation CRA ,233, // ANSI88 only CRM ,234, // ANSI88 only CVR ,235, // ANSI88 only CVT ,236, // ANSI88 only EXM ,237, // ANSI88 only NULL);};#if 0 Access delivery information Access transport Automatic congestion level Backward call indicators Call diversion information#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -