Subject: TAPI: Detecting Dialed Digits [VC++]
Posted By: goyal_saurabh Post Date: 3/5/2004 12:49:43 PM
hi there to all experts..

I am making a Tapi application which is supposed to recv a call n then detect the digits pressed by the calling party. I am able to pick up the the line but still cannot detect the digits.
One more problem that i am facing is that the i recv the LINECALLSTATE_CONNECTED message after the calling party disconnects.
Moreover the Modem keeps producing the annoying sounds.
I'll be really greatfull to u all if neone can help me solve these problems.and if u know ne link where i can find a sample code, do tell me

thanx




Reply By: Daniel_hn Reply Date: 3/7/2004 8:08:33 PM
    I think you shuold learn more about AT command at first.
You should use AT command set config at modem such as "AT0=3 AT&W" ect.
    The modem will auto pick the line whem ring coming after set successful,You will receive the data on COM port such as "connected at 9600" ect.
    Good lucky
Reply By: goyal_saurabh Reply Date: 3/8/2004 2:18:38 AM
thanx for ur suggestion. it really fels like tht i hv to learn AT commands first.
but what i learned from MSDN is tht if ur modem is TAPI compliant u just need to call the TAPI functions.Whatever  i think tht i'll hv to go for AT commands first.
can u please tell me some links where i can find more information on the these commands.

thanx.

Reply By: Daniel_hn Reply Date: 3/8/2004 10:55:41 PM
pls use the key words "AT Command modem" search in google.com.
You will get a lot of results.
http://www.modem.com/general/extendat.html is one of the result
Reply By: hanter Reply Date: 9/14/2006 3:00:01 AM
It's veyry simple
In your TAPI callback function
Whenever your get the meaage
LINE_CALLSTATE and the dwParam1 is LINECALLSTATE_CONNECTED

You call the function lineMonitorDigits, from now your application can get the detect the digit.
And you can get the digit which press by caller or callee,  and  whenever the message LINE_MONITORDIGITS come.
you cheack dwParam2 parameter to get the digit.

if(dwParam2 == LINEDIGITMODE_DTMF)
{
   short digit = LOBYTE(dwParam1);
}

Have success full.


Go to topic 10265

Return to index page 175
Return to index page 174
Return to index page 173
Return to index page 172
Return to index page 171
Return to index page 170
Return to index page 169
Return to index page 168
Return to index page 167
Return to index page 166