|
|
|
@ -1542,8 +1542,15 @@ static void v5_receive(pstn_t *pstn, uint8_t *data, int len)
|
|
|
|
|
break;
|
|
|
|
|
case PSTN_EVENT_EST_IND:
|
|
|
|
|
/* in case of collision, just treat as ACK and proceed outgoing call */
|
|
|
|
|
if (pstn->state != PSTN_STATE_EST_LE
|
|
|
|
|
&& pstn->state != PSTN_STATE_NULL) {
|
|
|
|
|
if (pstn->state == PSTN_STATE_EST_LE) {
|
|
|
|
|
PDEBUG(DTEL, DEBUG_INFO, " -> Handle establish collision, send ACK.\n");
|
|
|
|
|
/* send ack message to V5 */
|
|
|
|
|
v5_est_ack_req(pstn);
|
|
|
|
|
/* treat as establish acknowledgement from PSTN interface */
|
|
|
|
|
v5_est_ack_ind(pstn, data, len);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (pstn->state != PSTN_STATE_NULL) {
|
|
|
|
|
PDEBUG(DTEL, DEBUG_NOTICE, "Received %s message in state %s, ignoring!\n", pstn_event_name(event), pstn_state_name(pstn->state));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|