Files
sip-dmr-gateway/test_ambe.py
T

38 lines
1.2 KiB
Python

import socket
import time
# Questo è uno dei frame AMBE reali estratti dal tuo log
ambe_frame = bytes.fromhex("88 1D 2E 13 85 CD 00")
server = ('127.0.0.1', 2470)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.settimeout(2.0)
test_cases = {
"1_Busta_Little_Endian": b'\x00\x07\x00' + ambe_frame,
"2_Busta_Big_Endian": b'\x00\x00\x07' + ambe_frame,
"3_Dati_Raw_Senza_Busta": ambe_frame,
"4_Busta_Tipo_1": b'\x01\x07\x00' + ambe_frame,
"5_Busta_Tipo_1_Big": b'\x01\x00\x07' + ambe_frame,
}
print("Inizio test diagnostico UDP verso AMBEServer3003 sulla porta 2470...\n")
for name, pkt in test_cases.items():
print(f"---> Eseguo test: [{name}]")
# Inviamo 3 frame identici in rapida successione.
# (Alcuni chip AMBE hardware bufferizzano 2-3 frame prima di sputare fuori il primo pacchetto PCM)
for _ in range(3):
sock.sendto(pkt, server)
time.sleep(0.02)
try:
# Attendiamo la risposta
resp, addr = sock.recvfrom(2048)
print(f" BINGO! Risposta ricevuta ({len(resp)} bytes): {resp[:12].hex(' ')}...\n")
except socket.timeout:
print(" FALLITO: Nessuna risposta dal server.\n")
sock.close()