Lines Matching refs:call
162 ACallRec call;
539 return &modem->calls[index].call;
545 AVoiceCall call = NULL;
551 /* find a valid id for this call */
556 if ( modem->calls[nn].call.id == (id+1) ) {
564 call = modem->calls + count;
565 call->call.id = id + 1;
566 call->modem = modem;
570 return call;
575 amodem_free_call( AModem modem, AVoiceCall call )
579 if (call->timer) {
580 sys_timer_destroy( call->timer );
581 call->timer = NULL;
584 if (call->is_remote) {
585 remote_call_cancel( call->call.number, modem->base_port );
586 call->is_remote = 0;
590 if ( modem->calls + nn == call )
597 (modem->call_count - 1 - nn)*sizeof(*call) );
609 AVoiceCall call = modem->calls + nn;
610 if (call->call.id == id)
611 return call;
619 /* despite its name, this really tells the system that the call
629 ACall call = &vcall->call;
632 if (call == NULL)
635 call->dir = A_CALL_INBOUND;
636 call->state = A_CALL_INCOMING;
637 call->mode = A_CALL_VOICE;
638 call->multi = 0;
643 if (len >= sizeof(call->number))
644 len = sizeof(call->number)-1;
646 memcpy( call->number, number, len );
647 call->number[len] = 0;
663 if ( !strcmp(vcall->call.number, number) )
664 return &vcall->call;
671 acall_set_state( AVoiceCall call, ACallState state )
673 if (state != call->call.state)
675 if (call->is_remote)
677 const char* number = call->call.number;
678 int port = call->modem->base_port;
692 call->call.state = state;
1278 ACall call = &vcall->call;
1279 if (call->mode == A_CALL_VOICE)
1281 call->id, call->dir, call->state, call->mode,
1282 call->multi, call->number, 129 );
1440 ACall call = (ACall) vcall;
1441 if (call == NULL) {
1444 call->id = 1;
1445 call->dir = A_CALL_OUTBOUND;
1447 call->state = A_CALL_ACTIVE;
1448 call->mode = A_CALL_DATA;
1449 call->multi = 0;
1450 strcpy( call->number, "012345" );
1477 ACall call = &vcall->call;
1479 switch (call->state) {
1481 call->state = A_CALL_ALERTING;
1484 if ( remote_call_dial( call->number,
1489 * emulator is not running, so simply destroy this call.
1503 call->state = A_CALL_ACTIVE;
1507 assert( 0 && "unreachable event call state" );
1517 ACall call = &vcall->call;
1520 if (call == NULL)
1524 call->dir = A_CALL_OUTBOUND;
1525 call->state = A_CALL_DIALING;
1526 call->mode = A_CALL_VOICE;
1527 call->multi = 0;
1533 if (len >= sizeof(call->number))
1534 len = sizeof(call->number)-1;
1536 memcpy( call->number, cmd, len );
1537 call->number[len] = 0;
1539 vcall->is_remote = (remote_number_string_to_port(call->number) > 0);
1555 ACall call = &vcall->call;
1558 if (call->state == A_CALL_INCOMING) {
1561 else if (call->state == A_CALL_ACTIVE) {
1566 if (call->state == A_CALL_INCOMING) {
1585 ACall call = &vcall->call;
1586 if (call->mode != A_CALL_VOICE)
1588 if (call->state == A_CALL_HELD ||
1589 call->state == A_CALL_WAITING ||
1590 call->state == A_CALL_INCOMING) {
1601 ACall call = &vcall->call;
1602 if (call->mode != A_CALL_VOICE)
1604 if (call->state == A_CALL_ACTIVE) {
1608 else if (call->state == A_CALL_HELD ||
1609 call->state == A_CALL_WAITING) {
1613 } else { /* release specific call */
1625 ACall call = &vcall->call;
1626 if (call->mode != A_CALL_VOICE)
1628 if (call->state == A_CALL_ACTIVE) {
1631 else if (call->state == A_CALL_HELD ||
1632 call->state == A_CALL_WAITING) {
1640 ACall call = &vcall->call;
1641 if (call->mode != A_CALL_VOICE)
1643 if (call->state == A_CALL_ACTIVE && call->id != id) {
1650 case '3': /* add a held call to the conversation */
1653 ACall call = &vcall->call;
1654 if (call->mode != A_CALL_VOICE)
1656 if (call->state == A_CALL_HELD) {
1666 ACall call = &vcall->call;
1667 if (call->mode != A_CALL_VOICE)
1669 if (call->state == A_CALL_HELD) {
1751 { "!D", NULL, handleDial }, /* the code says that success/error is ignored, the call state will
1766 { "A", NULL, handleAnswer }, /* answer the call */