Search EggHeadCafe's Job Board
EggHeadCafe Silverlight WPF ASP.NET VB.NET C# Excel SQL Server SharePoint
search
.NET Framework GroupsView
.NET Distributed_Apps
.NET
.NET ADO.NET
.NET ASP.NET
.NET ASP.NET Security
.NET ASP.NET Webcontrols
.NET ASP.NET Web Services
.NET Clr
.NET Compact Framework
.NET Drawing
.NET Interop
.NET Performance
.NET Web Services
.NET Windows Forms
.NET Windows Forms Controls
.NET General
.NET Csharp
.NET Visual Basic
.NET Vc
.NET Security
.NET Xml
Vsnet Debugging
Xml
Xsl
Scripting Jscript
Scripting Visual Basicscript
Scripting Wsh
Smartphone Developer
Visual Basic Com
Visual Basic Controls
Visual Basic Crystal
Visual Basic Database Ado
Visual Basic Syntax
Visual Basic Winapi
Vc Atl
Vc Debugger
Vc Language
Vc Mfc
Vc Stl
Visio Developer Visual Basica
Windowsce Embedded Vc
Windows Powershell
Visual Basic Vista Compatibility
Deployment Server
.NET Micro Porting

Group SummariesView
.NET Framework
Access
BizTalk
Certifications
CRM
DDK
Exchange Server
FoxPro
French
French .NET
Games
German
German .NET
Graphic Design
IIS
Internet
ISA Server
Italian
Italian .NET
Maps
MCIS
Miscellaneous
Mobile Apps
Money
MSN
Networking
Office
Ops Mgr
Publisher
Security
SharePoint
Small Business
Spanish
Spanish .NET
SQL Server
Systems Management Server
Transaction Server
Virtual PC / Virtual Server
Visual Studio
Win32
Windows 2000
Windows 2003 Server
Windows 7
Windows Live
Windows Media
Windows Update
Windows Vista
Windows XP
 

View All Microsoft Smartphone Developer Posts  Ask A New Question 

Send DTMF tones

Veena posted on Monday, July 09, 2007 4:54 AM

Hello All,
I want to send DTMF tones while an voice call is going on. I am using
TAPI for the same. LineGenerateDigits function should do this as per
the documentation. But it gives LINEERR_OPERATIONFAILED when i execute
it. Could anyone please help me.

I have opened an line connection using (dialed a number)
lineOpen (
g_hLineApp,                 // Usage handle for TAPI
g_dwCurrentLineID,          // Cannot use the LINEMAPPER value
&g_CurrentLineInfo.hLine,   // Line handle
g_CurrentLineInfo.dwAPIVersion,
// API version number
0,                          // Must set to zero for Windows CE
0,                          // No data passed back
LINECALLPRIVILEGE_OWNER + LINECALLPRIVILEGE_MONITOR,     //
Can only make an outgoing call
LINEMEDIAMODE_INTERACTIVEVOICE|LINEMEDIAMODE_DATAMODEM,//Media
mode
NULL))

When i get  connected indication which is given by
LINECALLSTATE_CONNECTED,  i am calling:

LPCWSTR tone = TEXT("2");
error = lineGenerateDigits(g_hCall, LINEDIGITMODE_DTMF,tone, 600);

This function returns error LINEERR_OPERATIONFAILED error.


Please help.
reply

 

Send DTMF tones

Peter Foot [MVP] posted on Monday, July 09, 2007 10:03 AM

Have you tried the alternative approach of using the dtmf: pluggable
protocol e.g. use ShellExecuteEx to launch

Peter

--
Peter Foot
Microsoft Device Application Development MVP
www.peterfoot.net | www.inthehand.com
In The Hand Ltd - .NET Solutions for Mobility
reply

Hi Peter,Thank you very much for replying.No i am not aware of this.

Veena posted on Tuesday, July 10, 2007 2:55 AM

Hi Peter,
Thank you very much for replying.
No i am not aware of this.I tried using RIL interface too but no
success.
Just want to clarify..You mean to say i call ShellExecuteEx("dtmf:2");
is it?
Here "2" would stand for the digit whose dtmaf i want to send right?
But how would i know if it has been successfully sent?

Please reply back, till then i'll try doing this.

Thanks again
reply

Send DTMF tones

Peter Foot [MVP] posted on Tuesday, July 10, 2007 4:08 AM

Yes you follow dtmf: with the key (or keys) you want to pass, this includes
the * # and p (pause) characters. No I don't believe you'll get a return
value to know if it was successful or not though.

Peter

--
Peter Foot
Microsoft Device Application Development MVP
www.peterfoot.net | www.inthehand.com
In The Hand Ltd - .NET Solutions for Mobility
reply

Hi,Thanks once again for replying back.

Veena posted on Tuesday, July 10, 2007 6:56 AM

Hi,
Thanks once again for replying back.
I tried using ShellExecuteEx() wherein i passed lpFile  paramater of
the  SHELLEXECUTEINFO structure as "dtmf:2" considering digit 2. Now
just to confirm whether i receive this DTMF signal, i used
RIL_SetDTMFMonitoring function but again i am not getting any
notification using the same. Any other suggestions which i could try
to confirm?

Thank you very much
reply

Can you try changing the Media type

ckm posted on Tuesday, July 10, 2007 7:11 AM

Can you try changing the Media type from
LINEMEDIAMODE_INTERACTIVEVOICE|LINEMEDIAMODE_DATAMODEM to
LINEMEDIAMODE_INTERACTIVEVOICE
reply

Hi,Sorry for late reply.

Veena posted on Wednesday, July 11, 2007 6:03 AM

Hi,
Sorry for late reply. Was facing some problems with the call
conenction itself.
Now finally i am getting success return code for linegeneratedigits.
Thank you very much.
Now if i have to receive these DTMF tones what should i do?
Any idea?

Thanks once again
reply

AFAIK on WM phones it is not possible to monitor DTMF digits on voicecalls.

ckm posted on Wednesday, July 11, 2007 7:12 AM

AFAIK on WM phones it is not possible to monitor DTMF digits on voice
calls. Reason is DTMF digits are  received from the remote party as
audio tones in the voice call, and there is currently no support to
monitor for these audio tones.
reply

Thanks a lot for your reply.Yes i tried lineMonitorDigits function.

Veena posted on Wednesday, July 11, 2007 7:20 AM

Thanks a lot for your reply.
Yes i tried lineMonitorDigits function.
But it returns error code that operation is unavailable.
So we have absolutely no means detecting these tones..thats very
discouraging.
reply

When I'm opening my line like you with the same code I get Operation Unavaible.

BenoitBedar posted on Thursday, July 19, 2007 9:26 AM

When I'm opening my line like you with the same code I get Operation
Unavaible...
the only way I get no error is when I'm using no privilege and only data
modem... what I am doing wrong.
--
Benoit Bedard
Junior Software Designer
reply


Previous Microsoft Smartphone Developer conversation.