Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

IP phone problems

Status
Not open for further replies.

megglesfield

Technical User
Aug 8, 2003
87
KH
I have recently upgraded a single LIM PABX from BC11SP11 to BC11SP13 . Standard application system. There is no upgrade path from SP11 to SP13 so a complete rebuild was done using INL etc. Everything works fine excepting IP phones. Internal calls on IP phones are fine as ring back tone is heard, however on external calls via either of our two ISDN routes, call progress tones are not heard, even though the call proceeds to its destination successfully. At answer, the caller is heard and the call proceeds normally.

After upgrade the firmware on the ELU32 was upgraded to R2B1.

All other phones analogue, Digital, DECT, work OK.

ROUTE DATA
ROU TYPE VARC VARI VARO FILTER
101 SL60 H'00000210 H'15420000 H'06410000 NO

ROU SEL TRM SERV NODG DIST DISL TRAF SIG BCAP
101 711000000000001 5 3101000001 0 30 128 00040415 111110000031 111111


If I change varc D6 TO 3 and SIG D7 to 1, call progress tones generated locally are heard, but if a recording, saying for example "the mobile you called is off or out of range", this recording is not heard only the locally generated ring tone, so this is not a workable solution.



Anyone have any ideas?
 
Hi megglesfield,

2 things :
1) upgrading BC11SP11 to SP13 IS possible (first upgrade to SP12 and then to SP13)
2) your problem is already fixed by E/// and is known as the noringtone patch , you can find the patch hereunder.

PCPAS:UNIT=CMP,CI=S100626A;
Y;
PCASE:UNIT=CMP,CI=S100626A;
Y;
PCASI:UNIT=IWSP,REV=1-R7A,CI=S100806A,IA=CEC0,RA=CEC6;
JSR PROGSTART+$8BC;
TST.B ($206,A6); ! IF T_TONE_TYPE1 = !
BNE LEND; ! TONE_TYPE_MISCELLANEOUS THEN !
MOVE.B #47,D0;
CMP.B ($205,A6),D0; ! IF T_TONE_OFFSET1 = !
BNE LEND; ! TONE_OPEN_LOUDSPEAKER THEN !
MOVE.B D0,($352,A6); ! T_TONE_MESSAGE = TONE_OPEN_LOUDSPEAKER; !
LEND:; ! FI; FI; !
END;
!A;
PCACS:UNIT=IWSP,CI=S100806A;
Y;
PCCOS:UNIT=IWSP,CI=S100806A;
Y;


greetings,

 
Thanks whoardaddy,

Unfortunately this patch has not fixed the problem.

Any other ideas.

 
oops forget a "small" part of the patches :

now it's complete :

/* ASSEMBLY SOLUTION : */
PCASI:UNIT=IPLP,REV=1-R17A,CI=S99341A,IA=A634,RA=A666;
END; ! GOTO INC_CALL_PROCEEDING_160!
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S99341A,IA=A6FC,RA=A63A,BYTE=6;
BEQ WHENCALORG30;
JMP PROGSTART+$A704; ! OTHERWISE CASE WHICH CALLS TO MDN_EVENT_REPORT !
WHENCALORG30:;
MOVE.B #$01,($38B,A6); ! T_Message = ALERTING !
END; ! GO TO PLACE WHERE CALL TO PREPARE_AND_SEND_Q931!
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S99341A,IA=A70A,RA=A63A;
JSR PROGSTART+$18F48; ! DO CSTA_CALL_EVENT !
MOVE.B #$01,($38B,A6); ! T_Message = ALERTING !
END; ! GO TO PLACE WHERE CALL TO PREPARE_AND_SEND_Q931!
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S99341A,IA=A660,RA=A714;
JSR PROGSTART+$14A30; ! DO RELEASE_IEREC_GENERAL !
TRAPT.W #QEXIT;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S99341A,IA=205A4,RA=205AA,BYTE=4;
BNE CONTINUECASE; ! GET_TONE_TYPE_OFFSET - CASE T_CallProgressInfo IS !
WHENCALORG:;
CMP.B #$0A,($5F6,A6); ! T_ProgressMessage == CALORGMES10 ?!
BEQ WHENCALORGMES10;
OTHERWISE:;
MOVEA.L ($8,A6),A4;
MOVE.L A4,D1;
TRAPEQ.W #QFP;
MOVE.B ($27,A4),($236,A4); ! CALL2P:tone_type = CALL2P:call_progress_info !
MOVE.B ($1CA,A4),($237,A4); ! CALL2P:tone_offest = CALL2P:progress_message !
BRA ESAC;
WHENCALORGMES10:;
MOVEA.L ($8,A6),A4;
MOVE.L A4,D1;
TRAPEQ.W #QFP;
CLR.B ($236,A4); ! CALL2P:tone_type = TONE_TYPE_MISCELLANEOUS !
MOVE.B #47,($237,A4); ! CALL2P:tone_offset = TONE_OPEN_LOUDSPEAKER !
ESAC:;
JMP PROGSTART+$2067C; ! GOTO GET_TONE_TYPE_OFFSET_END !
CONTINUECASE:;
END;
!A;
PCACS:UNIT=IPLP,CI=S99341A;
Y;
PCCOS:UNIT=IPLP,CI=S99341A;
Y;
/* ASSEMBLY SOLUTION : */
PCPAS:UNIT=IPLP,CI=S96407A;
Y;
PCASE:UNIT=IPLP,CI=S96407A;
Y;
PCPAS:UNIT=IPLP,CI=S97460A;
Y;
PCASE:UNIT=IPLP,CI=S97460A;
Y;
PCPAS:UNIT=IPLP,CI=S97878A;
Y;
PCASE:UNIT=IPLP,CI=S97878A;
Y;
PCPAS:UNIT=IPLP,CI=S97937A;
Y;
PCASE:UNIT=IPLP,CI=S97937A;
Y;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S99493A,IA=20626,RA=2067C,BYTE=6;
BEQ L0;
CMP.B #1,D4;
BEQ L0;
CMP.B #2,D4;
BEQ L0;
CMP.B #3,D4;
BNE LEND;
JMP PROGSTART+$20646;
L0:;
CLR.B ($236,A2);
MOVE.B #47,($237,A2);
LEND:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S99493A,IA=4FEE,RA=5072,BYTE=2;
MOVEA.L ($2,A6),A4;
MOVE.L A4,D4;
TRAPEQ.W #QFP;
CMP.B #8,($27,A4);
BNE LEND;
MOVE.B ($1CA,A4),D4;
TST.B D4;
BEQ L0;
CMP.B #1,D4;
BEQ L0;
CMP.B #2,D4;
BNE LEND;
L0:;
MOVE.W ($245,A4),D4;
MOVE.W D4,($3E,A6);
SUBA.L A2,A2;
CMP.W ($7A,A1),D4;
BCC L1;
MULU.W #$38C,D4;
MOVEA.L A0,A2;
ADDA.L ($82,A1),A2;
LEA.L (0,A2,D4.L),A2;
L1:;
MOVE.L A2,($40,A6);
CMP.B #1,($2F4,A2);
BNE LEND;
CMP.B #1,($5CE,A1);
BNE LEND;
MOVE.B ($27,A4),($FD,A6);
MOVE.B ($1CA,A4),($5F6,A6);
JSR PROGSTART+$23424;
MOVE.B #10,($74E,A6);
JSR PROGSTART+$17B3E;
LEND:;
END;
!A;
PCACS:UNIT=IPLP,CI=S99493A;
Y;
PCCOS:UNIT=IPLP,CI=S99493A;
Y;
/* ASSEMBLY SOLUTION : */
PCASI:UNIT=IWSP,REV=1-R7A,CI=S99344A,IA=CC26,RA=CC2C;
JSR PROGSTART+$8BC;
TST.B ($206,A6); ! IF T_TONE_TYPE1 = !
BNE LEND; ! TONE_TYPE_MISCELLANEOUS THEN !
MOVE.B #47,D0;
CMP.B ($205,A6),D0; ! IF T_TONE_OFFSET1 = !
BNE LEND; ! TONE_OPEN_LOUDSPEAKER THEN !
MOVE.B D0,($352,A6); ! T_TONE_MESSAGE = TONE_OPEN_LOUDSPEAKER; !
LEND:; ! FI; FI; !
END;
!A;
PCACS:UNIT=IWSP,CI=S99344A;
Y;
PCCOS:UNIT=IWSP,CI=S99344A;
Y;
/* ASSEMBLY SOLUTION : */
PCPAS:UNIT=CMP,CI=S100626A;
Y;
PCASE:UNIT=CMP,CI=S100626A;
Y;
PCASI:UNIT=IWSP,REV=1-R7A,CI=S100806A,IA=CEC0,RA=CEC6;
JSR PROGSTART+$8BC;
TST.B ($206,A6); ! IF T_TONE_TYPE1 = !
BNE LEND; ! TONE_TYPE_MISCELLANEOUS THEN !
MOVE.B #47,D0;
CMP.B ($205,A6),D0; ! IF T_TONE_OFFSET1 = !
BNE LEND; ! TONE_OPEN_LOUDSPEAKER THEN !
MOVE.B D0,($352,A6); ! T_TONE_MESSAGE = TONE_OPEN_LOUDSPEAKER; !
LEND:; ! FI; FI; !
END;
!A;
PCACS:UNIT=IWSP,CI=S100806A;
Y;
PCCOS:UNIT=IWSP,CI=S100806A;
Y;
/*======================================================================*/




 
Thanks again whosrdaddy,

However still no luck. I am using AS standard, is this patch for the standard AS? Using ECC (Ericsson Communication Client), I get PC generated tones.

An ideas?

 
Make sure you have the latest FW in ELU32
and in the ip-phones and SP13 .

ELU32:VOIPFR2D
D3 IP-phone:
Boot R4A
config R6J
Appl R6J
D4 IP-phone
Boot R2A
Appl R2B
config R2C
lang R2A
And patch for using VOIPFR2D in BC11 .
[tt]
/*======================================================================*/
/* ASSEMBLY SOLUTION : */
PCPAS:UNIT=IPLP,CI=S99247A;
Y;
PCASE:UNIT=IPLP,CI=S99247A;
Y;
PCPAS:UNIT=IPLP,CI=S95910A;
Y;
PCASE:UNIT=IPLP,CI=S95910A;
Y;
PCPAS:UNIT=IPLP,CI=S98895A;
Y;
PCASE:UNIT=IPLP,CI=S98895A;
Y;
PCPAS:UNIT=IPLP,CI=S99229A;
Y;
PCASE:UNIT=IPLP,CI=S99229A;
Y;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=30AAE,RA=30B08;
MOVE.B ($763,A6),(A5)+; ! SEND ACTVTELUIP TO SPU3 !
MOVE.B ($764,A6),(A5)+;
MOVE.B ($765,A6),(A5)+;
MOVE.B ($766,A6),(A5)+;
MOVE.B ($767,A6),(A5)+;
MOVE.B ($768,A6),(A5)+;
MOVE.B ($769,A6),(A5)+;
MOVE.B ($76A,A6),(A5)+;
CLR.B (A5)+; ! Ethernet negotiation !
TRAPT.W #$0409;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=31FC4,RA=31FCA,BYTE=6;
MOVE.B #40,($763,A6); ! BEGIN PREPARE_DATA_ACTVTELUIP !
MOVE.B #10,($764,A6);
MOVE.B #80,($765,A6);
MOVE.B #20,($766,A6);
MOVE.B #30,($767,A6);
MOVE.B #10,($768,A6);
MOVE.B #80,($769,A6);
MOVE.B #20,($76A,A6);
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2D6F4,RA=2D6FE;
MOVEA.L (($4A+2),A6),A2; ! ENTER IDENTY !
MOVE.L A2,D6;
TRAPEQ.W #QFP;
MOVE.B ($32,A2),($5FA,A6);
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($46,A5); ! INF1P:congestion_flag = NOTCONGESTED !
MOVE.B D2,($45,A5); ! INF1P:running_autorestart = NO !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,SIGNO=17,RA=2ACDC;
TRAPT.W #$0613; ! ENTER CNGVOIPINF WITH !
MOVE.W (A5)+,($338,A6); ! T_Inf1p !
MOVE.B (A5)+,($147,A6); ! T_DataArray(0) !
MOVE.B (A5)+,(($147+1),A6); ! T_DataArray(1) !
MOVE.B (A5)+,(($147+2),A6); ! T_DataArray(2) !
MOVE.B (A5)+,(($147+3),A6); ! T_DataArray(3) !
MOVE.B (A5)+,(($147+4),A6); ! T_DataArray(4) !
MOVE.B (A5)+,(($147+5),A6); ! T_DataArray(5) !
MOVE.B (A5)+,(($147+6),A6); ! T_DataArray(6) !
MOVE.W ($338,A6),D5;
MOVE.W D5,($4A,A6);
SUBA.L A3,A3;
SUBA.L A4,A4;
CMP.W ($88,A1),D5;
BCC L7338;
MOVE.W D5,D7;
MULU.W #$56,D5;
MOVEA.L A0,A3;
ADDA.L ($90,A1),A3;
LEA.L (0,A3,D5.L),A3;
MULU.W #$23,D7;
MOVEA.L A1,A4;
ADDA.L ($8A,A1),A4;
LEA.L (0,A4,D7.L),A4;
L7338:;
MOVEM.L A3/A4,(($4A+2),A6);
MOVE.B ($147,A6),D6;
CMP.B #$00,D6; ! GREEN_CONGESTION_LEVEL ? !
BNE CHECKLEVELS;
TRAPT.W #QEXIT;
CHECKLEVELS:;
CMP.B #$01,D6; ! YELLOW_CONGESTION_LEVEL ? !
BEQ CASE7340;
CMP.B #$02,D6; ! RED_CONGESTION_LEVEL ? !
BEQ CASE7341;
MOVE.B #4,($724,A6);
MOVE.B #98,($660,A6);
MOVE.B #34,($2D9,A6);
MOVE.B ($147,A6),D0;
ANDI.W #$FF,D0;
MOVE.W D0,($34B,A6);
JSR PROGSTART+$2F368; ! DO DEBUG_ILLEGALSTATEB !
TRAPT.W #QEXIT;
BRA ESAC7342;
CASE7340:; ! WHEN YELLOW_CONGESTION_LEVEL DO !
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D2;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A2); ! IF INF1P:congestion_flag == CONGESTED THEN !
BNE ELSIF7344;
TRAPT.W #QEXIT; ! EXIT !
ELSIF7344:;
FI7343:;
MOVEQ #1,D6;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D4;
TRAPEQ.W #QFP;
MOVE.B D6,($46,A5); ! INF1P:congestion_flag = CONGESTED !
MOVE.B ($47,A5),D3; ! CASE INF1P:congestion_history_index IS!
CMP.B #$FF,D3; ! WHEN NOTVALID_8 !
BEQ CASE7346;
CMP.B #$01,D3; ! WHEN MAX_CONGESTION_HISTORY_INDEX!
BEQ CASE7346;
ADD.B D6,D3; ! OTHERWISE !
MOVE.B D3,($47,A5); ! INF1P:congestion_history_index++!
BRA ESAC7347;
CASE7346:;
MOVEQ #0,D1;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D0;
TRAPEQ.W #QFP;
MOVE.B D1,($47,A3);
ESAC7347:;
CLR.W ($12E,A6);
BRA L27350;
LOOPBODY7349:;
MOVEQ #6,D5;
MOVE.W ($12E,A6),D7;
CMP.W D7,D5;
BLS NO7348;
ADD.W #1,D7;
MOVE.W D7,($12E,A6);
L27350:;
CLR.L D6;
MOVE.W ($12E,A6),D6;
CMP.L #255,D6;
TRAPHI.W #QFI;
MOVE.B ($147,A6,D6.L),D3;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D0;
TRAPEQ.W #QFP;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D1;
TRAPEQ.W #QFP;
CLR.L D2;
MOVE.B ($47,A2),D2;
CMP.L #1,D2;
TRAPHI.W #QFI;
MULU.L #7,D2;
LEA ($48,A4,D2.L),A5;
CMP.L #6,D6;
TRAPHI.W #QFI;
MOVE.B D3,(0,A5,D6.L);
BRA LOOPBODY7349;
NO7348:;
MOVEQ #0,D5;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D4;
TRAPEQ.W #QFP;
CMP.W ($3C,A3),D5; ! INF1P:num_of_active_EPs /= 0 ? !
BEQ ESAC7342;
TRAPT.W #QEXIT;
ELSIF7353:;
FI7352:;
CASE7341:;
MOVEQ #1,D0;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D1;
TRAPEQ.W #QFP;
MOVE.B D0,($46,A5);
MOVE.B ($47,A5),D3;
CMP.B #$FF,D3;
BEQ CASE7355;
CMP.B #$01,D3;
BEQ CASE7355;
ADD.B D0,D3;
MOVE.B D3,($47,A5);
BRA ESAC7356;
CASE7355:;
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($47,A4);
ESAC7356:;
CLR.W ($12E,A6);
BRA L27359;
LOOPBODY7358:;
MOVEQ #6,D5;
MOVE.W ($12E,A6),D7;
CMP.W D7,D5;
BLS NO7357;
ADD.W #1,D7;
MOVE.W D7,($12E,A6);
L27359:;
CLR.L D0;
MOVE.W ($12E,A6),D0;
CMP.L #255,D0;
TRAPHI.W #QFI;
MOVE.B ($147,A6,D0.L),D3;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D6;
TRAPEQ.W #QFP;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D2;
TRAPEQ.W #QFP;
CLR.L D4;
MOVE.B ($47,A3),D4;
CMP.L #1,D4;
TRAPHI.W #QFI;
MULU.L #7,D4;
LEA ($48,A2,D4.L),A5;
CMP.L #6,D0;
TRAPHI.W #QFI;
MOVE.B D3,(0,A5,D0.L);
BRA LOOPBODY7358;
NO7357:;
ESAC7342:;
MOVEQ #1,D5;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D1;
TRAPEQ.W #QFP;
MOVE.W ($25,A4),D7;
BFINS D5,D7{25:1};
MOVE.W D7,($25,A4); ! INF1P:blocked_ds.StartRestart = YES !
CNGVOIPINF_100:;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
CMPI.B #1,($45,A5); ! INF1P:running_autorestart == YES ? !
BNE ELSIF7362;
TRAPT.W #QEXIT;
ELSIF7362:;
FI7361:;
MOVE.B #1,($45,A5); ! INF1P:running_autorestart = YES !
JSR PROGSTART+$309EE; ! DO SEND_ACTBOARDREQ !
TRAPT.W #QEXIT;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=1A582,RA=1A5A2,BYTE=6;
CMP.B D1,D3; ! OLD CODE: INF1P:blocked_ds.ManIndivReq == YES ? !
BNE CHECKCONGESTIONFLAG; ! SUBROUTINE DEC_INTERF_TRAFFIC_INFO !
JMP PROGSTART+$1A58C;
CHECKCONGESTIONFLAG:;
MOVEA.L ($004C,A6),A4;
MOVE.L A4,D7;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A4); ! congestion_flag == CONGESTED ? !
BNE OUT;
TRAPT.W #QSSBEGIN;
MOVE.W ($4A,A6),(A5)+; ! INF1P -> (A5) !
MOVE.W #$1B,D0; ! SIGNALNUMBER -> D0 !
MOVE.W ($354,A0),D1; ! C_OWNUNIT -> D1 !
MOVE.B ($353,A0),D2; ! C_OWNLIMNO -> D2 !
TRAPT.W #$0201; ! SEND CNGBRDREL !
MOVEQ #1,D2;
MOVEA.L ($4C,A6),A3;
MOVE.L A3,D4;
TRAPEQ.W #QFP;
MOVE.W ($25,A3),D1; ! blocked_ds -> D1 !
BFINS D2,D1{25:1}; ! blocked_ds.StartRestart = YES !
MOVE.W D1,($25,A3); ! D1 ->blocked_ds !
OUT:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,SIGNO=1B,RA=2ACDC;
TRAPT.W #$0213; ! ENTER CNGBRDREL WITH !
MOVE.W (A5)+,($338,A6); ! T_Inf1p !
MOVE.W ($338,A6),D3;
MOVE.W D3,($4A,A6);
SUBA.L A3,A3;
SUBA.L A4,A4;
CMP.W ($88,A1),D3;
BCC L7364;
MOVE.W D3,D2;
MULU.W #$56,D3;
MOVEA.L A0,A3;
ADDA.L ($90,A1),A3;
LEA.L (0,A3,D3.L),A3;
MULU.W #$23,D2;
MOVEA.L A1,A4;
ADDA.L ($8A,A1),A4;
LEA.L (0,A4,D2.L),A4;
L7364:;
MOVEM.L A3/A4,(($4A+2),A6);
CNGVOIPINF_100:;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
CMPI.B #1,($45,A5); ! INF1P:running_autorestart == YES ? !
BNE ELSIF7362;
TRAPT.W #QEXIT;
ELSIF7362:;
MOVE.B #1,($45,A5); ! INF1P:running_autorestart = YES !
JSR PROGSTART+$309EE; ! DO SEND_ACTBOARDREQ !
TRAPT.W #QEXIT;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=228AE,RA=228B6,BYTE=8;
MOVEQ #0,D1; ! SUBROUTINE RELEASE_MULTNO !
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D2;
TRAPEQ.W #QFP;
CMP.W ($3C,A5),D1;
BNE ELSIF6250;
MOVE.W ($25,A5),D4;
BFEXTU D4{22:1},D3;
MOVEQ #1,D7;
CMP.B D7,D3;
BNE ELSIF6252;
MOVE.W ($25,A5),D0;
BFINS D7,D0{24:1};
MOVE.W D0,($25,A5);
MOVEQ #0,D5;
BFINS D5,D0{22:1};
MOVE.W D0,($25,A5);
ELSIF6252:;
FI6251:;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D2;
TRAPEQ.W #QFP;
MOVE.W ($25,A2),D1;
BFEXTU D1{23:1},D4;
MOVEQ #1,D5;
CMP.B D5,D4;
BNE ELSIF6254;
MOVE.W ($25,A2),D7;
BFINS D5,D7{31:1};
MOVE.W D7,($25,A2);
MOVEQ #0,D6;
BFINS D6,D7{23:1};
MOVE.W D7,($25,A2);
ELSIF6254:;
FI6253:;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D3;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A4);
BNE ELSIF6256;
TRAPT.W #QSSBEGIN;
MOVE.W ($4A,A6),(A5)+; ! INF1P -> (A5) !
MOVE.W #$1B,D0; ! SIGNALNUMBER -> D0 !
MOVE.W ($354,A0),D1; ! C_OWNUNIT -> D1 !
MOVE.B ($353,A0),D2; ! C_OWNLIMNO -> D2 !
TRAPT.W #$0201; ! SEND CNGBRDREL !
MOVEQ #1,D1;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D6;
TRAPEQ.W #QFP;
MOVE.W ($25,A3),D5;
BFINS D1,D5{25:1}; ! blocked_ds.StartRestart = YES !
MOVE.W D5,($25,A3);
ELSIF6256:;
FI6255:;
ELSIF6250:;
FI6249:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=3065C,RA=3066C,BYTE=16;
CLR.B ($45,A4); ! RESET_INTERFACE_DATA_DS:INF1P:running_autorestart = NO !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=306CA,RA=306D2,BYTE=8;
CLR.B ($46,A5); ! RESET_INTERFACE_DATA_DS : LOOP !
MOVE.B #$FF,($47,A5);
CLR.B ($331,A6);
BRA L28122;
LOOPBODY8121:;
MOVE.B ($331,A6),D6;
MOVEQ #1,D2;
CMP.B D2,D6;
BCC NO8120;
ADD.B D2,D6;
MOVE.B D6,($331,A6);
L28122:;
CLR.W ($12E,A6);
BRA L28126;
LOOPBODY8125:;
MOVEQ #6,D3;
MOVE.W ($12E,A6),D1;
CMP.W D1,D3;
BLS NO8124;
ADD.W #1,D1;
MOVE.W D1,($12E,A6);
L28126:;
MOVE.W #255,D0;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D5;
TRAPEQ.W #QFP;
CLR.L D2;
MOVE.B ($331,A6),D2;
CLR.L D6;
MOVE.W ($12E,A6),D6;
CMP.L #1,D2;
TRAPHI.W #QFI;
MULU.L #7,D2;
LEA ($48,A3,D2.L),A4;
CMP.L #6,D6;
TRAPHI.W #QFI;
MOVE.B D0,(0,A4,D6.L);
BRA LOOPBODY8125;
NO8124:;
BRA LOOPBODY8121;
NO8120:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=30758,RA=30780;
END; ! RESET_INTERFACE_DATA_DS !
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2D876,RA=2D886;
MOVE.B #1,($626,A6); ! ENTER TESTFUNCRES!
MOVE.B ($32,A2),($5FA,A6);
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($46,A5); ! INF1P:congestion_flag = NOTCONGESTED !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2E678,RA=2E688;
MOVE.B #2,($626,A6); ! ENTER CTMOUTB !
MOVE.B ($32,A3),($5FA,A6);
CLR.B ($46,A3); ! INF1P:congestion_flag = NOTCONGESTED !
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
END;
!A;
PCACS:UNIT=IPLP,CI=S101173A;
Y;
PCCOS:UNIT=IPLP,CI=S101173A;
Y; /*======================================================================*/
[/tt]
 
Patch was cut off
[tt]
/*----------------------------------------------------------------------*/
/* ASSEMBLY SOLUTION : */
PCPAS:UNIT=IPLP,CI=S99247A;
Y;
PCASE:UNIT=IPLP,CI=S99247A;
Y;
PCPAS:UNIT=IPLP,CI=S95910A;
Y;
PCASE:UNIT=IPLP,CI=S95910A;
Y;
PCPAS:UNIT=IPLP,CI=S98895A;
Y;
PCASE:UNIT=IPLP,CI=S98895A;
Y;
PCPAS:UNIT=IPLP,CI=S99229A;
Y;
PCASE:UNIT=IPLP,CI=S99229A;
Y;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=30AAE,RA=30B08;
MOVE.B ($763,A6),(A5)+; ! SEND ACTVTELUIP TO SPU3 !
MOVE.B ($764,A6),(A5)+;
MOVE.B ($765,A6),(A5)+;
MOVE.B ($766,A6),(A5)+;
MOVE.B ($767,A6),(A5)+;
MOVE.B ($768,A6),(A5)+;
MOVE.B ($769,A6),(A5)+;
MOVE.B ($76A,A6),(A5)+;
CLR.B (A5)+; ! Ethernet negotiation !
TRAPT.W #$0409;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=31FC4,RA=31FCA,BYTE=6;
MOVE.B #40,($763,A6); ! BEGIN PREPARE_DATA_ACTVTELUIP !
MOVE.B #10,($764,A6);
MOVE.B #80,($765,A6);
MOVE.B #20,($766,A6);
MOVE.B #30,($767,A6);
MOVE.B #10,($768,A6);
MOVE.B #80,($769,A6);
MOVE.B #20,($76A,A6);
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2D6F4,RA=2D6FE;
MOVEA.L (($4A+2),A6),A2; ! ENTER IDENTY !
MOVE.L A2,D6;
TRAPEQ.W #QFP;
MOVE.B ($32,A2),($5FA,A6);
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($46,A5); ! INF1P:congestion_flag = NOTCONGESTED !
MOVE.B D2,($45,A5); ! INF1P:running_autorestart = NO !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,SIGNO=17,RA=2ACDC;
TRAPT.W #$0613; ! ENTER CNGVOIPINF WITH !
MOVE.W (A5)+,($338,A6); ! T_Inf1p !
MOVE.B (A5)+,($147,A6); ! T_DataArray(0) !
MOVE.B (A5)+,(($147+1),A6); ! T_DataArray(1) !
MOVE.B (A5)+,(($147+2),A6); ! T_DataArray(2) !
MOVE.B (A5)+,(($147+3),A6); ! T_DataArray(3) !
MOVE.B (A5)+,(($147+4),A6); ! T_DataArray(4) !
MOVE.B (A5)+,(($147+5),A6); ! T_DataArray(5) !
MOVE.B (A5)+,(($147+6),A6); ! T_DataArray(6) !
MOVE.W ($338,A6),D5;
MOVE.W D5,($4A,A6);
SUBA.L A3,A3;
SUBA.L A4,A4;
CMP.W ($88,A1),D5;
BCC L7338;
MOVE.W D5,D7;
MULU.W #$56,D5;
MOVEA.L A0,A3;
ADDA.L ($90,A1),A3;
LEA.L (0,A3,D5.L),A3;
MULU.W #$23,D7;
MOVEA.L A1,A4;
ADDA.L ($8A,A1),A4;
LEA.L (0,A4,D7.L),A4;
L7338:;
MOVEM.L A3/A4,(($4A+2),A6);
MOVE.B ($147,A6),D6;
CMP.B #$00,D6; ! GREEN_CONGESTION_LEVEL ? !
BNE CHECKLEVELS;
TRAPT.W #QEXIT;
CHECKLEVELS:;
CMP.B #$01,D6; ! YELLOW_CONGESTION_LEVEL ? !
BEQ CASE7340;
CMP.B #$02,D6; ! RED_CONGESTION_LEVEL ? !
BEQ CASE7341;
MOVE.B #4,($724,A6);
MOVE.B #98,($660,A6);
MOVE.B #34,($2D9,A6);
MOVE.B ($147,A6),D0;
ANDI.W #$FF,D0;
MOVE.W D0,($34B,A6);
JSR PROGSTART+$2F368; ! DO DEBUG_ILLEGALSTATEB !
TRAPT.W #QEXIT;
BRA ESAC7342;
CASE7340:; ! WHEN YELLOW_CONGESTION_LEVEL DO !
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D2;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A2); ! IF INF1P:congestion_flag == CONGESTED THEN !
BNE ELSIF7344;
TRAPT.W #QEXIT; ! EXIT !
ELSIF7344:;
FI7343:;
MOVEQ #1,D6;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D4;
TRAPEQ.W #QFP;
MOVE.B D6,($46,A5); ! INF1P:congestion_flag = CONGESTED !
MOVE.B ($47,A5),D3; ! CASE INF1P:congestion_history_index IS!
CMP.B #$FF,D3; ! WHEN NOTVALID_8 !
BEQ CASE7346;
CMP.B #$01,D3; ! WHEN MAX_CONGESTION_HISTORY_INDEX!
BEQ CASE7346;
ADD.B D6,D3; ! OTHERWISE !
MOVE.B D3,($47,A5); ! INF1P:congestion_history_index++!
BRA ESAC7347;
CASE7346:;
MOVEQ #0,D1;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D0;
TRAPEQ.W #QFP;
MOVE.B D1,($47,A3);
ESAC7347:;
CLR.W ($12E,A6);
BRA L27350;
LOOPBODY7349:;
MOVEQ #6,D5;
MOVE.W ($12E,A6),D7;
CMP.W D7,D5;
BLS NO7348;
ADD.W #1,D7;
MOVE.W D7,($12E,A6);
L27350:;
CLR.L D6;
MOVE.W ($12E,A6),D6;
CMP.L #255,D6;
TRAPHI.W #QFI;
MOVE.B ($147,A6,D6.L),D3;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D0;
TRAPEQ.W #QFP;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D1;
TRAPEQ.W #QFP;
CLR.L D2;
MOVE.B ($47,A2),D2;
CMP.L #1,D2;
TRAPHI.W #QFI;
MULU.L #7,D2;
LEA ($48,A4,D2.L),A5;
CMP.L #6,D6;
TRAPHI.W #QFI;
MOVE.B D3,(0,A5,D6.L);
BRA LOOPBODY7349;
NO7348:;
MOVEQ #0,D5;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D4;
TRAPEQ.W #QFP;
CMP.W ($3C,A3),D5; ! INF1P:num_of_active_EPs /= 0 ? !
BEQ ESAC7342;
TRAPT.W #QEXIT;
ELSIF7353:;
FI7352:;
CASE7341:;
MOVEQ #1,D0;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D1;
TRAPEQ.W #QFP;
MOVE.B D0,($46,A5);
MOVE.B ($47,A5),D3;
CMP.B #$FF,D3;
BEQ CASE7355;
CMP.B #$01,D3;
BEQ CASE7355;
ADD.B D0,D3;
MOVE.B D3,($47,A5);
BRA ESAC7356;
CASE7355:;
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($47,A4);
ESAC7356:;
CLR.W ($12E,A6);
BRA L27359;
LOOPBODY7358:;
MOVEQ #6,D5;
MOVE.W ($12E,A6),D7;
CMP.W D7,D5;
BLS NO7357;
ADD.W #1,D7;
MOVE.W D7,($12E,A6);
L27359:;
CLR.L D0;
MOVE.W ($12E,A6),D0;
CMP.L #255,D0;
TRAPHI.W #QFI;
MOVE.B ($147,A6,D0.L),D3;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D6;
TRAPEQ.W #QFP;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D2;
TRAPEQ.W #QFP;
CLR.L D4;
MOVE.B ($47,A3),D4;
CMP.L #1,D4;
TRAPHI.W #QFI;
MULU.L #7,D4;
LEA ($48,A2,D4.L),A5;
CMP.L #6,D0;
TRAPHI.W #QFI;
MOVE.B D3,(0,A5,D0.L);
BRA LOOPBODY7358;
NO7357:;
ESAC7342:;
MOVEQ #1,D5;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D1;
TRAPEQ.W #QFP;
MOVE.W ($25,A4),D7;
BFINS D5,D7{25:1};
MOVE.W D7,($25,A4); ! INF1P:blocked_ds.StartRestart = YES !
CNGVOIPINF_100:;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
CMPI.B #1,($45,A5); ! INF1P:running_autorestart == YES ? !
BNE ELSIF7362;
TRAPT.W #QEXIT;
ELSIF7362:;
FI7361:;
MOVE.B #1,($45,A5); ! INF1P:running_autorestart = YES !
JSR PROGSTART+$309EE; ! DO SEND_ACTBOARDREQ !
TRAPT.W #QEXIT;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=1A582,RA=1A5A2,BYTE=6;
CMP.B D1,D3; ! OLD CODE: INF1P:blocked_ds.ManIndivReq == YES ? !
BNE CHECKCONGESTIONFLAG; ! SUBROUTINE DEC_INTERF_TRAFFIC_INFO !
JMP PROGSTART+$1A58C;
CHECKCONGESTIONFLAG:;
MOVEA.L ($004C,A6),A4;
MOVE.L A4,D7;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A4); ! congestion_flag == CONGESTED ? !
BNE OUT;
TRAPT.W #QSSBEGIN;
MOVE.W ($4A,A6),(A5)+; ! INF1P -> (A5) !
MOVE.W #$1B,D0; ! SIGNALNUMBER -> D0 !
MOVE.W ($354,A0),D1; ! C_OWNUNIT -> D1 !
MOVE.B ($353,A0),D2; ! C_OWNLIMNO -> D2 !
TRAPT.W #$0201; ! SEND CNGBRDREL !
MOVEQ #1,D2;
MOVEA.L ($4C,A6),A3;
MOVE.L A3,D4;
TRAPEQ.W #QFP;
MOVE.W ($25,A3),D1; ! blocked_ds -> D1 !
BFINS D2,D1{25:1}; ! blocked_ds.StartRestart = YES !
MOVE.W D1,($25,A3); ! D1 ->blocked_ds !
OUT:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,SIGNO=1B,RA=2ACDC;
TRAPT.W #$0213; ! ENTER CNGBRDREL WITH !
MOVE.W (A5)+,($338,A6); ! T_Inf1p !
MOVE.W ($338,A6),D3;
MOVE.W D3,($4A,A6);
SUBA.L A3,A3;
SUBA.L A4,A4;
CMP.W ($88,A1),D3;
BCC L7364;
MOVE.W D3,D2;
MULU.W #$56,D3;
MOVEA.L A0,A3;
ADDA.L ($90,A1),A3;
LEA.L (0,A3,D3.L),A3;
MULU.W #$23,D2;
MOVEA.L A1,A4;
ADDA.L ($8A,A1),A4;
LEA.L (0,A4,D2.L),A4;
L7364:;
MOVEM.L A3/A4,(($4A+2),A6);
CNGVOIPINF_100:;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
CMPI.B #1,($45,A5); ! INF1P:running_autorestart == YES ? !
BNE ELSIF7362;
TRAPT.W #QEXIT;
ELSIF7362:;
MOVE.B #1,($45,A5); ! INF1P:running_autorestart = YES !
JSR PROGSTART+$309EE; ! DO SEND_ACTBOARDREQ !
TRAPT.W #QEXIT;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=228AE,RA=228B6,BYTE=8;
MOVEQ #0,D1; ! SUBROUTINE RELEASE_MULTNO !
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D2;
TRAPEQ.W #QFP;
CMP.W ($3C,A5),D1;
BNE ELSIF6250;
MOVE.W ($25,A5),D4;
BFEXTU D4{22:1},D3;
MOVEQ #1,D7;
CMP.B D7,D3;
BNE ELSIF6252;
MOVE.W ($25,A5),D0;
BFINS D7,D0{24:1};
MOVE.W D0,($25,A5);
MOVEQ #0,D5;
BFINS D5,D0{22:1};
MOVE.W D0,($25,A5);
ELSIF6252:;
FI6251:;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D2;
TRAPEQ.W #QFP;
MOVE.W ($25,A2),D1;
BFEXTU D1{23:1},D4;
MOVEQ #1,D5;
CMP.B D5,D4;
BNE ELSIF6254;
MOVE.W ($25,A2),D7;
BFINS D5,D7{31:1};
MOVE.W D7,($25,A2);
MOVEQ #0,D6;
BFINS D6,D7{23:1};
MOVE.W D7,($25,A2);
ELSIF6254:;
FI6253:;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D3;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A4);
BNE ELSIF6256;
TRAPT.W #QSSBEGIN;
MOVE.W ($4A,A6),(A5)+; ! INF1P -> (A5) !
MOVE.W #$1B,D0; ! SIGNALNUMBER -> D0 !
MOVE.W ($354,A0),D1; ! C_OWNUNIT -> D1 !
MOVE.B ($353,A0),D2; ! C_OWNLIMNO -> D2 !
TRAPT.W #$0201; ! SEND CNGBRDREL !
MOVEQ #1,D1;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D6;
TRAPEQ.W #QFP;
MOVE.W ($25,A3),D5;
BFINS D1,D5{25:1}; ! blocked_ds.StartRestart = YES !
MOVE.W D5,($25,A3);
ELSIF6256:;
FI6255:;
ELSIF6250:;
FI6249:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=3065C,RA=3066C,BYTE=16;
CLR.B ($45,A4); ! RESET_INTERFACE_DATA_DS:INF1P:running_autorestart = NO !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=306CA,RA=306D2,BYTE=8;
CLR.B ($46,A5); ! RESET_INTERFACE_DATA_DS : LOOP !
MOVE.B #$FF,($47,A5);
CLR.B ($331,A6);
BRA L28122;
LOOPBODY8121:;
MOVE.B ($331,A6),D6;
MOVEQ #1,D2;
CMP.B D2,D6;
BCC NO8120;
ADD.B D2,D6;
MOVE.B D6,($331,A6);
L28122:;
CLR.W ($12E,A6);
BRA L28126;
LOOPBODY8125:;
MOVEQ #6,D3;
MOVE.W ($12E,A6),D1;
CMP.W D1,D3;
BLS NO8124;
ADD.W #1,D1;
MOVE.W D1,($12E,A6);
L28126:;
MOVE.W #255,D0;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D5;
TRAPEQ.W #QFP;
CLR.L D2;
MOVE.B ($331,A6),D2;
CLR.L D6;
MOVE.W ($12E,A6),D6;
CMP.L #1,D2;
TRAPHI.W #QFI;
MULU.L #7,D2;
LEA ($48,A3,D2.L),A4;
CMP.L #6,D6;
TRAPHI.W #QFI;
MOVE.B D0,(0,A4,D6.L);
BRA LOOPBODY8125;
NO8124:;
BRA LOOPBODY8121;
NO8120:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=30758,RA=30780;
END; ! RESET_INTERFACE_DATA_DS !
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2D876,RA=2D886;
MOVE.B #1,($626,A6); ! ENTER TESTFUNCRES!
MOVE.B ($32,A2),($5FA,A6);
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($46,A5); ! INF1P:congestion_flag = NOTCONGESTED !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2E678,RA=2E688;
MOVE.B #2,($626,A6); ! ENTER CTMOUTB !
MOVE.B ($32,A3),($5FA,A6);
CLR.B ($46,A3); ! INF1P:congestion_flag = NOTCONGESTED !
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
END;
!A;
PCACS:UNIT=IPLP,CI=S101173A;
Y;
PCCOS:UNIT=IPLP,CI=S101173A;
Y;
/*======================================================================*/
 
cut off again ????????.

/* ASSEMBLY SOLUTION : */
PCPAS:UNIT=IPLP,CI=S99247A;
Y;
PCASE:UNIT=IPLP,CI=S99247A;
Y;
PCPAS:UNIT=IPLP,CI=S95910A;
Y;
PCASE:UNIT=IPLP,CI=S95910A;
Y;
PCPAS:UNIT=IPLP,CI=S98895A;
Y;
PCASE:UNIT=IPLP,CI=S98895A;
Y;
PCPAS:UNIT=IPLP,CI=S99229A;
Y;
PCASE:UNIT=IPLP,CI=S99229A;
Y;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=30AAE,RA=30B08;
MOVE.B ($763,A6),(A5)+; ! SEND ACTVTELUIP TO SPU3 !
MOVE.B ($764,A6),(A5)+;
MOVE.B ($765,A6),(A5)+;
MOVE.B ($766,A6),(A5)+;
MOVE.B ($767,A6),(A5)+;
MOVE.B ($768,A6),(A5)+;
MOVE.B ($769,A6),(A5)+;
MOVE.B ($76A,A6),(A5)+;
CLR.B (A5)+; ! Ethernet negotiation !
TRAPT.W #$0409;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=31FC4,RA=31FCA,BYTE=6;
MOVE.B #40,($763,A6); ! BEGIN PREPARE_DATA_ACTVTELUIP !
MOVE.B #10,($764,A6);
MOVE.B #80,($765,A6);
MOVE.B #20,($766,A6);
MOVE.B #30,($767,A6);
MOVE.B #10,($768,A6);
MOVE.B #80,($769,A6);
MOVE.B #20,($76A,A6);
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2D6F4,RA=2D6FE;
MOVEA.L (($4A+2),A6),A2; ! ENTER IDENTY !
MOVE.L A2,D6;
TRAPEQ.W #QFP;
MOVE.B ($32,A2),($5FA,A6);
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($46,A5); ! INF1P:congestion_flag = NOTCONGESTED !
MOVE.B D2,($45,A5); ! INF1P:running_autorestart = NO !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,SIGNO=17,RA=2ACDC;
TRAPT.W #$0613; ! ENTER CNGVOIPINF WITH !
MOVE.W (A5)+,($338,A6); ! T_Inf1p !
MOVE.B (A5)+,($147,A6); ! T_DataArray(0) !
MOVE.B (A5)+,(($147+1),A6); ! T_DataArray(1) !
MOVE.B (A5)+,(($147+2),A6); ! T_DataArray(2) !
MOVE.B (A5)+,(($147+3),A6); ! T_DataArray(3) !
MOVE.B (A5)+,(($147+4),A6); ! T_DataArray(4) !
MOVE.B (A5)+,(($147+5),A6); ! T_DataArray(5) !
MOVE.B (A5)+,(($147+6),A6); ! T_DataArray(6) !
MOVE.W ($338,A6),D5;
MOVE.W D5,($4A,A6);
SUBA.L A3,A3;
SUBA.L A4,A4;
CMP.W ($88,A1),D5;
BCC L7338;
MOVE.W D5,D7;
MULU.W #$56,D5;
MOVEA.L A0,A3;
ADDA.L ($90,A1),A3;
LEA.L (0,A3,D5.L),A3;
MULU.W #$23,D7;
MOVEA.L A1,A4;
ADDA.L ($8A,A1),A4;
LEA.L (0,A4,D7.L),A4;
L7338:;
MOVEM.L A3/A4,(($4A+2),A6);
MOVE.B ($147,A6),D6;
CMP.B #$00,D6; ! GREEN_CONGESTION_LEVEL ? !
BNE CHECKLEVELS;
TRAPT.W #QEXIT;
CHECKLEVELS:;
CMP.B #$01,D6; ! YELLOW_CONGESTION_LEVEL ? !
BEQ CASE7340;
CMP.B #$02,D6; ! RED_CONGESTION_LEVEL ? !
BEQ CASE7341;
MOVE.B #4,($724,A6);
MOVE.B #98,($660,A6);
MOVE.B #34,($2D9,A6);
MOVE.B ($147,A6),D0;
ANDI.W #$FF,D0;
MOVE.W D0,($34B,A6);
JSR PROGSTART+$2F368; ! DO DEBUG_ILLEGALSTATEB !
TRAPT.W #QEXIT;
BRA ESAC7342;
CASE7340:; ! WHEN YELLOW_CONGESTION_LEVEL DO !
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D2;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A2); ! IF INF1P:congestion_flag == CONGESTED THEN !
BNE ELSIF7344;
TRAPT.W #QEXIT; ! EXIT !
ELSIF7344:;
FI7343:;
MOVEQ #1,D6;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D4;
TRAPEQ.W #QFP;
MOVE.B D6,($46,A5); ! INF1P:congestion_flag = CONGESTED !
MOVE.B ($47,A5),D3; ! CASE INF1P:congestion_history_index IS!
CMP.B #$FF,D3; ! WHEN NOTVALID_8 !
BEQ CASE7346;
CMP.B #$01,D3; ! WHEN MAX_CONGESTION_HISTORY_INDEX!
BEQ CASE7346;
ADD.B D6,D3; ! OTHERWISE !
MOVE.B D3,($47,A5); ! INF1P:congestion_history_index++!
BRA ESAC7347;
CASE7346:;
MOVEQ #0,D1;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D0;
TRAPEQ.W #QFP;
MOVE.B D1,($47,A3);
ESAC7347:;
CLR.W ($12E,A6);
BRA L27350;
LOOPBODY7349:;
MOVEQ #6,D5;
MOVE.W ($12E,A6),D7;
CMP.W D7,D5;
BLS NO7348;
ADD.W #1,D7;
MOVE.W D7,($12E,A6);
L27350:;
CLR.L D6;
MOVE.W ($12E,A6),D6;
CMP.L #255,D6;
TRAPHI.W #QFI;
MOVE.B ($147,A6,D6.L),D3;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D0;
TRAPEQ.W #QFP;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D1;
TRAPEQ.W #QFP;
CLR.L D2;
MOVE.B ($47,A2),D2;
CMP.L #1,D2;
TRAPHI.W #QFI;
MULU.L #7,D2;
LEA ($48,A4,D2.L),A5;
CMP.L #6,D6;
TRAPHI.W #QFI;
MOVE.B D3,(0,A5,D6.L);
BRA LOOPBODY7349;
NO7348:;
MOVEQ #0,D5;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D4;
TRAPEQ.W #QFP;
CMP.W ($3C,A3),D5; ! INF1P:num_of_active_EPs /= 0 ? !
BEQ ESAC7342;
TRAPT.W #QEXIT;
ELSIF7353:;
FI7352:;
CASE7341:;
MOVEQ #1,D0;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D1;
TRAPEQ.W #QFP;
MOVE.B D0,($46,A5);
MOVE.B ($47,A5),D3;
CMP.B #$FF,D3;
BEQ CASE7355;
CMP.B #$01,D3;
BEQ CASE7355;
ADD.B D0,D3;
MOVE.B D3,($47,A5);
BRA ESAC7356;
CASE7355:;
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($47,A4);
ESAC7356:;
CLR.W ($12E,A6);
BRA L27359;
LOOPBODY7358:;
MOVEQ #6,D5;
MOVE.W ($12E,A6),D7;
CMP.W D7,D5;
BLS NO7357;
ADD.W #1,D7;
MOVE.W D7,($12E,A6);
L27359:;
CLR.L D0;
MOVE.W ($12E,A6),D0;
CMP.L #255,D0;
TRAPHI.W #QFI;
MOVE.B ($147,A6,D0.L),D3;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D6;
TRAPEQ.W #QFP;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D2;
TRAPEQ.W #QFP;
CLR.L D4;
MOVE.B ($47,A3),D4;
CMP.L #1,D4;
TRAPHI.W #QFI;
MULU.L #7,D4;
LEA ($48,A2,D4.L),A5;
CMP.L #6,D0;
TRAPHI.W #QFI;
MOVE.B D3,(0,A5,D0.L);
BRA LOOPBODY7358;
NO7357:;
ESAC7342:;
MOVEQ #1,D5;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D1;
TRAPEQ.W #QFP;
MOVE.W ($25,A4),D7;
BFINS D5,D7{25:1};
MOVE.W D7,($25,A4); ! INF1P:blocked_ds.StartRestart = YES !
CNGVOIPINF_100:;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
CMPI.B #1,($45,A5); ! INF1P:running_autorestart == YES ? !
BNE ELSIF7362;
TRAPT.W #QEXIT;
ELSIF7362:;
FI7361:;
MOVE.B #1,($45,A5); ! INF1P:running_autorestart = YES !
JSR PROGSTART+$309EE; ! DO SEND_ACTBOARDREQ !
TRAPT.W #QEXIT;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=1A582,RA=1A5A2,BYTE=6;
CMP.B D1,D3; ! OLD CODE: INF1P:blocked_ds.ManIndivReq == YES ? !
BNE CHECKCONGESTIONFLAG; ! SUBROUTINE DEC_INTERF_TRAFFIC_INFO !
JMP PROGSTART+$1A58C;
CHECKCONGESTIONFLAG:;
MOVEA.L ($004C,A6),A4;
MOVE.L A4,D7;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A4); ! congestion_flag == CONGESTED ? !
BNE OUT;
TRAPT.W #QSSBEGIN;
MOVE.W ($4A,A6),(A5)+; ! INF1P -> (A5) !
MOVE.W #$1B,D0; ! SIGNALNUMBER -> D0 !
MOVE.W ($354,A0),D1; ! C_OWNUNIT -> D1 !
MOVE.B ($353,A0),D2; ! C_OWNLIMNO -> D2 !
TRAPT.W #$0201; ! SEND CNGBRDREL !
MOVEQ #1,D2;
MOVEA.L ($4C,A6),A3;
MOVE.L A3,D4;
TRAPEQ.W #QFP;
MOVE.W ($25,A3),D1; ! blocked_ds -> D1 !
BFINS D2,D1{25:1}; ! blocked_ds.StartRestart = YES !
MOVE.W D1,($25,A3); ! D1 ->blocked_ds !
OUT:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,SIGNO=1B,RA=2ACDC;
TRAPT.W #$0213; ! ENTER CNGBRDREL WITH !
MOVE.W (A5)+,($338,A6); ! T_Inf1p !
MOVE.W ($338,A6),D3;
MOVE.W D3,($4A,A6);
SUBA.L A3,A3;
SUBA.L A4,A4;
CMP.W ($88,A1),D3;
BCC L7364;
MOVE.W D3,D2;
MULU.W #$56,D3;
MOVEA.L A0,A3;
ADDA.L ($90,A1),A3;
LEA.L (0,A3,D3.L),A3;
MULU.W #$23,D2;
MOVEA.L A1,A4;
ADDA.L ($8A,A1),A4;
LEA.L (0,A4,D2.L),A4;
L7364:;
MOVEM.L A3/A4,(($4A+2),A6);
CNGVOIPINF_100:;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
CMPI.B #1,($45,A5); ! INF1P:running_autorestart == YES ? !
BNE ELSIF7362;
TRAPT.W #QEXIT;
ELSIF7362:;
MOVE.B #1,($45,A5); ! INF1P:running_autorestart = YES !
JSR PROGSTART+$309EE; ! DO SEND_ACTBOARDREQ !
TRAPT.W #QEXIT;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=228AE,RA=228B6,BYTE=8;
MOVEQ #0,D1; ! SUBROUTINE RELEASE_MULTNO !
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D2;
TRAPEQ.W #QFP;
CMP.W ($3C,A5),D1;
BNE ELSIF6250;
MOVE.W ($25,A5),D4;
BFEXTU D4{22:1},D3;
MOVEQ #1,D7;
CMP.B D7,D3;
BNE ELSIF6252;
MOVE.W ($25,A5),D0;
BFINS D7,D0{24:1};
MOVE.W D0,($25,A5);
MOVEQ #0,D5;
BFINS D5,D0{22:1};
MOVE.W D0,($25,A5);
ELSIF6252:;
FI6251:;
MOVEA.L (($4A+2),A6),A2;
MOVE.L A2,D2;
TRAPEQ.W #QFP;
MOVE.W ($25,A2),D1;
BFEXTU D1{23:1},D4;
MOVEQ #1,D5;
CMP.B D5,D4;
BNE ELSIF6254;
MOVE.W ($25,A2),D7;
BFINS D5,D7{31:1};
MOVE.W D7,($25,A2);
MOVEQ #0,D6;
BFINS D6,D7{23:1};
MOVE.W D7,($25,A2);
ELSIF6254:;
FI6253:;
MOVEA.L (($4A+2),A6),A4;
MOVE.L A4,D3;
TRAPEQ.W #QFP;
CMPI.B #1,($46,A4);
BNE ELSIF6256;
TRAPT.W #QSSBEGIN;
MOVE.W ($4A,A6),(A5)+; ! INF1P -> (A5) !
MOVE.W #$1B,D0; ! SIGNALNUMBER -> D0 !
MOVE.W ($354,A0),D1; ! C_OWNUNIT -> D1 !
MOVE.B ($353,A0),D2; ! C_OWNLIMNO -> D2 !
TRAPT.W #$0201; ! SEND CNGBRDREL !
MOVEQ #1,D1;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D6;
TRAPEQ.W #QFP;
MOVE.W ($25,A3),D5;
BFINS D1,D5{25:1}; ! blocked_ds.StartRestart = YES !
MOVE.W D5,($25,A3);
ELSIF6256:;
FI6255:;
ELSIF6250:;
FI6249:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=3065C,RA=3066C,BYTE=16;
CLR.B ($45,A4); ! RESET_INTERFACE_DATA_DS:INF1P:running_autorestart = NO !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=306CA,RA=306D2,BYTE=8;
CLR.B ($46,A5); ! RESET_INTERFACE_DATA_DS : LOOP !
MOVE.B #$FF,($47,A5);
CLR.B ($331,A6);
BRA L28122;
LOOPBODY8121:;
MOVE.B ($331,A6),D6;
MOVEQ #1,D2;
CMP.B D2,D6;
BCC NO8120;
ADD.B D2,D6;
MOVE.B D6,($331,A6);
L28122:;
CLR.W ($12E,A6);
BRA L28126;
LOOPBODY8125:;
MOVEQ #6,D3;
MOVE.W ($12E,A6),D1;
CMP.W D1,D3;
BLS NO8124;
ADD.W #1,D1;
MOVE.W D1,($12E,A6);
L28126:;
MOVE.W #255,D0;
MOVEA.L (($4A+2),A6),A3;
MOVE.L A3,D5;
TRAPEQ.W #QFP;
CLR.L D2;
MOVE.B ($331,A6),D2;
CLR.L D6;
MOVE.W ($12E,A6),D6;
CMP.L #1,D2;
TRAPHI.W #QFI;
MULU.L #7,D2;
LEA ($48,A3,D2.L),A4;
CMP.L #6,D6;
TRAPHI.W #QFI;
MOVE.B D0,(0,A4,D6.L);
BRA LOOPBODY8125;
NO8124:;
BRA LOOPBODY8121;
NO8120:;
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=30758,RA=30780;
END; ! RESET_INTERFACE_DATA_DS !
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2D876,RA=2D886;
MOVE.B #1,($626,A6); ! ENTER TESTFUNCRES!
MOVE.B ($32,A2),($5FA,A6);
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
MOVEQ #0,D2;
MOVEA.L (($4A+2),A6),A5;
MOVE.L A5,D6;
TRAPEQ.W #QFP;
MOVE.B D2,($46,A5); ! INF1P:congestion_flag = NOTCONGESTED !
END;
!A;
PCASI:UNIT=IPLP,REV=1-R17A,CI=S101173A,IA=2E678,RA=2E688;
MOVE.B #2,($626,A6); ! ENTER CTMOUTB !
MOVE.B ($32,A3),($5FA,A6);
CLR.B ($46,A3); ! INF1P:congestion_flag = NOTCONGESTED !
JSR PROGSTART+$30A22; ! DO SEND_ACTIVATEANS !
END;
!A;
PCACS:UNIT=IPLP,CI=S101173A;
Y;
PCCOS:UNIT=IPLP,CI=S101173A;
Y;
 
Somehow the whole patch can't be pasted in here in the
forum .
To use VOIPFR2D in BC11 the fr S101173A in IPLP is needed.

So the posted patch is not complete and can't be used.

syar
 
Yes , but its needed to activate ELU32 with the R2D firmware.

syar
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top