mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-16 00:41:41 +00:00
4 RCPs were being sent in ECM mode, instead of the specified 3.
This commit is contained in:
parent
00e381f183
commit
4c0bc25864
@ -781,11 +781,11 @@ static int send_next_ecm_frame(t30_state_t *s)
|
|||||||
}
|
}
|
||||||
s->ecm_current_tx_frame = s->ecm_frames;
|
s->ecm_current_tx_frame = s->ecm_frames;
|
||||||
}
|
}
|
||||||
if (s->ecm_current_tx_frame <= s->ecm_frames + 3)
|
if (s->ecm_current_tx_frame < s->ecm_frames + 3)
|
||||||
{
|
{
|
||||||
/* We have sent all the FCD frames. Send some RCP frames. Three seems to be
|
/* We have sent all the FCD frames. Send three RCP frames, as per
|
||||||
a popular number, to minimise the risk of a bit error stopping the receiving
|
T.4/A.1 and T.4/A.2. The repeats are to minimise the risk of a bit
|
||||||
end from recognising the RCP. */
|
error stopping the receiving end from recognising the RCP. */
|
||||||
s->ecm_current_tx_frame++;
|
s->ecm_current_tx_frame++;
|
||||||
/* The RCP frame is an odd man out, as its a simple 1 byte control
|
/* The RCP frame is an odd man out, as its a simple 1 byte control
|
||||||
frame, but is specified to not have the final bit set. It doesn't
|
frame, but is specified to not have the final bit set. It doesn't
|
||||||
@ -794,7 +794,8 @@ static int send_next_ecm_frame(t30_state_t *s)
|
|||||||
frame[1] = CONTROL_FIELD_NON_FINAL_FRAME;
|
frame[1] = CONTROL_FIELD_NON_FINAL_FRAME;
|
||||||
frame[2] = T4_RCP;
|
frame[2] = T4_RCP;
|
||||||
send_frame(s, frame, 3);
|
send_frame(s, frame, 3);
|
||||||
/* In case we are just after a CTC/CTR exchange, which kicked us back to long training */
|
/* In case we are just after a CTC/CTR exchange, which kicked us back
|
||||||
|
to long training */
|
||||||
s->short_train = TRUE;
|
s->short_train = TRUE;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user