How to make PC to Answer Incoming Calls Using TAPI?

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...
godwindotnetAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

arhameCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
godwindotnetAuthor Commented:
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
arhameCommented:
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
Hey MSSPs! What's your total cost of ownership?

WEBINAR: Managed security service providers often deploy & manage products from a variety of solution vendors. But is this really the best approach when it comes to saving time AND money? Join us on Aug. 15th to learn how you can improve your total cost of ownership today!

godwindotnetAuthor Commented:
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
arhameCommented:
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
godwindotnetAuthor Commented:
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
arhameCommented:
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
godwindotnetAuthor Commented:
"'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
arhameCommented:
Try the command at&f1S0=5&w
0
godwindotnetAuthor Commented:
That TIP you gave me was simply EXCELLENT.
Thank you for the time ...and sharing your knowledge...
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Networking Hardware-Other

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.