Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 353
  • Last Modified:

TAPI lineAccept

I've created a program using TAPI interface, and here is it's fragment:

void AcceptThread(LPVOID lpVoid)
{ g_lAcceptID = lineAccept((HCALL)lpVoid, NULL, 0);
  g_hevtAccept = CreateEvent(NULL, FALSE, FALSE, NULL);
  WaitForSingleObject(g_hevtAccept, INFINITE);
  g_lAcceptID = 0;
  CloseHandle(g_hevtAccept);
  if(g_lAcceptResult == LINECALLSTATE_CONNECTED)
   {
   }
  else
   HangUp();
}

VOID FAR PASCAL lineCallbackFunc(HANDLE hDevice, DWORD dwMsg,
                                 DWORD dwCallbackInstance, DWORD dwParam1,
                                                 DWORD dwParam2, DWORD dwParam3)
{ switch(dwMsg)
   { case LINE_CALLSTATE:
       switch(dwParam1)
          {
              case LINECALLSTATE_OFFERING:
              AddToLog("Ring");
            RunThread((LPTHREAD_START_ROUTINE)AcceptThread, (LPVOID)hDevice);
               break;
              case LINECALLSTATE_ACCEPTED:
              AddToLog("Call accepted");
        }
       if(g_lAcceptID != 0)
         { g_lAcceptResult = dwParam1;
           SetEvent(g_hevtAccept);
         }
   }
}

My program receives ring notification, starts lineAccept() in separate thread,
lineAccept() returns Ok, but modem doesn't really answer the call.
0
shvetsov
Asked:
shvetsov
  • 2
1 Solution
 
NickRepinCommented:
Of course, it doesn't!
0
 
NickRepinCommented:
Your first answer impressed me very much :-)
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now