Newsgroup: it.comp.lang.visual-basic
Titolo: da una text box comporre un numero di telefono

Ciao a tutti, ho cercato ma finora invano, il mio progetto si è arenato.
Avrei idea, partendo dal contenuto numerico (numero di telefono) di una text
box, di arrivare a comporlo sul modem collegato sulla com1.
Oltre alla textbox ho un tasto command da cui attivo i comandi del modem,
che sono:
    MSComm1.CommPort = 1
    MSComm1.PortOpen = True
    MSComm1.InBufferCount = 0
 MSComm1.Output = "ATZ" + vbCr
    MSComm1.Output = "ATDT" + NUMERO + vbCr
I problemi sono i seguenti:
-il modem (Usrobotics sportster message plus) continua a emettere il segnale
di ricerca del fax
-dal modem esce la linea di deriva che va ad un telefono ma sul quale non
riesco ad intercettare la chiamata alzando la cornetta
ovvero non sento nulla, se non dall'altoparlante del modem
Potrei fare altrimenti? Magari scollegando dal modem il telefono e
collegando al pc una cuffia con microfono e usando la linea dal modem?
Spero di essermi spiegato, attendo vs eventuali domande o risposte.
Ciao e grazie
claudio

Spero di essermi spiegato, attendo vs eventuali domande o risposte.
Non ho capito cosa ci devi fare in pratica.
Questa procedura ti apre la comunicazione dati.
--
ciao
  Stefano

 Questa procedura ti apre la comunicazione dati.
In pratica vorrei comporre il numero che č nella textbox per avviare una 
comunicazione vocale, non dati.
Non vorrei il segnale di ricerca di sincronismo del fax.
Vorrei poter usare le cuffie con microfono per parlare e ascoltare 
bypassando la tastiera del telefono.
Ripeto, la composizione esterna al mio pc č:modem USR , telefono a tasti 
collegato alla porta del modem il quale č collegato alla linea. Vorrei non 
dover sollevare la cornetta e comporre i numeri da chiamare sulla tastiera 
ma dal pc.
Si puň fare?
grazie
claudio 

Si può fare?
Si può fare in diversi modi, uno originale è questo, funziona anche senza modem:
http://www.maurorossi.net/codice/Combinatore%20Telefonico.zip
o qui
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=12982&lngWId=1
o usare il comando  ATO0   ATO1
http://support.microsoft.com/kb/q164659/
http://encyclopedia.thefreedictionary.com/Hayes%20AT%20command%20set
--
ciao
  Stefano

Grazie per i diversi suggerimenti.
Approfitto ancora un pò della tua cortesia, ma se volessi escludere 
completamente il discorso del modem e avendo io l'adsl come potrei fare? 
Interessante il programma dei toni emessi dagli altoparlanti del pc ma poco 
ortodosso, ovvero vorrei restare al discorso piuttosto delle cuffie con il 
microfono, qualcosa di simile a Skype e simili.
Ciao
Claudio 

Grazie per i diversi suggerimenti.

Anche qui non capisco bene cosa vuoi fare.
Con la DSL non puoi comporre il numero di una linea STN, puoi usarla per
telefonare con Skype, googletalk, messenger o simili.
Per fare il numero o usi un combinatore con i toni (DTMF o TouchTone) o lo fai
con il prog che ti avevo suggerito, o col modem come volevi fare tu.
--
ciao
  Stefano

 con il prog che ti avevo suggerito, o col modem come volevi fare tu.
Ok allora torniamo al punto iniziale: uso il modem.
Come dicevi tu però con i comandi che io ho impostato apro una comunicazione 
dati: infatti quando ho composto il numero sento il mio modem che emette un 
beep (che dovrebbe essere quello che aggancia l'altro modem all'altro capo 
del cavo). Ok?
Ma per la comunicazione voce, allora nella stringa : "AT" inserisco "O0" e 
poi + "DT"+ numero e quando ho terminato la comunicazione mando "ATO1"+vbCr 
e "ATH"+vbCr
Mi resta il dubbio su come la comunicazione voce passa dal controllo del 
modem al telefono(alzando la cornetta?) o alle cuffie con microfono (sempre 
sganciando la cornetta)?
Grazie
Claudio 

> Per fare il numero o usi un combinatore con i toni (DTMF o TouchTone) o lo 

Devi fare il numero come avevi iniziato a fare, ma apettando la risposta OK del
modem, vedi anche il link che ti avevo postato.
Dopo l' ATDT+ numero +0Dh0Ah, quando senti il segnale di squillo (alcuni modem
rispondono "RINGING") mandi il comando ATO0 in maniera da metterlo online senza
riattaccare la linea.
--
ciao
  Stefano

>Ok allora torniamo al punto iniziale: uso il modem.
Adesso che ho tempo ho fatto una prova perchè non mi convinceva il tutto.
Infatti ATO non andava bene.
Devi anche mandargli un "ATX3" & vbCrLf  prima dell' ATDT o non farà mai il
numero.
Copio il contenuto di una testbox usata per chiamare il mio cellulare e
ascoltare la segreteria prendendo poi la linea (i vbCrLf non ci sono)
_________________
ATZ
ATZ
OK
ATS0=0
ATS0=0
OK
ATX3T
ATX3T
OK
AT&K0&P1S7=40S10=255
AT&K0&P1S7=40S10=255
OK
ATDT338nnnnnnn
ATDT338nnnnnnn
	// ** QUI DEVI ALZARE LA CORNETTA
            //    IL CELLULLARE SUONA
ATH1
           //  IL MODEM SI STACCA E POSSO PARLARE CON LA SEGRETERIA
	// QUI RIATTACCO. 
____________________
E mi devi un caffè per la telefonata  ;-)
Il comando giusto è "ATH1"  & vbCrLf, non ATO
--
ciao
  Stefano

> E mi devi un caffč per la telefonata  ;-)
Penso che ti devo qualcosa in piů di un caffč!
Se passi per Vicenza, fammi uno...squillo  :))
ciao claudio 

 // QUI RIATTACCO.
Rieccomi!
Scusa ma mi resta una cosa che non quadra...
dopo ATDT seguito dal numero ho messo un MSGbox dove cliccando su OK 
(OKonly) passo al comando ATH1 per chiudere trasferire la linea dal modem al 
telefono ed è funzionante. Ma fino a che il modem ha la linea continua ad 
emettere il BEEP tipico del fax quando deve agganciare il segnale all'altro 
capo della linea. Ma si può eliminarlo? Chi risponde può essere indotto a 
chiudere subito la linea pensando ad un fax in arrivo.
Per chiudere il discorso, dopo ATH1 ho interposto un altro MSGBOX (vbokonly) 
per chiudere la linea con mscomm1.portopen=false e funziona.
CIao claudio 

per chiudere la linea con mscomm1.portopen=false e funziona.
Dunque, la cosa non č semplice perchč il modem non ti rimanda il risultato
"RINGING", cosa che potrebbe fare solo in mode X4.
Ma in X4 non fa il numero, per cui bisogna pensare qualcosa.
Io ho provato cosě:
Anzitutto in generale - dichiarazioni - devi mettere
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Poi dopo l'invio del numero con
 mscomm.output="ATDTnnnnn"& vbCr
 ho messo
 SLEEP 8  'per dargli tempo 8 secondi per fare il numero.
poi ho inviato un 
"ATO1"  ' per togliere il beep, e sembra funzionare.
Hai 8 secondi per alzare la cornetta.
Poi con uno
 SLEEP 10
e
"ATH1"
si stacca da solo il modem alla fine.
--
ciao
  Stefano

 SLEEP 10
 SLEEP 10000


 ha
scritto:
Ho fatto altre prove, lascia perdere lo Sleep, basta solo che dopo il numero
telefonico tu metta un ;
Poi perņ ci vuole un "ATH0" per staccare il modem
________________________
ATZ
ATZ
OK
ATS0=0
ATS0=0
OK
ATX3T
ATX3T
OK
AT&K0&P1S7=40S10=255
AT&K0&P1S7=40S10=255
OK
ATDT338nnnnnnn;
ATH0
ATH0
OK
________________________
--
ciao
  Stefano

 ha
scritto:
Stamane che ho tempo, seguendo la tua idea ho fatto un app. che funziona da
combinatore telefonico riciclando un vecchio modem.
E' comodo e sembra funzionare. (almeno con il mio modem)
Se interessa...
--
ciao
  Stefano

 Se interessa...
Si certo, vorrei confrontare il tuo codice con quanto a me per ora sembra 
funzionare, anche se con qualche "macchinosità"..
Questo è il mio codice:
    MSComm1.CommPort = 1
    MSComm1.PortOpen = True
   ' Apre la porta per le comunicazioni.
   ' Svuota il buffer di input.
    MSComm1.InBufferCount = 0
    ' Prepara il modem e compone il numero.
    MSComm1.Output = "ATZ" + vbCr
    ' il seg.comando resetta completamente il modem:fare attenzione
    ' MSComm1.Output = "AT+MEA" + vbCr
    MSComm1.Output = "ATX3T" + vbCr
    Do
      DoEvents
    Buffer$ = Buffer$ & MSComm1.Input
    Loop Until InStr(Buffer$, "OK" & vbCrLf)
    MSComm1.Output = "ATDT" + NUMERO + vbCr
    messaggio = MsgBox("Alza la cornetta e premi OK per passare la 
comunicazione dal modem al telefono", vbOKOnly)
    ' Disconnette il modem.
    MSComm1.Output = "ATH0" + vbCrLf
    messaggio = MsgBox("PREMI OK PER CHIUDERE LA COMUNICAZIONE!", vbOKOnly)
    ' Chiude la porta.
    MSComm1.PortOpen = False
ciao
claudio
ps tutto questo funziona con un normale telefono collegato all'uscita del 
modem
mi resta inattuata l'idea di portare il segnale a delle cuffie con microfono 
collegate alle uscite della scheda audio 

collegate alle uscite della scheda audio 
Qui la cosa si complica
--
ciao
  Stefano