Ring Blocker / telefonförsäljare tillslut (2 / 9 steg)
Steg 2: Att göra känsla av Data
Länge sedan jag fick en utveckling styrelse från MeLabs kallas Lab-XT. Det var för pic micro-kontrollanter och hade stöd chips för DTMF och CallerID. Jag blev förvånad att ingen har verkligen några exempel för Arduino världen. Det finns en ute, upprepas många gånger, men det bara inte fungerar för mig.
Med hjälp av MeLabs Nummerpresentatör infosida som guide anges I för att bygga en enkel tillståndsdator för att tolka den inkommande paketen. Det kanske inte ser enkel men jag försökte sträcka saker ut så du kan följa med i koden. Jag genomfört endast MDMF eftersom det är vad i mitt hus. SDMF är enklare men har inte en faktisk dumpa att gå efter.
Om någon skickar mig en terminal logg över en SDMF meddelande jag kommer att lägga till koden. Jag kan spela upp dumpar in dekodern att testa den.
Och det är den första sak att göra. Få en data soptipp. Jag använde en produktiv USB till seriell breakout styrelsen för att övervaka data ut PIN-kod. Jag Använd Putty logga några samtal och Midnight Commander om du vill visa loggen i HEX. Det finns gott om andra terminaler och tittare. Använd din favorit.
Det finns en hel del brus på linjen men det råder inget tvivel de 30 US i rad. Bara i fall jag saknar en del I-provningen för fick > 25 U. Leta efter 0x80 identifieraren MDMF paketets. Det är där du vill söka efter en 0x04 om du ville också göra SDMF avkodning.
Jag spara paketlängden så jag vet när var klara.
Det finns 5 meddelande ID för att titta på och jag behandla var och en separat. Det slutar med en check summera men jag ignorerade det för nu. Kanske senare. Jag skulle hellre se en förvrängd namn än ett felmeddelande...
Datum meddelandet verkar vara lokala till leverantören. En lokal voip-server var avstängd av 1 timme men det var en dagsljus besparingar fel på själva servern.
Jag försökte ett par olika leverantörer och meddelanden kommer inte alltid i samma ordning. Ibland sin "Date - namn - nummer" och den andra var "Dag - många - namn". STÅR FÖR MIG