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

📄 h323f.c

📁 基于h323协议的软phone
💻 C
📖 第 1 页 / 共 2 页
字号:
/************************************************************************
 *
 *    Version %I%
 *
 *       Copyright (C) 2002 By BEP Corporation.
 * This Document Contains Proprietary Information Of BEP Corporation.
 * No Distribution Is Granted Except With Written Permission From
 * BEP Corporation.
 *************************************************************************/
/*
 **
 ** MODULE: h323f.c
 **
 ** PURPOSE:
 **
 ** LIMITATIONS:
 **
 ** DATE CREATED: 09-27-2004
 **
 ** AUTHOR(S): aoto created
 **
 ** MODIFICATIONS:
 **     userId                  Date            Description
 **
 ** QA Status:
 **      status                   Date             Owner
 **
 */

#include "h323.h"
#include <stdio.h>

/**
 * LCD清屏并播放等待拨号音,指示灯亮;  
 * 设置等待第一次拨号的计时器
 */
int h323_on_hook_state_local_off_hook_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_local_off_hook_event\n");
    return null_event;
}

/**
 * LCD显示呼叫方信息,指示灯亮;
 * 处理允许无条件转移的情况;
 * 允许接收,发送WP_SEND_AVA消息并播放铃声;
 * 若允许auto_answer,处理,产生to_wait_for_connect_state事件;
 * 否则,设置无应答转移计时器
 */
int h323_on_hook_state_receive_query_availability_event(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_on_hook_state_receive_query_availability_event\n");
    return null_event;
}

int h323_on_hook_state_to_ringing_state(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_to_ringing_state\n");
    return null_event;
}

/**
 * 若在菜单里选中某条电话号码,拨出该号码
 */
int h323_on_hook_state_callout_key_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_callout_key_event\n");
    return null_event;
}

/**
 * 速拨功能
 */
int h323_on_hook_state_long_digit_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_long_digit_event\n");
    return null_event;
}

/**
 *  终结,回到初始状态 
 */
int h323_on_hook_state_local_on_hook_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_local_on_hook_event\n");
    return null_event;
}

/**
 * 终结terminate所指通道的通话
 * AppTerminateAction()
 */
int h323_on_hook_state_receive_terminate_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_receive_terminate_event\n");
    return null_event;
}

/**
 * 超时处理:LCD清屏、计时器复位
 */
int h323_on_hook_state_timeout_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_timeout_event\n");
    return null_event;
}

int h323_on_hook_state_to_wait_for_connect_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_on_hook_state_to_wait_for_connect_state\n");
    return null_event;
}

int h323_on_hook_state_to_query_availability_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_on_hook_state_to_query_availability_state\n");
    return null_event;
}

int h323_on_hook_state_to_dead_end_state(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_on_hook_state_to_dead_end_state\n");
    return null_event;
}

/**
 * 返回忙或进行呼叫转移
 */
int h323_wait_first_digit_state_receive_query_availability_event(s_event*
    psEvent, s_task* psTask)
{
    printf(
        "action: h323_wait_first_digit_state_receive_query_availability_event\n");
    return null_event;
}

/**
 * 终结terminate所指通道的通话
 */
int h323_wait_first_digit_state_receive_terminate_event(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_wait_first_digit_state_receive_terminate_event\n");
    return null_event;
}

/**
 * 若为呼叫转移,产生to_collect_transfer_digits_state事件;
 * 否则产生to_collect_digits_state
 */
int h323_wait_first_digit_state_digit_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_wait_first_digit_state_digit_event\n");
    return null_event;
}

/**
 * 拨出当前屏显的号码,记录拨出电话;
 * 产生to_query_availability_state事件;
 * 若出错产生to_dead_end_state;
 * 若为第二路通话则产生to_bidir_voice_state
 */
int h323_wait_first_digit_state_timeout_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_wait_first_digit_state_timeout_event\n");
    return null_event;
}

/**
 * 拨出当前屏显的号码,记录拨出电话;
 * 产生to_query_availability_state事件;
 * 若出错产生to_dead_end_state;
 * 若为第二路通话则产生to_bidir_voice_state
 */
int h323_wait_first_digit_state_callout_key_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_wait_first_digit_state_callout_key_event\n");
    return null_event;
}

/**
 * 若是Cll Transfer,返回通话状态
 */
int h323_wait_first_digit_state_cancel_key_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_wait_first_digit_state_cancel_key_event\n");
    return null_event;
}

/**
 * 快速拨号功能,拨出速拨键1-10中对应的号码;
 * 产生to_query_availability_state事件;
 * 若出错产生to_dead_end_state;
 * 若为第二路通话则产生to_bidir_voice_state
 */
int h323_wait_first_digit_state_speed_dial_key_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_wait_first_digit_state_speed_dial_key_event\n");
    return null_event;
}

/**
 * 终结,回到初始状态
 */
int h323_wait_first_digit_state_local_on_hook_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_wait_first_digit_state_local_on_hook_event\n");
    return null_event;
}

int h323_wait_first_digit_state_to_dead_end_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_wait_first_digit_state_to_dead_end_state\n");
    return null_event;
}

int h323_wait_first_digit_state_to_collect_digits_state(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_wait_first_digit_state_to_collect_digits_state\n");
    return null_event;
}

int h323_wait_first_digit_state_to_collect_transfer_digits_state(s_event*
    psEvent, s_task* psTask)
{
    printf(
        "action: h323_wait_first_digit_state_to_collect_transfer_digits_state\n");
    return null_event;
}

int h323_wait_first_digit_state_to_bidir_voice_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_wait_first_digit_state_to_bidir_voice_state\n");
    return null_event;
}

int h323_wait_first_digit_state_to_query_availability_state(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_wait_first_digit_state_to_query_availability_state\n");
    return null_event;
}

/**
 * 收集、记录号码
 */
int h323_collect_digits_state_digit_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_collect_digits_state_digit_event\n");
    return null_event;
}

/**
 * 返回忙或进行呼叫转移
 */
int h323_collect_digits_state_receive_query_availability_event(s_event* psEvent,
    s_task* psTask)
{
    printf(
        "action: h323_collect_digits_state_receive_query_availability_event\n");
    return null_event;
}

/**
 * 终结terminate所指通道的通话
 */
int h323_collect_digits_state_receive_terminate_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_collect_digits_state_receive_terminate_event\n");
    return null_event;
}

/**
 * 已输入的号码向前清除一位
 */
int h323_collect_digits_state_cancel_key_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_collect_digits_state_cancel_key_event\n");
    return null_event;
}

/**
 * 提供速拨功能:
 * 若已输入的号码在电话本的号码编号范围以内,
 * 则拨出对应编号的电话号码
 */
int h323_collect_digits_state_long_digit_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_collect_digits_state_long_digit_event\n");
    return null_event;
}

/**
 * 发送当前的号码(WP_SEND_QUERY_AVA),记录拨出电话;产生to_query_availability_state事件;
 * 若出错产生to_dead_end_state事件
 */
int h323_collect_digits_state_timeout_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_collect_digits_state_timeout_event\n");
    return null_event;
}

/**
 * 发送当前的号码(WP_SEND_QUERY_AVA),记录拨出电话;
 * 若出错产生to_dead_end_state事件
 */
int h323_collect_digits_state_callout_key_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_collect_digits_state_callout_key_event\n");
    return null_event;
}

int h323_collect_digits_state_to_query_availability_state(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_collect_digits_state_to_query_availability_state\n");
    return null_event;
}

/**
 * 终结,回到初始状态
 */
int h323_collect_digits_state_local_on_hook_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_collect_digits_state_local_on_hook_event\n");
    return null_event;
}

int h323_collect_digits_state_to_dead_end_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_collect_digits_state_to_dead_end_state\n");
    return null_event;
}

int h323_collect_digits_state_to_bidir_voice_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_collect_digits_state_to_bidir_voice_state\n");
    return null_event;
}

int h323_collect_digits_state_to_wait_first_digit_state(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_collect_digits_state_to_wait_first_digit_state\n");
    return null_event;
}

/**
 * 清空所有输入的内容,
 * 回到wait_first_digit_state状态
 */
int h323_collect_digits_state_long_cancel_key_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_collect_digits_state_long_cancel_key_event\n");
    return null_event;
}

int h323_query_availability_state_to_bidir_voice_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_query_availability_state_to_bidir_voice_state\n");
    return null_event;
}

/**
 * 停止播放等待铃声;
 * 发送WP_SEND_CONN_ACK,接通voice开始通话;
 * 若出错则产生to_dead_end_state事件
 */
int h323_query_availability_state_receive_connect_event(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_query_availability_state_receive_connect_event\n");
    return null_event;
}

int h323_query_availability_state_to_dead_end_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_query_availability_state_to_dead_end_state\n");
    return null_event;
}

/**
 * 返回忙或进行呼叫转移
 */
int h323_query_availability_state_receive_query_availability_event(s_event*
    psEvent, s_task* psTask)
{
    printf(
        "action: h323_query_availability_state_receive_query_availability_event\n");
    return null_event;
}

/**
 * 终结terminate所指通道的通话
 */
int h323_query_availability_state_receive_terminate_event(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_query_availability_state_receive_terminate_event\n");
    return null_event;
}

/**
 * 播放忙音,产生to_dead_end_state
 */
int h323_query_availability_state_receive_not_available_event(s_event* psEvent,
    s_task* psTask)
{
    printf(
        "action: h323_query_availability_state_receive_not_available_event\n");
    return null_event;
}

/**
 * 收到CFU、CFB重定向消息;
 * 向“B”发送CallRerouting.ReturnResult、terminate消息;
 * 向"C"发送divertingLegInfo2消息;
 * 出错则产生to_dead_end_state事件
 */
int h323_query_availability_state_call_forward_rcvd(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_query_availability_state_call_forward_rcvd\n");
    return null_event;
}

/**
 * 对方无应答,终结呼叫;
 * 产生to_dead_end_state事件
 */
int h323_query_availability_state_timeout_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_query_availability_state_timeout_event\n");
    return null_event;
}

/**
 * 终结,回到初始状态
 */
int h323_query_availability_state_local_on_hook_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_query_availability_state_local_on_hook_event\n");
    return null_event;
}

int h323_query_availability_state_to_on_hook_state(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_query_availability_state_to_on_hook_state\n");
    return null_event;
}

/**
 * 播放回铃音;
 * 设置计时器(30秒)
 */
int h323_query_availability_state_receive_available_event(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_query_availability_state_receive_available_event\n");
    return null_event;
}

/**
 * 返回忙或进行呼叫转移
 */
int h323_dead_end_state_receive_query_availability_event(s_event* psEvent,
    s_task* psTask)
{
    printf("action: h323_dead_end_state_receive_query_availability_event\n");
    return null_event;
}

/**
 * 终结terminate所指通道的通话
 */
int h323_dead_end_state_receive_terminate_event(s_event* psEvent, s_task*
    psTask)
{
    printf("action: h323_dead_end_state_receive_terminate_event\n");
    return null_event;
}

/**
 * 播放催挂音
 */
int h323_dead_end_state_timeout_event(s_event* psEvent, s_task* psTask)
{
    printf("action: h323_dead_end_state_timeout_event\n");

⌨️ 快捷键说明

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