Пример #1
0
int main(int argc, char * argv[])
{
  Operations operation;

  
  if (argc < 2 || (operation = GetOperation(argv[1])) == NumOperations || argc < RequiredArgsForOperation[operation]) {
    Operations op;
    fputs("usage: c_api { ", stderr);
    for (op = OpListen; op < NumOperations; op++) {
      if (op > OpListen)
        fputs(" | ", stderr);
      fputs(OperationNames[op], stderr);
    }
    fputs(" } [ A-party [ B-party ] ]\n", stderr);
    return 1;
  }

  puts("Initialising.\n");

  if (!InitialiseOPAL())
    return 1;

  switch (operation) {
    case OpListen :
      puts("Listening.\n");
      HandleMessages(60000);
      break;

    case OpCall :
      if (argc > 3) {
        if (!DoCall(argv[2], argv[3]))
          break;
      } else {
        if (!DoCall(NULL, argv[2]))
          break;
      }
      HandleMessages(15000);
      break;

    case OpMute :
      if (!DoCall(NULL, argv[2]))
        break;
      HandleMessages(15000);
      if (!DoMute(1))
        break;
      HandleMessages(15000);
      if (!DoMute(0))
        break;
      HandleMessages(15000);
      break;

    case OpHold :
      if (!DoCall(NULL, argv[2]))
        break;
      HandleMessages(15000);
      if (!DoHold())
        break;
      HandleMessages(15000);
      break;

    case OpTransfer :
      if (!DoCall(NULL, argv[2]))
        break;
      HandleMessages(15000);
      if (!DoTransfer(argv[3]))
        break;
      HandleMessages(15000);
      break;

    case OpConsult :
      if (!DoCall(NULL, argv[2]))
        break;
      HandleMessages(15000);
      if (!DoHold())
        break;
      HandleMessages(15000);
      if (!DoCall(NULL, argv[3]))
        break;
      HandleMessages(15000);
      if (!DoTransfer(HeldCallToken))
        break;
      HandleMessages(15000);
      break;

    case OpRegister :
      if (!DoRegister(argv[2], argv[3]))
        break;
      HandleMessages(15000);
      break;

    default :
      break;
  }

  puts("Exiting.\n");

  ShutDownFunction(hOPAL);
  return 0;
}
Пример #2
0
int main(int argc, char * argv[])
{
    Operations operation;


    if (argc < 2 || (operation = GetOperation(argv[1])) == NumOperations || argc < RequiredArgsForOperation[operation]) {
        fputs("usage: c_api { listen | call | transfer } [ A-party [ B-party ] ]\n", stderr);
        return 1;
    }

    puts("Initialising.\n");

    if (!InitialiseOPAL())
        return 1;

    switch (operation) {
    case OpListen :
        puts("Listening.\n");
        HandleMessages(60000);
        break;

    case OpCall :
        if (!DoCall(argv[2]))
            break;
        HandleMessages(15000);
        break;

    case OpHold :
        if (!DoCall(argv[2]))
            break;
        HandleMessages(15000);
        if (!DoHold())
            break;
        HandleMessages(15000);
        break;

    case OpTransfer :
        if (!DoCall(argv[2]))
            break;
        HandleMessages(15000);
        if (!DoTransfer(argv[3]))
            break;
        HandleMessages(15000);
        break;

    case OpConsult :
        if (!DoCall(argv[2]))
            break;
        HandleMessages(15000);
        if (!DoHold())
            break;
        HandleMessages(15000);
        if (!DoCall(argv[3]))
            break;
        HandleMessages(15000);
        if (!DoTransfer(HeldCallToken))
            break;
        HandleMessages(15000);
        break;

    default :
        break;
    }

    puts("Exiting.\n");

    ShutDownFunction(hOPAL);
    return 0;
}