| | |
TAPI
Please support our C++ advertiser: Programming Forums - DaniWeb Sister Site
![]() |
What do you mean "how"?
How I would do it would be
- STW for tutorials and examples
- Read the manual pages
- Try some examples
- Do some design work on the system I want to implement
- Write some code, then test it.
And so on.
Same as any other software problem really. The "TAPI" and "C++" isn't special in that respect.
How I would do it would be
- STW for tutorials and examples
- Read the manual pages
- Try some examples
- Do some design work on the system I want to implement
- Write some code, then test it.
And so on.
Same as any other software problem really. The "TAPI" and "C++" isn't special in that respect.
By "How", I mean I looked for like an hour finding only stuff about .Net, and was wondering what the code would be, what libraries I might have to get, and so on. Like I said before, I'm using Dev-C++ 4.9.9.2, so anything that could be compiled with that IDE would help me a lot.
Last edited by TheBeast32; Aug 20th, 2008 at 2:09 am.
"Always program as if the person who will be maintaining your program is a violent psychopath that knows where you live."
--Martin Golding
--Martin Golding
How would you compile this in Dev?
C++ Syntax (Toggle Plain Text)
using System; using System.Collections.Generic; using System.Text; using JulMar.Tapi3; namespace TestTapi { class Program { static void Main(string[] args) { TTapi tapi = new TTapi(); TCall call = null; TAddress modemAddr = null; tapi.Initialize(); tapi.TE_CALLNOTIFICATION += delegate(object sender, TapiCallNotificationEventArgs e) { Console.WriteLine("New call {0} detected from {1}", e.Call.ToString(), e.Event); }; tapi.TE_CALLSTATE += delegate(object sender, TapiCallStateEventArgs e) { Console.WriteLine("{0}:{4} has changed state to {1} due to {2} - current={3}:{5}", e.Call, e.State, e.Cause, e.Call == call, e.Call.GetHashCode(), (call != null) ? call.GetHashCode() : 0); if (e.State == CALL_STATE.CS_INPROGRESS && e.Call == call) { Console.WriteLine("Dropping call"); e.Call.Disconnect(DISCONNECT_CODE.DC_NORMAL); } }; foreach (TAddress addr in tapi.Addresses) { if (String.Compare(addr.ServiceProviderName, "unimdm.tsp", true) == 0 && addr.QueryMediaType(TAPIMEDIATYPES.AUDIO)) modemAddr = addr; } if (modemAddr != null) { Console.WriteLine("{0} = {1} ({3}) [{2}]", modemAddr.AddressName, modemAddr.State, modemAddr.ServiceProviderName, modemAddr.DialableAddress); modemAddr.Monitor(TAPIMEDIATYPES.AUDIO); ConsoleKey ki = ConsoleKey.A; while (ki != ConsoleKey.Q) { // Flip the auto-destroy flag if (ki == ConsoleKey.D) { tapi.AutoDestroyCalls = !tapi.AutoDestroyCalls; Console.WriteLine("Set AutoDestroy to {0}", tapi.AutoDestroyCalls); } // List existing calls else if (ki == ConsoleKey.L) { foreach (TCall _call in modemAddr.EnumerateCalls()) { Console.WriteLine("Existing call found: {0}:{1}", _call, _call.GetHashCode()); _call.Dispose(); // Go ahead and dump it } } // Create a new call else { call = modemAddr.CreateCall("5551213", LINEADDRESSTYPES.PhoneNumber, TAPIMEDIATYPES.DATAMODEM); Console.WriteLine("Created new call {0}:{1}", call, call.GetHashCode()); try { // This will fail if existing call interface is still around (i.e. not disposed) call.Connect(false); } catch (TapiException ex) { Console.WriteLine(ex.Message); } } Console.WriteLine("Press a key to try another call.. Q to quit"); ki = Console.ReadKey().Key; } } // This will destroy any outstanding interfaces tapi.Shutdown(); // Call should be disposed here.. state will be CS_UNKNOWN if (call != null) Console.WriteLine("{0} {1}", call, call.CallState); } }
"Always program as if the person who will be maintaining your program is a violent psychopath that knows where you live."
--Martin Golding
--Martin Golding
OOOOOOOPSSSSSSSSSSS, I'm StUPID. No i didn't. I don't know why I put that........

I'm an idiot.......................

I'm an idiot.......................
Last edited by TheBeast32; Aug 20th, 2008 at 2:10 am.
"Always program as if the person who will be maintaining your program is a violent psychopath that knows where you live."
--Martin Golding
--Martin Golding
Where can I get the SDK for the samples here http://www.tapi.info/default.aspx/TAPI/PSDKSamples.html
Last edited by TheBeast32; Aug 20th, 2008 at 4:33 pm.
"Always program as if the person who will be maintaining your program is a violent psychopath that knows where you live."
--Martin Golding
--Martin Golding
![]() |
Similar Threads
- Send data on a serial port (C++)
- Need TAPI component (C++)
- System 32 Coming Up at Startup (Viruses, Spyware and other Nasties)
- check if my modem is TAPI (PCI and Add-In Cards)
- Another Trojan.Bookmarker.Gen (Viruses, Spyware and other Nasties)
- www.lookfor.cc search still buggin me (Viruses, Spyware and other Nasties)
- Telephony using C++ (C++)
- hijackthis log...I need help please (Viruses, Spyware and other Nasties)
Other Threads in the C++ Forum
- Previous Thread: String Concatetation
- Next Thread: help implementing singly linked list
Views: 1927 | Replies: 10
| Thread Tools | Search this Thread |
Tag cloud for C++
6 add api array arrays beginner binary bitmap c++ c/c++ calculator char class classes code compile compiler console conversion convert count data delete desktop directshow dll encryption error file forms fstream function functions game getline givemetehcodez google graph homeworkhelper iamthwee ifstream input int integer java lazy lib linkedlist linux loop looping loops map math matrix memory microsoft newbie news node number output parameter pointer problem program programming project proxy python random read recursion recursive reference return sort string strings struct studio system template templates test text tree unix url variable vector video visual visualstudio win32 windows winsock word wordfrequency wxwidgets






