/TimVoipSpamKiller

Utilizza Asterisk per bloccare chiamate indesiderate su linea TIM VoIP Fibra

Primary LanguageJava

VoIP Spam Killer

Semplice script per liberarsi dei fastidiosi callcenters su linea fissa TIM VoIP.

Se il numero chiamante appartiene alla blocklist Tellows, la chiamata viene rifiutata.

Installazione

Estrarre i paramentri SIP dal Router

E' necessario essere in possesso di username e password per connettersi in SIP al Router TIM (Fibra)

Si possono facilmente ricavarli lanciando

curl -k -u 8Z6PlbuD6VFR8KLr:admin --data "Action=GetConfig&ClientID=XX:XX:XX:XX:XX:XX&Cli=XXXXXXXXXX" https://192.168.1.1:8443/SIPGwConfig

Se la password del router è stata cambiata, modifica 'admin' con quella attuale

  • ClientID=XX:XX:XX:XX:XX:XX dove XX:XX:XX:XX:XX:XX è il MAC Address della macchina che farà da centralino e si connetterà al router.
  • Cli=XXXXXXXXXX dove XXXXXXXXXX è il tuo numero di telefono fisso (senza +39)

Dopo qualche secondo il router risponderà con un XML contenente i dati cercati

<?xml version="1.0" encoding="UTF-8"?>
<SIPClientConfig>
   <AuthUserName>**04</AuthUserName>
   <AuthPassword>i3uCDw3r432fd3kdso4odob9we456fez05iiW2IrR143HHykQnkS7JK90k7dXqnwdVr</AuthPassword>
   <AuthRealm>modemtelecom.homenet.telecomitalia.it</AuthRealm>
   <Registrar>modemtelecom.homenet.telecomitalia.it</Registrar>
   <RegistrarPort>5065</RegistrarPort>
   <OutboundProxy>modemtelecom.homenet.telecomitalia.it</OutboundProxy>
   <OutboundProxyPort>5065</OutboundProxyPort>
   <TransportProtocol>UDP</TransportProtocol>
</SIPClientConfig>

Lanciare i Container Docker

E' necessario un PC con SO Linux (più info a piè pagina)

Creiamo un file docker-compose.yml sostituendo USERNAME e PASSWORD con quelle ricevute dal router:

version: '2'
services:
  moby:
    build: ./Asterisk
    image: guglio/asterisk
    container_name: asteriskTIM
    environment:
      - ROUTER_IP=192.168.1.1
      - USERNAME=**04
      - PASSWORD=i3uCDw3r432fd3kdso4odob9we456fez05iiW2IrR143HHykQnkS7JK90k7dXqnwdVr
    network_mode: "host"
    restart: always

  fastagi:
    build: ./FastAGI
    image: guglio/fastagi
    container_name: fastagi
    ports:
        - "127.0.0.1:4573:4573"
    restart: always

Ora basta solo avviare il container:

docker-compose up -d

Commenti

Utilizzare Java per fare un semplice controllo online è molto dispendioso in termini di risorse;

Si potrebbe eliminare la dipendenza da Java perdendo la possibilità di aggiungere facilmente nuove funzionalità al progetto