MSCOMM1 question

Not to familiar with the MSCOMM1 features and here is my problem.
I created an app in VB6 that acts as a speed dialer to dial phone numbers using my default modem in XP.

I also want this app to be able to give me caller ID (number only) when calls come in.
I have played a little with it and I assume that MSCOMM1 cannot do both at the same time.

Can someone give me some advise on how to setup the event for receiving caller ID when a call comes in and dialing a number when I need a call to go out.

Pls provide a working example.

Who is Participating?
StimphyConnect With a Mentor Commented:
I would really like to be of more service, but I no longer have a modem on my PC.

You may want to referr to the reference given by ranifoad

Look at page 54.  This contains all the commands for talking with the modem and caller id stuff.
Take the head start that I provided and toy with the different commands.

you have to use AT&T standard to comunicate with the com port inorder to get the infos you need(make calls,....)
i am not sure if there is a component in windows to do those stuff or not?!!
check out these links
I found this sample code some time back...

Public Call_Name As String
Public Call_Number As String
Private Sub Form_Load()
    With MSComm1
        .Settings = "115200, N, 8, 1"
        .CommPort = 2 'change to your modem's port
        If .PortOpen = False Then .PortOpen = True
        .RThreshold = 0
        MSComm1.InputLen = 0
       .Output = "AT#CID=1" & Chr(13) 'your modem will have to support this function or it wont work
    End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
    MSComm1.PortOpen = False
End Sub

Private Sub MSComm1_OnComm()
Dim Buffer As String
    Buffer = Replace(MSComm1.Input, Chr(13), "")
    Buffer = Replace(Buffer, Chr(10), "")
    GetCallerInfo (Buffer)
End Sub

Private Sub GetCallerInfo(Caller_Id_string As String)
        If InStr(Caller_Id_string, "NAME") > 0 Then
           Call_Name = Mid(Caller_Id_string, (InStr(Caller_Id_string, "NAME = ") + 7), ((InStr(Caller_Id_string, "NMBR = ") - 7) - InStr(Caller_Id_string, "NAME = ")))
        End If
        If InStr(Caller_Id_string, "NMBR") > 0 Then
            Call_Number = Mid(Caller_Id_string, (InStr(Caller_Id_string, "NMBR = ") + 7))
        End If
        If Len(Call_Name) > 1 Or Len(Call_Number) > 1 Then
            MsgBox Call_Name & vbCrLf & Call_Number
        End If
End Sub

Never miss a deadline with

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

robbperkAuthor Commented:
Thank you so much for the quick response, Dave.
Unfortunately, your submission did not work.  I entered all the code into my app and changed the line to comm port 4.  Upon making the test call, it did not react in any way (no caller info, no error messages, etc.)



Can you give me the exact model of your modem?

robbperkAuthor Commented:
I am using the Intel(R) 537EP v9x DF PCI modem on COM 4
All Courses

From novice to tech pro — start learning today.