Solved

Using TAPI to make modem calls

Posted on 2006-11-07
8
366 Views
Last Modified: 2010-08-05
I am designing a c# application that uses the serial ports (System.Ports) class to send call strings to a serial modem and receive some data.  I would like to redo this with USB modems or any other modems that might be installed in the system on which the app will be deployed.  I read that using the TAPI will enable me to do this.

Does anyone have some simple code using the TAPI from c# or vb.net?

Thanks

Chris
0
Comment
Question by:CLoucas
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 3

Expert Comment

by:osmantemiz
ID: 17899426
private AxMSCommLib.AxMSComm com = CoadTools.SerialCom.Port;

com.CommPort=modemport;
com.PortOpen = true;
com.OnComm += new EventHandler(com_OnComm);


                  com.Output = "ATZ"+Environment.NewLine;
                  Application.DoEvents();
                  com.Output = "ATE0 &C0 L0 Q0 H0 M3 V1 X4 DT "+phonenumber+Environment.NewLine;
                  Application.DoEvents();

0
 

Author Comment

by:CLoucas
ID: 17899464
Thanks for your post, but this is exactly what I have been doing, using the Comm control for serial access.  I was looking for a TAPI interface instead.
0
 
LVL 12

Expert Comment

by:andrewjb
ID: 17899558
I've been looking for the same... There isn't a M/S implementation of TAPI for C#. To implement, you need to wrap the real (COM?) version using all the interop stuff etc. etc which I didn't look into much futher.

My notes say...

Tapi2 – older version
Tapi3 – COM based never version (1999). Supported on which platforms?? (Don’t think it’s anything before 2000/XP)

Nothing is directly supported via DotNet standard classes

There are apparently issues with trying to use TAPI3 – you can get DotNet to generate a default wrapper round the Com object, but it probably doesn’t work.
TAPI 2 is OK, but you might need to use the extensions in C++ to get at it – there are lots of pointers etc. to play with.


I've probably chosen to use TransPort 2006 from http://www.componentscience.net/ - you can try an evaluation version for ever.

Alternatively, you could look at any of the following, but they all looked old / incomplete / broken to me...

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=5d893af6-b340-49d8-9162-b90bf6932414
is a simple wrapper which is old (2003) and may or may not go all the way..

http://www.julmar.com/samples.htm

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 3

Expert Comment

by:osmantemiz
ID: 17899783
0
 
LVL 12

Expert Comment

by:andrewjb
ID: 18129520
PAQ it? There are a few useful links mentioned in here.
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 18153546
PAQed with no points refunded (of 500)

Computer101
EE Admin
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question