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