cdc:nos2.source:nam5871:csestr
Table of Contents
CSESTR
Table Of Contents
- [00007] PROC CSESTR
- [00008] SEND TRUNK STATUS.
- [00011] SEND TRUNK STATUS.
- [00035] PROC CSESLE
- [00036] PROC SSBSBF
- [00037] PROC SSTAQE
- [00038] FUNC XCHD U
Source Code
- CSESTR.txt
- *DECK CSESTR
- USETEXT TEXTOV
- USETEXT TEXTCS
- USETEXT TEXTSS
- USETEXT TXTAPSS
- USETEXT TXTSMCS
- PROC CSESTR;
- # TITLE - SEND TRUNK STATUS. #
- BEGIN
- #
- ** CSESTR - SEND TRUNK STATUS.
- *
- * D.K. ENDO 82/03/25
- *
- * THIS ROUTINE FORMATS THE TRUNK STATUS TEXT WHEN A STU/TR/U OR A
- * STU/TR/N SM IS RECEIVED.
- *
- * PROC CSESTR
- *
- * ENTRY 1. STU/TR/N OR STU/TR/U SM FROM THE EVENT QUEUE
- *
- * EXIT 1. ENTRY IN THE OPERATOR RESPONSE QUEUE WITH THE
- * STATUS TEXT, IN THE CASE OF A STU/TR/U SM.
- * 2. ENTRY IN THE OPERATOR RESPONSE QUEUE WITH A MSG
- * BASED ON THE REASON CODE (STU/TR/U).
- * 3. ENTRY IN CONNECTION QUEUE WITH THE STATUS TEXT,
- * IN THE CASE OF STU/TR/N SM.
- *
- #
- #
- **** PROC CSESTR - XREF LIST BEGINS.
- #
- XREF
- BEGIN
- PROC CSESLE; # SEND LOG (FILE) ENTRY #
- PROC SSBSBF; # STORE BIT FIELD #
- PROC SSTAQE; # ADD QUEUE ENTRY #
- FUNC XCHD U; # CONVERT HEX INTEGER TO DISPLAY CODE #
- END
- #
- ****
- #
- DEF CDP$TXTL # 60 #; # CHAR COUNT OF CE DIAG IN PROGRESS TEXT #
- DEF DCA$TXTL # 50 #; # CHAR COUNT OF DUPLICATE CLA ADDR TEXT #
- DEF IDS$TXTL # 60 #; # CHAR COUNT OF IN DESIRED STATE TEXT #
- DEF LPC$TXTL # 50 #; # CHAR COUNT OF LAST PATH TO A CS TEXT #
- DEF NLC$TXTL # 50 #; # CHAR COUNT OF NO LIP CONFIGURED TEXT #
- DEF TRS$TXTL # 60 #; # CHAR COUNT OF TRUNK STATUS TEXT #
- ITEM CNST1; # CONSTANT ---> 1 #
- ITEM CNST2; # CONSTANT ---> 2 #
- ITEM CNST3; # CONSTANT ---> 3 #
- ITEM I; # LOOP INDUCTION VARIABLE #
- ITEM ITEMP U; # UNSIGNED INTEGER TEMPORARY #
- ITEM J; # LOOP INDUCTION VARIABLE #
- ITEM NID2; # TEMPORARY FOR THE NODE I.D. OF NPU2 #
- ITEM P2; # TEMPORARY FOR THE P2 VALUE #
- #
- THIS ARRAY DEFINES THE -CE DIAG IN PROGRESS- TEXT. THIS MESSAGE
- IS SENT WHEN A STU/TR/U SM IS RECEIVED AND THE REASON CODE IS SET
- TO SEVEN.
- #
- ARRAY CDP$TXT [00:00] S(6);
- BEGIN
- ITEM CDP$TIM C(00,00,10) = [" "];
- ITEM CDP$TRK C(01,00,07) = ["TRUNK: "];
- ITEM CDP$TNM C(01,42,07);
- ITEM CDP$MSG C(02,24,26) = [", CE DIAG TEST IN PROGRESS"];
- ITEM CDP$ZBYT U(05,00,60) = [0];
- END
- #
- * THIS ARRAY IS USED TO SAVE THE CURRENT TRUNK NAME.
- #
- ARRAY CRNT$TNM [00:00] S(1);
- BEGIN
- ITEM CRNT$TRK C(00,18,07);
- END
- #
- THIS ARRAY DEFINES THE -DUPLICATE CLA ADDRESS- MESSAGE TEXT. THIS
- IS SENT WHEN A STU/TR/U SM IS RECEIVED WITH A REASON CODE SET TO
- SIX.
- #
- ARRAY DCA$TXT [00:00] S(5);
- BEGIN
- ITEM DCA$TIM C(00,00,10) = [" "];
- ITEM DCA$TRK C(01,00,07) = ["TRUNK: "];
- ITEM DCA$TNM C(01,42,07);
- ITEM DCA$MSG C(02,24,23) = [", DUPLICATE CLA ADDRESS"];
- ITEM DCA$ZBYT U(04,42,18) = [ 0 ];
- END
- #
- THIS BASED ARRAY IS USED TO POINT TO THE MESSAGE TEXT THAT WILL BE
- SENT WHEN A STU/TR/U SM IS RECEIVED AND THE REASON CODE IS NON-
- ZERO.
- #
- BASED ARRAY ERR$MSG [00:00] S(4);
- BEGIN
- ITEM EMS$TIM C(00,00,10);
- ITEM EMS$TNM C(01,42,07);
- END
- #
- THIS ARRAY DEFINES THE -IN DESIRED STATE- MESSAGE TEXT. THIS IS
- SENT WHEN A STU/TR/U SM IS RECEIVED WITH THE REASON CODE SET TO
- EIGHT.
- #
- ARRAY IDS$TXT [00:00] S(6);
- BEGIN
- ITEM IDS$TIM C(00,00,10) = [" "];
- ITEM IDS$TRK C(01,00,07) = ["TRUNK: "];
- ITEM IDS$TNM C(01,42,07);
- ITEM IDS$MSG C(02,24,26) = [", IN DESIRED STATE ALREADY"];
- ITEM IDS$ZBYT U(05,00,60) = [0];
- END
- #
- THIS ARRAY DEFINES THE -LAST PATH TO CS- MESSAGE TEXT. THIS IS
- SENT WHEN A STU/TR/U SM IS RECEIVED AND THE REASON CODE IS SET TO
- FOUR.
- #
- ARRAY LPC$TXT [00:00] S(5);
- BEGIN
- ITEM LPC$TIM C(00,00,10) = [" "];
- ITEM LPC$TRK C(01,00,07) = ["TRUNK: "];
- ITEM LPC$TNM C(01,42,07);
- ITEM LPC$MSG C(02,24,19) = [", LAST PATH TO A CS"];
- ITEM LPC$ZBYT U(04,18,42) = [0];
- END
- #
- THIS ARRAY DEFINES THE LINE TYPE TABLE. THE VALUES IN THIS TABLE
- MAP DIRECTLY TO THE NUMERICAL VALUE IN THE SM.
- #
- DEF MX$LT # 12 #;
- ARRAY LT$TABLE [01:MX$LT] S(1);
- BEGIN
- ITEM LT$VAL C(00,00,02) = ["S1",
- "S2",
- "S3",
- ,,
- "A1",
- "A2",
- ,
- "A6",
- "H1",
- "S4",
- "H2",
- ];
- END
- #
- THIS ARRAY DEFINES THE -NO LIP CONFIGURED- MESSAGE TEXT. THIS IS
- SENT WHEN A STU/TR/U IS RECEIVED AND THE REASON CODE IS SET TO
- FIVE.
- #
- ARRAY NLC$TXT [00:00] S(5);
- BEGIN
- ITEM NLC$TIM C(00,00,10) = [" "];
- ITEM NLC$TRK C(01,00,07) = ["TRUNK: "];
- ITEM NLC$TNM C(01,42,07);
- ITEM NLC$MSG C(02,24,20) = [", LIP NOT CONFIGURED"];
- ITEM NLC$ZBYT1 U(04,24,36) = [0];
- END
- #
- THIS ARRAY DEFINES THE STATUS TABLE. THE VALUES IN THIS TABLE MAP
- DIRECTLY TO THE NUMERIC VALUE IN THE INCOMING SM.
- #
- DEF MX$ST # 5 #;
- ARRAY ST$TABLE [01:MX$ST] S(1);
- BEGIN
- ITEM ST$VAL C(00,00,02) = ["NC",
- "DI",
- "DN",
- "EN",
- "AC",
- ];
- END
- #
- THIS ARRAY DEFINES THE TRUNK STATUS TEXT. THIS IS SENT WHEN A
- STU/TR/U IS RECEIVED.
- #
- ARRAY TRS$TXT [00:05] S(1);
- BEGIN
- ITEM TRS$TIM C(00,00,10);
- ITEM TRS$TRNK C(01,00,07) = ["TRUNK: "];
- ITEM TRS$TNM C(01,42,07);
- ITEM TRS$C1 C(02,24,01) = [","];
- ITEM TRS$ST C(02,30,02);
- ITEM TRS$C2 C(02,42,01) = [","];
- ITEM TRS$LT C(02,48,02);
- ITEM TRS$C3 C(03,00,01) = [","];
- ITEM TRS$NNM1 C(03,06,07);
- ITEM TRS$S1 C(03,48,01) = ["/"];
- ITEM TRS$P1 C(03,54,02);
- ITEM TRS$C4 C(04,06,01) = [","];
- ITEM TRS$NNM2 C(04,12,07);
- ITEM TRS$S2 C(04,54,01) = ["/"];
- ITEM TRS$P2 U(05,00,12);
- ITEM TRS$ZBYT C(05,12,48) = [0];
- END
- #
- THIS ARRAY DEFINES THE NAME USED WHEN ONE CAN NOT BE FOUND.
- #
- ARRAY UNK$TXT [00:00] S(1);
- BEGIN
- ITEM UNK$NAME C(00,18,07) = ["UNKNOWN"];
- END
- CONTROL EJECT;
- # #
- # CSESTR CODE BEGINS HERE #
- # #
- #
- * BUILD THE TEXT THAT REPORTS THE TRUNK STATUS. SEARCH THE PHYSICAL
- * LINK TABLE FOR THIS TRUNK USING THE SOURCE NODE I.D OF THIS SM AND
- * THE PORT I.D. IF FOUND, SEARCH THE NPUCB-S FOR THE NPU OPPOSITE
- * THE NPU THAT SENT THIS SM. IF AN NPUCB IS FOUND THE NAME AS NPU2
- * OF THE TEXT, ELSE INSERT -UNKNOWN- AS THE NAME. CONVERT P2 TO
- * DISPLAY CODE AND INSERT IT INTO THE TEXT. IF A PHYSICAL LINK
- * TABLE ENTRY WAS NOT FOUND, THEN IS -UNKNOWN- AS THE NAME OF NPU2
- * AND CLEAR THE P2 VALUE IN THE TEXT. SEARCH THE NPUCB-S FOR THE
- * NPU THAT SENT THIS MESSAGE. IF FOUND THEN INSERT THE NAME OF NPU1
- * INTO THE TEXT, ELSE APPEND -UNKNOWN- AS NPU1. CONVERT THE P1
- * VALUE AND APPEND IT TO THE TEXT. CONVERT THE STATUS AND LINE TYPE
- * AND APPEND THEM TO THE TEXT.
- #
- FOR I=0 STEP 1 WHILE NOT(((ABHSN[0] EQ PLX$TN1[I] AND
- STUP[0] EQ PLX$TP1[I]) OR
- (ABHSN[0] EQ PLX$TN2[I] AND
- STUP[0] EQ PLX$TP2[I])) AND
- PLX$TYPE[I]) AND
- I LS PLXREFL/2
- DO
- BEGIN
- END
- IF I LS PLXREFL/2
- THEN
- BEGIN
- IF ABHSN[0] EQ PLX$TN1[I]
- THEN
- BEGIN
- NID2 = PLX$TN2[I];
- P2 = PLX$TP2[I];
- END
- ELSE
- BEGIN
- NID2 = PLX$TN1[I];
- P2 = PLX$TP1[I];
- END
- FOR J=0 STEP 1 WHILE NID2 NQ NPU$NID[J] AND
- J LS CSNPCNT
- DO
- BEGIN
- END
- IF J LS CSNPCNT
- THEN
- BEGIN
- TRS$NNM2[0] = NPU$NAME[J];
- END
- ELSE
- BEGIN
- TRS$NNM2[0] = UNK$NAME[0];
- END
- TRS$P2[0] = XCHD(X"100" + P2);
- CNST1 = 1;
- CNST2 = 42;
- SSBSBF(TRS$TXT,CNST1,CNST2,CNST2,B<0,42>PLX$WORD[I]);
- CRNT$TRK[0] = PLX$NAME[I];
- END
- ELSE
- BEGIN
- TRS$NNM2[0] = UNK$NAME[0];
- TRS$P2[0] = "--";
- CNST1 = 1;
- CNST2 = 42;
- SSBSBF(TRS$TXT,CNST1,CNST2,CNST2,UNK$TXT);
- CRNT$TRK[0] = UNK$NAME[0];
- END
- FOR I=0 STEP 1 WHILE ABHSN[0] NQ NPU$NID[I] AND
- I LS CSNPCNT
- DO
- BEGIN
- END
- IF I LS CSNPCNT
- THEN
- BEGIN
- TRS$NNM1[0] = NPU$NAME[I];
- END
- ELSE
- BEGIN
- TRS$NNM1[0] = UNK$NAME[0];
- END
- ITEMP = XCHD(X"100" + STUP[0]);
- CNST1 = 3;
- CNST2 = 54;
- CNST3 = 12;
- SSBSBF(TRS$TXT,CNST1,CNST2,CNST3,ITEMP);
- TRS$ST[0] = ST$VAL[STUSTI[0]];
- TRS$LT[0] = LT$VAL[STULT[0]];
- #
- * IF THIS SM IS A STU/TR/U THEN APPEND THE CURRENT TIME TO THE TEXT.
- * SEND IT OFF TO THE OPERATOR RESPONSE QUEUE WITH THE AUDIENCE GROUP
- * SET TO ONE. IF THE REASON CODE FIELD IS NON-ZERO. SELECT THE
- * APPROPRIATE TEXT BASED ON THE REASON CODE VALUE. SEND THE TEXT
- * OFF TO THE OPERATOR RESPONSE QUEUE WITH THE AUDIENCE GROUP SET
- * TO ONE.
- #
- IF WCB$SMID[0] EQ SMID"STUTR"
- THEN
- BEGIN
- TRS$TIM[0] = CTM$CLOCK[0];
- WCB$WORD[1] = 0;
- WCB$WC[1] = 2 + (TRS$TXTL / 10);
- ABHWORD[1] = TRS$TXTL;
- ABHADR[1] = AUDGR3$;
- ABHABN[1] = I;
- SSTAQE(P<ORQ>,WCBUF[1],ABH[1],TRS$TXT[0]);
- CSESLE(ABHSN[0],WCBUF[1],TRS$TXT);
- IF STURCI[0] NQ 0
- THEN
- BEGIN
- IF STURCI[0] EQ RRCR"ND"
- THEN
- BEGIN
- P<ERR$MSG> = LOC(LPC$TXT);
- ABHTLC[1] = LPC$TXTL;
- END
- ELSE IF STURCI[0] EQ RRCR"NL"
- THEN
- BEGIN
- P<ERR$MSG> = LOC(NLC$TXT);
- ABHTLC[1] = NLC$TXTL;
- END
- ELSE IF STURCI[0] EQ RRCI"DC"
- THEN
- BEGIN
- P<ERR$MSG> = LOC(DCA$TXT);
- ABHTLC[1] = DCA$TXTL;
- END
- ELSE IF STURCI[0] EQ RRCR"DUC"
- THEN
- BEGIN
- P<ERR$MSG> = LOC(CDP$TXT);
- ABHTLC[1] = CDP$TXTL;
- END
- ELSE IF STURCI[0] EQ RRCR"UC"
- THEN
- BEGIN
- P<ERR$MSG> = LOC(IDS$TXT);
- ABHTLC[1] = IDS$TXTL;
- END
- WCB$WC[1] = 2 + (ABHTLC[1] / 10);
- CNST1 = 1;
- CNST2 = 42;
- SSBSBF(ERR$MSG,CNST1,CNST2,CNST2,CRNT$TNM);
- SSTAQE(P<ORQ>,WCBUF[1],ABH[1],ERR$MSG);
- CSESLE(ABHSN[0],WCBUF[1],ERR$MSG);
- END
- END
- #
- * IF THIS SM IS STU/TR/N, THEN SEND THE TRUNK STATUS TEXT TO THE
- * C-LAYER WITH THE INPUT ALLOWED FLAG CLEARED.
- #
- ELSE # IF NOT STU/TR/U, THEN ASSUME A STU/TR/N #
- BEGIN
- WCB$WORD[1] = 0;
- WCB$SMID[1] = SMID"TTEXT";
- WCB$WC[1] = 2 + (TRS$TXTL / 10) - 1;
- ABHWORD[1] = 0;
- ABHADR[1] = ABHCN[0];
- ABHTLC[1] = TRS$TXTL - 10;
- SSTAQE(P<CNQ>,WCBUF[1],ABH[1],TRS$TXT[1]);
- END
- RETURN; # **** RETURN **** #
- END # CSESTR #
- TERM
cdc/nos2.source/nam5871/csestr.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator