Effettuare chiamate telefoniche utilizzando Access come supporto

di il
56 risposte

56 Risposte - Pagina 4

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    08/11/2025 - Kiss ha scritto:

    08/11/2025 - amorosik ha scritto:

    08/11/2025 - Kiss ha scritto:

    08/11/2025 - amorosik ha scritto:

    08/11/2025 - Kiss ha scritto:

    07/11/2025 - amorosik ha scritto:

    04/11/2025 - Kiss ha scritto:

    Ciao,

    per gestire una chiamata telefonica tramite Microsoft Access sfruttando il protocollo TR-064, devi prima assicurarti che il router supporti e abbia attivo il servizio TR-064. Ti spiego passo passo come procedere:

    ?? Abilitazione del TR-064 sul router:

    • Entra nel pannello del router (di solito http://fritz.box o l’indirizzo IP locale).
    • Vai su Rete locale ? Accesso alla rete domestica ? Attiva controllo tramite protocollo TR-064.
    • Salva e riavvia il router.
    • Il servizio TR-064 normalmente risponde sulla porta 49000 e accetta richieste SOAP in HTTP.

    Se il router è un FRITZ!Box, puoi testare la connessione aprendo in browser:

    http://fritz.box:49000/tr64desc.xml

    Se il file XML viene mostrato, il servizio è attivo correttamente.

    ?? Codice in VBA (Microsoft Access) per avviare una chiamata:

    In Access puoi gestire la logica tramite un pulsante su una maschera, utilizzando MSXML2.XMLHTTP per inviare la richiesta SOAP al router.

    Non ti faccio un esempio di codice VBA funzionante, ma io lo uso cosi seguendo questo schema :

    • Usa sempre autenticazione locale (username e password del router).
    • Se ricevi un errore 401 o 500, verifica le credenziali o la versione del servizio X_VoIP disponibile nel tuo router.
    • Alcuni modelli recenti richiedono HTTPS al posto di HTTP. In tal caso usa https://fritz.box:49443/… e abilita il supporto SSL in Access.
    • Puoi anche gestire funzioni come riaggancio o stato chiamata usando i comandi X_VoIP:1#Hangup o X_VoIP:1#GetCallStatus.

      Cioè:

    • Abiliti il TR-064 dal router.
    • Da Access invii una richiesta SOAP all’interfaccia X_VoIP:1.
    • Il router effettua la chiamata in uscita automaticamente.
    • Io lo utilizzo spesso per automatizzare le chiamate aziendali partendo da database Access, e funziona perfettamente se la rete locale è configurata correttamente.

    Ciao

    No

    La 'rete domestica' ha niente a che fare col TR-064

    Per abilitarlo, almeno nel 7530 e nel 6850:

    RETE LOCALE / RETE / IMPOSTAZIONI Di RETE / ALTRE IMPOSTAZIONI  si trova la sezione "Abilitazioni rete locale"

    Da flaggare entrambe le checkbox

    RISPOSTA

    il titolare del post dopo aver valutato tutte le risposte avrà modo di rispondere e testare quello che è stato proposto. NON è UNA GARA TRA ME E TE.

    Ho indicato all'autore del 3d  i comandi corretti da usare per avvicinarsi all'obiettivo che si e' prefisso

    Che ti sembra una gara?

    e la prossima volta non citare me ma chi fa la domanda 

    Ho citato il tuo messaggio semplicemente perche' riportava delle indicazioni sbagliate

    Ma perche' scrivi sempre tutto in giallo?

    A mio parere introduce un fastidio visivo notevole

    E METTITI GLI OCCHIALI

    Ringrazio molto del consiglio, in effetti potrebbero essere utili per filtrare alcuni effetti disturbanti

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Per entrambi: direi che vi siete chiariti, chiudiamo qui questo battibecco. 

    X @Kiss: se usi il pulsante "Cita", il post include il precedente e in alcuni casi si crea annidamento.

    Per aggiungere un post, devi semplicemente scorrere il thread fino alla fine e scrivere nell'editor che trovi già aperto.

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Ritorno dopo aver verificato:

    Il TR-064 è attivo.

    Nel browser fritz.box:49000/tr64desc.xml è editato correttamente. 

    Ritrovato nelle impostazioni del router 7590.

    Adesso dovrei testare la chiamata comandata con ACCESS.

    • Da Access invii una richiesta SOAP all’interfaccia X_VoIP:1.

    Ma il codice seguente associato al pulsante inserito nella maschera di ACCESS arriva in fondo, ricevo a video il messaggio "Chiamata verso 03448547301 da interno 620 inviata!" ma di fatto la chiamata non parte.

    cosa può essere?

    Private Sub Command148_Click()
     Dim http As Object
        Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
    
        Dim url As String
        url = "http://fritz.box:49000/upnp/control/x_voip"
    
        Dim soapEnvelope As String
        soapEnvelope = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
            "<s:Envelope xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"" " & _
            "s:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"">" & _
            "<s:Body>" & _
            "<u:X_AVM-DE_DialNumber xmlns:u=""urn:dslforum-org:service:X_VoIP:1"">" & _
            "<NewX_AVM-DE_PhoneNumber>03448547301</NewX_AVM-DE_PhoneNumber>" & _
            "<NewX_AVM-DE_ConnectionID>**620</NewX_AVM-DE_ConnectionID>" & _
            "</u:X_AVM-DE_DialNumber>" & _
            "</s:Body>" & _
            "</s:Envelope>"
    
        http.Open "POST", url, False
        http.SetRequestHeader "Content-Type", "text/xml; charset=""utf-8"""
        http.SetRequestHeader "SOAPACTION", "urn:dslforum-org:service:X_VoIP:1#X_AVM-DE_DialNumber"
        http.Send soapEnvelope
    
        MsgBox "Chiamata verso 03448547301 da interno 620 inviata!"
    End Sub

    Grazie

    Francesco

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Ho modificato il codice in questo modo con qualche risultato in più:

    il telefono squilla ma se alzo la cornetta sento un pib anomalo.

    La chiamata non parte.

    Il codice è diviso in due parti. una pubblica (qui sotto) + una privata associata al pulsante della maschera (versione preliminare da legare alla lista contatti in rubrica)

    Public Sub ChiamaFritz_TR064(numero As String)
        Dim soap As String
        Dim http As Object
        Dim url As String
        
        ' Porta TR-064 ufficiale
        url = "http://fritz.box:49000/upnp/control/x_voip"
    
        ' SOAP per far partire una chiamata
        soap = "<?xml version=""1.0""?>" & _
               "<s:Envelope s:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"" " & _
               "xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
               "<s:Body>" & _
               "<u:X_AVM-DE_DialNumber xmlns:u=""urn:dslforum-org:service:X_VoIP:1"">" & _
               "<NewX_AVM-DE_PhoneNumber>" & numero & "</NewX_AVM-DE_PhoneNumber>" & _
               "</u:X_AVM-DE_DialNumber>" & _
               "</s:Body></s:Envelope>"
        
        Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
        http.Open "POST", url, False
    
        http.setRequestHeader "SOAPACTION", "urn:dslforum-org:service:X_VoIP:1#X_AVM-DE_DialNumber"
        http.setRequestHeader "Content-Type", "text/xml; charset=""utf-8"""
        http.setCredentials "fritzxxxx", "miapassword", 0   ' ? CAMBIA QUI
    
        http.Send soap
    
        MsgBox "Comando inviato al Fritz!Box." & vbCrLf & http.ResponseText, vbInformation
    End Sub

    Sul pulsante invece:

    Private Sub Command149_Click()
    Call ChiamaFritz_TR064("**51#3448547301")
    End Sub

    PS: sul terminale del telefono nella cronologia chiamate leggo anche il numero di telefono che sto chiamando. Ma la chiamata non è partita.

    Come è possibile? Potrebbe essere semplicemente il formato del numero?

    Il Fritzbox è collegato ad un centralino ISDN 

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Adesso funziona !

    dovevo semplicemente togliere il numero interno del centralino

    Ringrazio Amorosik, Kiss and Delphinium

    Private Sub Command54_Click()
    Call ChiamaFritz_TR064("3448547301")
    End Sub
  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Dopo aver inviato il comando, come fai a parlare al telefono?

    Squillano tutti gli interni?

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Si (purtroppo), sto cercando di impostare il comando in modo che squilli solo il numero interno desiderato...

    Ho un ASCOTEL 200 isdn collegato alla porta isdn (emulata) del 7590..

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Quindi il 'centralino' NON e' il Fritz, giusto?

    Per quale motivo non utilizzi i telefoni direttamente collegati al Fritz?

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Perchè tempo fa mi hanno regalato un centralino iisdn ascotel 200 usato + 4 terminali e mi sono divertito a collegarli al fritzbox..

    Ho anche il configuratore del centralino ma non riesco a trovare il modo di forzare la chiamata in uscita su un solo terminale

    Ho provato anche a collegare un telefono direttamante al fritzbox (un analogico sulla porta1 cui fritz assegna interno **1) ma il comando

    seguente ha un effetto non atteso:

    il telefono con interno **1 squilla ma alzando la cornetta non succede nulla. La chiamata al 3448547301 non è partita.

    Quanto invece fatto ieri produceva il seguente effetto: per prima cosa parte la chiamata verso il numero di cellulare esterno (ricevo la chiamata sul cellulare). Nel momento che rispondo al cellulare iniziano a squillare tutti i terminali fissi. La squenza quindi è inversa a quanto succede oggi. Ho provato ad invertire i due numeri **1 ed 3448547301 senza successo. 

    
    Private Sub Command54_Click()
    Call ChiamaFritz_TR064("**1#3448547301")
    End Sub
  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Hai provato a fare queste correzioni 

    1. Rimuovi gli asterischi da ConnectionID.
    2. Controlla la risposta HTTP e stampa eventuali errori.
    3. Assicurati che l’autenticazione sia impostata.
    4. Verifica che tr64desc.xml confermi X_VoIP:1 e X_AVM-DE_DialNumber.
  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    15/11/2025 - fcaliandro ha scritto:

    La chiamata al 3448547301 non è partita

    E la risposta del Fritz al   send.soap  quale e'?

    Voglio dire quel  http.ResponseText   che ti scrive?

  • Re: Effettuare chiamate telefoniche utilizzando Access come supporto

    Dopo vari tentativi la migliore soluzione funzionante con squillo contemporaneo su tutti i terminali collegati al centralino ASTRA è la seguente:

    Public Sub ChiamaFritz_TR064(numero As String)
        Dim soap As String
        Dim http As Object
        Dim url As String
        
        ' Porta TR-064 ufficiale
        url = "http://fritz.box:49000/upnp/control/x_voip"
    
        ' SOAP per far partire una chiamata
        soap = "<?xml version=""1.0""?>" & _
               "<s:Envelope s:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"" " & _
               "xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
               "<s:Body>" & _
               "<u:X_AVM-DE_DialNumber xmlns:u=""urn:dslforum-org:service:X_VoIP:1"">" & _
               "<NewX_AVM-DE_PhoneNumber>" & numero & "</NewX_AVM-DE_PhoneNumber>" & _
               "</u:X_AVM-DE_DialNumber>" & _
               "</s:Body></s:Envelope>"
        
        Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
        http.Open "POST", url, False
    
        http.setRequestHeader "SOAPACTION", "urn:dslforum-org:service:X_VoIP:1#X_AVM-DE_DialNumber"
        http.setRequestHeader "Content-Type", "text/xml; charset=""utf-8"""
        http.setCredentials "utente", "password", 0   ' ? CAMBIA QUI
    
        http.Send soap
    
        MsgBox "Comando inviato al Fritz!Box." & vbCrLf & http.responseText, vbInformation
    End Sub
    

    Penso di non poter riuscire a far di meglio con il centralino ASTRA collegato al FRITZOX sulla porta che emula una connessione ISDN.

    Un grande grazie a Kiss e Amorosik!!

Devi accedere o registrarti per scrivere nel forum
56 risposte