1
0
Fork 0

Fix auto-answer (S0) behavior in modem

This commit is contained in:
NicknineTheEagle 2020-03-19 20:15:18 +03:00 committed by Patryk Obara
parent 880d2d2ceb
commit de45c413ae

View file

@ -328,7 +328,7 @@ void CSerialModem::DoCommand() {
LOG_MSG("Command sent to modem: ->%s<-\n", cmdbuf);
/* Check for empty line, stops dialing and autoanswer */
if (!cmdbuf[0]) {
reg[0] = 0; // autoanswer off
reg[MREG_AUTOANSWER_COUNT] = 0; // autoanswer off
return;
}
//else {
@ -795,14 +795,15 @@ void CSerialModem::Timer2(void) {
CSerial::setRI(!CSerial::getRI());
//MIXER_Enable(mhd.chan,true);
ringtimer = 3000;
reg[1] = 0; //Reset ring counter reg
reg[MREG_RING_COUNT] = 0; //Reset ring counter reg
}
}
}
if (ringing) {
if (ringtimer <= 0) {
reg[1]++;
if ((reg[0] > 0) && (reg[0] >= reg[1])) {
reg[MREG_RING_COUNT]++;
if ((reg[MREG_AUTOANSWER_COUNT] > 0) &&
(reg[MREG_RING_COUNT] >= reg[MREG_AUTOANSWER_COUNT])) {
AcceptIncomingCall();
return;
}