⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h323.cpp

📁 基于h323协议的软phone
💻 CPP
📖 第 1 页 / 共 3 页
字号:
        &h323_bidir_voice_state_call_transfer_abandon;

    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 5].iEvent = timeout_event;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 5].iState =
        ST_H323_BIDIR_VOICE_STATE;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 5].funcAck =
        &h323_bidir_voice_state_timeout_event;

    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 6].iEvent =
        to_dead_end_state;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 6].iState =
        ST_H323_DEAD_END_STATE;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 6].funcAck =
        &h323_bidir_voice_state_to_dead_end_state;

    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 7].iEvent =
        receive_terminate_event;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 7].iState =
        ST_H323_DEAD_END_STATE;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 7].funcAck =
        &h323_bidir_voice_state_receive_terminate_event;

    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 8].iEvent =
        local_on_hook_event;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 8].iState =
        ST_H323_ON_HOOK_STATE;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 8].funcAck =
        &h323_bidir_voice_state_local_on_hook_event;

    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 9].iEvent =
        to_ringing_state;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 9].iState =
        ST_H323_RINGING_STATE;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 9].funcAck =
        &h323_bidir_voice_state_to_ringing_state;

    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 10].iEvent =
        call_transfer_key_event;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 10].iState =
        ST_H323_WAIT_FIRST_DIGIT_STATE;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 10].funcAck =
        &h323_bidir_voice_state_call_transfer_key_event;

    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 11].iEvent =
        to_query_availability_state;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 11].iState =
        ST_H323_QUERY_AVAILABILITY_STATE;
    pSM->pState[ST_H323_BIDIR_VOICE_STATE].pEventAck[ 11].funcAck =
        &h323_bidir_voice_state_to_query_availability_state;

    pSM->pState[ST_H323_RINGING_STATE].iSize = 10;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck = (s_event_ack* )malloc(sizeof(s_event_ack)*
        10);

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 0].iEvent = to_on_hook_state;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 0].iState =
        ST_H323_ON_HOOK_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 0].funcAck =
        &h323_ringing_state_to_on_hook_state;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 1].iEvent =
        local_on_hook_event;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 1].iState =
        ST_H323_ON_HOOK_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 1].funcAck =
        &h323_ringing_state_local_on_hook_event;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 2].iEvent =
        receive_query_availability_event;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 2].iState =
        ST_H323_RINGING_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 2].funcAck =
        &h323_ringing_state_receive_query_availability_event;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 3].iEvent =
        receive_terminate_event;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 3].iState =
        ST_H323_RINGING_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 3].funcAck =
        &h323_ringing_state_receive_terminate_event;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 4].iEvent =
        local_off_hook_event;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 4].iState =
        ST_H323_RINGING_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 4].funcAck =
        &h323_ringing_state_local_off_hook_event;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 5].iEvent =
        call_transfer_abandon;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 5].iState =
        ST_H323_RINGING_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 5].funcAck =
        &h323_ringing_state_call_transfer_abandon;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 6].iEvent = timeout_event;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 6].iState =
        ST_H323_RINGING_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 6].funcAck =
        &h323_ringing_state_timeout_event;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 7].iEvent =
        to_bidir_voice_state;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 7].iState =
        ST_H323_BIDIR_VOICE_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 7].funcAck =
        &h323_ringing_state_to_bidir_voice_state;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 8].iEvent =
        to_wait_for_connect_state;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 8].iState =
        ST_H323_WAIT_FOR_CONNECT_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 8].funcAck =
        &h323_ringing_state_to_wait_for_connect_state;

    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 9].iEvent = to_dead_end_state;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 9].iState =
        ST_H323_DEAD_END_STATE;
    pSM->pState[ST_H323_RINGING_STATE].pEventAck[ 9].funcAck =
        &h323_ringing_state_to_dead_end_state;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].iSize = 13;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck = (s_event_ack*)malloc(
        sizeof(s_event_ack)* 13);

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 0].iEvent =
        digit_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 0].iState =
        ST_H323_COLLECT_TRANSFER_DIGITS_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 0].funcAck =
        &h323_collect_transfer_digits_state_digit_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 1].iEvent =
        receive_query_availability_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 1].iState =
        ST_H323_COLLECT_TRANSFER_DIGITS_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 1].funcAck =
        &h323_collect_transfer_digits_state_receive_query_availability_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 2].iEvent =
        receive_terminate_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 2].iState =
        ST_H323_COLLECT_TRANSFER_DIGITS_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 2].funcAck =
        &h323_collect_transfer_digits_state_receive_terminate_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 3].iEvent =
        cancel_key_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 3].iState =
        ST_H323_COLLECT_TRANSFER_DIGITS_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 3].funcAck =
        &h323_collect_transfer_digits_state_cancel_key_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 4].iEvent =
        long_digit_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 4].iState =
        ST_H323_COLLECT_TRANSFER_DIGITS_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 4].funcAck =
        &h323_collect_transfer_digits_state_long_digit_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 5].iEvent =
        timeout_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 5].iState =
        ST_H323_COLLECT_TRANSFER_DIGITS_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 5].funcAck =
        &h323_collect_transfer_digits_state_timeout_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 6].iEvent =
        callout_key_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 6].iState =
        ST_H323_AWAIT_CALL_TRANSFER_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 6].funcAck =
        &h323_collect_transfer_digits_state_callout_key_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 7].iEvent =
        to_await_call_transfer_state;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 7].iState =
        ST_H323_AWAIT_CALL_TRANSFER_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 7].funcAck =
        &h323_collect_transfer_digits_state_to_await_call_transfer_state;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 8].iEvent =
        local_on_hook_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 8].iState =
        ST_H323_ON_HOOK_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 8].funcAck =
        &h323_collect_transfer_digits_state_local_on_hook_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 9].iEvent =
        to_dead_end_state;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 9].iState =
        ST_H323_DEAD_END_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 9].funcAck =
        &h323_collect_transfer_digits_state_to_dead_end_state;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 10].iEvent =
        to_wait_first_digit_state;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 10].iState =
        ST_H323_WAIT_FIRST_DIGIT_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 10].funcAck =
        &h323_collect_transfer_digits_state_to_wait_first_digit_state;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 11].iEvent =
        long_cancel_key_event;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 11].iState =
        ST_H323_WAIT_FIRST_DIGIT_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 11].funcAck =
        &h323_collect_transfer_digits_state_long_cancel_key_event;

    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 12].iEvent =
        to_bidir_voice_state;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 12].iState =
        ST_H323_BIDIR_VOICE_STATE;
    pSM->pState[ST_H323_COLLECT_TRANSFER_DIGITS_STATE].pEventAck[ 12].funcAck =
        &h323_collect_transfer_digits_state_to_bidir_voice_state;

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].iSize = 7;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck = (s_event_ack* )malloc(sizeof(
        s_event_ack)* 7);

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 0].iEvent =
        receive_query_availability_event;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 0].iState =
        ST_H323_AWAIT_CALL_TRANSFER_STATE;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 0].funcAck =
        &h323_await_call_transfer_state_receive_query_availability_event;

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 1].iEvent =
        ct_init_result_rcvd;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 1].iState =
        ST_H323_AWAIT_CALL_TRANSFER_STATE;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 1].funcAck =
        &h323_await_call_transfer_state_ct_init_result_rcvd;

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 2].iEvent =
        receive_terminate_event;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 2].iState =
        ST_H323_AWAIT_CALL_TRANSFER_STATE;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 2].funcAck =
        &h323_await_call_transfer_state_receive_terminate_event;

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 3].iEvent =
        timeout_event;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 3].iState =
        ST_H323_AWAIT_CALL_TRANSFER_STATE;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 3].funcAck =
        &h323_await_call_transfer_state_timeout_event;

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 4].iEvent =
        local_on_hook_event;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 4].iState =
        ST_H323_ON_HOOK_STATE;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 4].funcAck =
        &h323_await_call_transfer_state_local_on_hook_event;

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 5].iEvent =
        to_dead_end_state;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 5].iState =
        ST_H323_DEAD_END_STATE;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 5].funcAck =
        &h323_await_call_transfer_state_to_dead_end_state;

    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 6].iEvent =
        to_bidir_voice_state;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 6].iState =
        ST_H323_BIDIR_VOICE_STATE;
    pSM->pState[ST_H323_AWAIT_CALL_TRANSFER_STATE].pEventAck[ 6].funcAck =
        &h323_await_call_transfer_state_to_bidir_voice_state;

    return pSM;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -