@@ -1178,6 +1178,15 @@ void ModemV24::convertToAirTIA(const uint8_t *data, uint32_t length)
11781178 }
11791179 break ;
11801180
1181+ case BlockType::START_OF_STREAM_ACK:
1182+ {
1183+ if (m_debug)
1184+ ::LogDebugEx (LOG_MODEM, " ModemV24::convertToAirTIA()" , " Start of Stream ACK" );
1185+
1186+ // do nothing with the start of stream ack
1187+ }
1188+ break ;
1189+
11811190 case BlockType::VOICE_HEADER_P1:
11821191 {
11831192 // copy to call data VHDR1
@@ -1942,7 +1951,7 @@ void ModemV24::ackStartOfStreamTIA()
19421951 if (m_trace)
19431952 Utils::dump (1U , " ModemV24::ackStartOfStreamTIA() Ack StartOfStream" , buffer, length);
19441953
1945- writeImmediate (buffer, length);
1954+ queueP25Frame (buffer, length, STT_NON_IMBE_NO_JITTER );
19461955}
19471956
19481957/* Internal helper to convert from TIA-102 air interface to V.24/DFSI. */
@@ -2570,27 +2579,3 @@ void ModemV24::convertFromAirTIA(uint8_t* data, uint32_t length)
25702579 }
25712580 }
25722581}
2573-
2574- /* Writes raw data to the air interface modem. */
2575-
2576- int ModemV24::writeImmediate (const uint8_t * data, uint32_t length)
2577- {
2578- assert (data != nullptr );
2579-
2580- // add the DVM start byte, length byte, CMD byte, and padding 0
2581- uint8_t header[4U ];
2582- header[0U ] = DVM_SHORT_FRAME_START;
2583- header[1U ] = length & 0xFFU ;
2584- header[2U ] = CMD_P25_DATA;
2585- header[3U ] = 0x00U ;
2586-
2587- // get the actual data
2588- UInt8Array __buffer = std::make_unique<uint8_t []>(length + 4U );
2589- uint8_t * buffer = __buffer.get ();
2590-
2591- ::memset (buffer, 0x00U , length + 4U );
2592- ::memcpy (buffer, header, 4U );
2593- ::memcpy (buffer + 4U , data, length);
2594-
2595- return m_port->write (data, length);
2596- }
0 commit comments