Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 356
  • Last Modified:

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.

Thx
0
robbperk
Asked:
robbperk
  • 3
  • 2
1 Solution
 
ranjfoadCommented:
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
http://www.commsdesign.com/design_corner/showArticle.jhtml?articleID=16505028
http://www.dynamode.co.il/main-ftp/Modem%20PCMCIA/R1456VQC-T/Manual.pdf
http://www.56k.com/inits/rockwell.pdf
http://www.creatix.de/support/download/gruppe1/Handbuch_DSP_GB.pdf
0
 
StimphyCommented:
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

Regaurds,
Dave
0
 
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.)

Thoughts?

Robb
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
StimphyCommented:
Robb,

Can you give me the exact model of your modem?

Ragaurds,
Dave
0
 
robbperkAuthor Commented:
I am using the Intel(R) 537EP v9x DF PCI modem on COM 4
0
 
StimphyCommented:
Robb,
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 http://www.56k.com/inits/rockwell.pdf

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.

Regaurds,
Dave
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now