📄 configuration.h
字号:
#ifndef __CONFIGURATION_H__
#define __CONFIGURATION_H__
#ifdef __cplusplus
extern "C" {
#endif
#define MASK_FORWARD_ALL 1
#define MASK_FORWARD_BUSY 2
#define MASK_FORWARD_NOANSWER 4
/* IP 地址或 E.164号码最大长度 */
#ifndef MAX_PHONE_NUMBER_LEN
#define MAX_PHONE_NUMBER_LEN 32
#endif
#define MAX_SPEED_DIAL_KEY 10
#define MODE_FTP 0
#define MODE_TFTP 1
/*话机ip分配方式*/
#define STATICIP 0
#define DHCPIP 1
#define PPPOEIP 2
#ifndef AUDIO_CODEC_NUM
#define AUDIO_CODEC_NUM 4
#endif
/* 话机的基本配置 */
struct s_cfgbasic
{
char linename[15]; /*在线名称*/
char password[7]; /* 话机密码 */
char linenumber[MAX_PHONE_NUMBER_LEN+1]; /* 本机号码 */
char linenumber2[MAX_PHONE_NUMBER_LEN+1]; /* 在线号码2 */
char linenumber3[MAX_PHONE_NUMBER_LEN+1]; /* 在线号码3*/
unsigned char ringtype; /* 振铃类型 */
unsigned char ringvolume; /* 振铃音量 */
unsigned char handsetvolume;/*听筒音量*/
unsigned char speakerphonevolume;/*免提喇叭音量*/
long time; /* 话机时间 */
unsigned char ifdebug; /* 是否重定向输出 */
unsigned short dstport; /* 接收输出信息的UDP端口 */
unsigned int dstaddr; /*接收输出信息的UDP地址 */
};
/* 网络配置 */
struct s_cfgnetwork
{
/**unsigned char ifpppoe;**/
/* 是否使用pppoe */
unsigned char ipType;
#ifdef INCLUDE_PPPOE_APP
char pppoeid[20]; /* pppoe帐号 */
char pppoepin[20]; /* pppoe密码 */
unsigned char ifautodialatstartup; /* 话机启动时是否自动pppoe拨号 */
unsigned char retryCount;
#endif
/**unsigned char ifdhcp; **/
/* 是否使用dhcp */
unsigned int ipaddr; /* 话机IP */
unsigned int subnetmask; /* 子网掩码 */
unsigned int gateway; /* 网关 */
unsigned char ifproxy; /* 是否使用代理服务器 */
unsigned int proxyip; /* 代理服务器IP */
unsigned short proxyport; /* 代理服务器端口 */
unsigned char netspeed; /* 网口设置,0 - auto 1 - 10M 2 - 100M */
#ifdef INCLUDE_NAT_APP
unsigned char ifnat; /* 是否启用NAT */
unsigned int natlocalip; /* NAT本地IP地址 */
unsigned int natlocalmask; /* NAT本地子网掩码 */
#endif
};
/* sntp设置 */
struct s_cfgsntp
{
unsigned char ifsntp; /* 是否使用sntp */
unsigned int serverip; /* sntp服务器IP */
int timezone; /* 时区 */
};
/* 升级ftp设置 */
struct s_cfgftp
{
unsigned char mode; /* ftp/tftp*/
unsigned int server; /* 服务器IP*/
char usrid[20]; /* 用户名 */
char pin[10]; /* 密码 */
char filename[20]; /* 升级文件名*/
};
/* 呼叫转移设置 */
struct s_cfgforward
{
unsigned char mode; /* 呼叫转移的类型 1-all 2-busy 4-noanswer*/
char numberAll[MAX_PHONE_NUMBER_LEN+1];
char numberBusy[MAX_PHONE_NUMBER_LEN+1];
char numberNoAnswer[MAX_PHONE_NUMBER_LEN+1];
int interval;
};
typedef struct CodecElem
{
int isUsed;
char codecName[32];
int codecType;
} CodecElem;
/* 语音设置 */
struct s_cfgaudio
{
CodecElem codecPrefOrder[AUDIO_CODEC_NUM];
};
typedef enum dtmftype
{
DTMF_H245STRING,
DTMF_RFC2833EVENT,
DTMF_Q931
} DtmfType;
/* 服务设置 */
struct s_cfgservice
{
unsigned char ifservice; /* 是否使用登录服务器 对于H323是否使用GateKeeper 对于SIP是否使用Proxy Server */
unsigned int serverip; /* 登录服务器的IP */
unsigned short serviceport; /* 服务监听端口 */
unsigned short registerport; /* 注册端口 */
char serviceid[20]; /* 向服务器验证使用的ID */
unsigned short rtpport; /* RTP端口 */
unsigned char ifbilling; /* 2004.03.04, 是否使用计费服务器 */
unsigned short localbillingport; /* 2004.03.04, 发送通话时间的本地UDP端口 */
unsigned short billingserverport; /* 2004.03.04, 计费服务器UDP监听端口 */
unsigned int billingserverip; /* 2004.03.04, 计费服务器的IP */
DtmfType dtmftype; /* 发送DTMF号码的方式 */
};
/* H323设置 */
#ifdef HC
struct s_cfgh323
{
unsigned short q931port; /* Q931端口 */
unsigned short h245port; /* H245端口 */
unsigned char ifencryption; /* 是否使用加密 */
char encryptionusr[20]; /* 加密的用户名 */
char encryptionpin[10]; /* 加密的密码 */
unsigned char registermode; /* 向网守注册的方式 */
char registerid[20]; /* 注册ID */
char registerpin[10]; /* 注册密码 */
char e164id[MAX_PHONE_NUMBER_LEN+1];/* E.164号码 */
unsigned int audiogateway; /* 语音网关 */
unsigned char iffirewall; /* 是否使用防火墙 */
unsigned char isFastStart; /*是否使用fastStart*/
unsigned char isH245Tunneling; /* 是否使用H245Tunneling */
};
#endif
/* SIP 设置*/
#ifdef SIP
struct s_cfgsip
{
char registername[64];
unsigned short registerport;
char registerpass[20];
char phonenum[20];
};
#endif
/* MGCP 设置 */
#ifdef MGCP
struct s_cfgmgcp
{
char callagentaddr[64];
char endpointid[33];
char domainname[33];
int callagentport;
int localport;
int reqtimeout;
int delmsgtimeout;
int epidsetmode;/*1--默认(aaln/0@[192.168.123.113]),2--域名(aaln/0@broadeasy.com),4--任意aaln/0@xxx*/
};
#endif
/* 话机配置 */
struct s_config
{
struct s_cfgbasic conf_basic;
struct s_cfgaudio conf_audio;
struct s_cfgforward conf_forward;
struct s_cfgnetwork conf_network;
struct s_cfgftp conf_ftp;
struct s_cfgsntp conf_sntp;
struct s_cfgservice conf_service;
#ifdef HC
struct s_cfgh323 conf_h323;
#endif
#ifdef SIP
struct s_cfgsip conf_sip;
#endif
#ifdef MGCP
struct s_cfgmgcp conf_mgcp;
#endif
unsigned char conf_speedDial[MAX_SPEED_DIAL_KEY]; /* 速拨号码,此处保存
对应phonebook记录的数组下标 */
unsigned char bootFileHead[4];
unsigned char appFileHead[4];
#ifdef HC
unsigned char ifEchoInput; /* 输入是否回显 */
#endif
char noInUse; /* 速拨号码的第一个字段保存在
phoneconfig的最后一个字节,而在
初始化时这个字节被用来作为
字符串结束标志0。*/
};
extern struct s_config phoneconfig;
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -