Solved

How to make PC to Answer Incoming Calls Using TAPI?

Posted on 2008-11-02
11
1,009 Views
Last Modified: 2013-12-21
Hi All,

        I am developing an windows application using C#.Net...I am using TAPI3Lib.dll and PCI SoftV92 Modem...
I got sample code from codeplex.com  (http://www.codeplex.com/C4FDevKit/SourceControl/FileView.aspx?itemId=178564&changeSetId=12121)...Form this Out Going Calls are working Properly....But when i try to make my PC to answer Incoming Calls it gives some problem....There was a class called TapiBase.cs..in which the CALL_STATE.CS_OFFERING event is not triggered....this event makes the incoming call to answer....Its showing the exception that "No Call is Connected"  even at the time phone rings..i think its not detecting the incoming calls.... Can any one help me to solve this problem...Please guide me with any other code or any link that contains solution for this problem...
0
Comment
Question by:godwindotnet
[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
  • 5
  • 5
11 Comments
 
LVL 8

Accepted Solution

by:
arhame earned 500 total points
ID: 22876915
One simple step a lot of people overlook is making sure that call answering is setup on the modem.  By default this is set to off, or else (at least back when almost everybody had a modem hooked up to their home phone line) the modem would answer whenever anybody called the house.  If it's an external modem usually flipping one of the dipswitches and power cycling the modem will tell the modem to answer.  If it's internal you'll usually have to go into hyperterminal and issue it a command (what command varies with what chipset you're using).

So all this is going off the assumption that when they call, the modem doesn't pick up at all.  If you need help finding out exactly how get your modem to pick up the phone (You can even adjust what ring it'll pick up on using another setting) post the model/manufacturer of your modem and I'll do some research for ya.
0
 

Author Comment

by:godwindotnet
ID: 22883321
Hi,
  Thank U...For your reply...I am using D-Link Modem ( PCI SoftV92 Modem)...Manufacturer- CXT...it ll be more helpful if u guide me for this answering problem...
0
 
LVL 8

Expert Comment

by:arhame
ID: 22885797
Go to:
Start > Programs > Accessories > (Communication >) Hyperterminal .... Hyperterm.exe > name the connection "modem" > Connect Using... Select COM1 or COM2 (on which port the modem was assigned) > Bits per second 9600 > OK.

After that try typing ATZ command and press ENTER (you may not see what you are typing, just type it in anyway). The response from the modem should be OK.  If it's not 'OK' then you might have picked the wrong COM port when opening hyperterminal.  Close Hyperterminal and try again with the other COM port.
Then type in the following command:

ATS0=2&W

The response should be "OK"
The modem will now be set to auto-answer after 2 rings, if you want it to auto answer on a different ring just change the #2 to whatever ring you want, ie:

ATS0=1&W = auto answer on 1 ring
ATS0=5&W = auto answer on 5 rings

Hope this helps.

Dave
0
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

 

Author Comment

by:godwindotnet
ID: 22973948
That works partially if i pass it through the modem initialization command..
Sometimes,it doesn;t work..
Would be nice if you could guide me if you know the solution..
Thanks
0
 
LVL 8

Expert Comment

by:arhame
ID: 22975623
You shouldn't need to, the &w should save it to the nvram on the modem.  Unless you have a really cheap modem that can't save it's settings and has to be passed them each time.

So you're saying it works fine if you follow my directions, but if you turn off the computer it stops working until you pass it the command again?
0
 

Author Comment

by:godwindotnet
ID: 22976263
Yes,It worked fine ....
But now,the story has totally turned different..
I struggled for more than a week analyzng why the calls aren't getting attended...
But then,I took the idea you gave me and put that command in the modem initialization in the advanced ettings under modem properties.....
And it worked perfectly fine.
At 1st,the problem was that the call was not getting attended at all

But now.....

I don't know what happened really...but....the call is always getting attended within a ring and that command has no effect  :-(
Even if I leave the initialization string blank,it gets attended...But this was not the case before!!!
I have no clue why.. and what could have possibly got changed...
Just pulling my hair on this....
Help me please....

And yes its a cheap D-lInk modem..

This is happening after everything worked fine for a moment....it worked perfectly as expected for a day!!....what could have possibly gone wrong?
Thanks
0
 
LVL 8

Expert Comment

by:arhame
ID: 22976511
Okay, trying to understand.  You say the call is always getting attended within a ring, so it's still answering the call - and you now do _not_ want it to answer the phone call anymore?  Is it that you want to change what ring it picks up on now?

I guess I"m having a hard time understanding the statement 'the call is always getting attended within a ring and that command has no effect'.  If the call is being attended isn't that what you want?

Just a little more clarification so I can understand what you want to happen that isn't happening please :)
0
 

Author Comment

by:godwindotnet
ID: 22977306
"'the call is always getting attended within a ring" means the call gets attended within ONE ring.
I want it to get attended only after 5 rings....


I tried ATS0=5&W ...it worked for one day...
After that,again...I'm facing a different problem....The command has no effect.
The call now gets attended immediately irrespective of the init commands I give.
0
 
LVL 8

Expert Comment

by:arhame
ID: 22977373
Try the command at&f1S0=5&w
0
 

Author Closing Comment

by:godwindotnet
ID: 31512607
That TIP you gave me was simply EXCELLENT.
Thank you for the time ...and sharing your knowledge...
0

Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

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

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!

710 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