#ifndef _SIP_DEF__H
#define _SIP_DEF__H

#include "sip_pub.h"
#include "sip.h"
#include "sip_const.h"
#include "sip_struct.h"

int		sipUdpSocketFd;
int		sipTcpServerSocketFd;

char		sipHostName[50];
char		sipDottedHostIp[20];
DWORD	sipHostIp;

BYTE 	sipUdpMsgSdBuf[SIP_MAX_UDP_MSG_LEN];
BYTE 	sipUdpMsgRvBuf[SIP_MAX_UDP_MSG_LEN];
BYTE	sipTcpMsgRvBuf[SIP_MAX_TCP_MSG_LEN];

BYTE	sipEncBuf[SIP_MAX_UDP_MSG_LEN];
char		sipEscapeBuf[SIP_MAX_ESCAPE_BUF_LEN];

SIP_TCP_SOCK		sipTcpSock[SIP_MAX_NUM_OF_TCP_SOCK];

SIP_API_STRUCT		sipRecvMsg;
SIP_API_STRUCT		sipSendMsg;

SIP_API_STRUCT		sipToUpMsg;

struct sockaddr_in		sipSrcInAddr;
struct sockaddr_in		sipDstInAddr;

int 				sipHdrRefTable[SIP_HASH_TABLE_SIZE];      // the hash table contains indices to the sipParseConfig table
SIP_HDR_CONFIG 		sipParseConfig[SIP_MAX_NUM_OF_HEADERS];

SIP_USERS_STRUCT	sipUsers;
SIP_TRANSACTION	sipTrans[SIP_MAX_NUM_OF_TRANS];

//SIP_SIP_UA_USER     sipSipUaUser[SIP_MAX_NUM_OF_SIP_UA_USER];

WORD				sipTransHead;
WORD				sipDlgSelect;

BYTE				sipAsciInBuf[SIP_MAX_ASCIIIN_LEN];
BYTE				sipAsciOutBuf[SIP_MAX_ASCIIOUT_LEN];
BYTE				sipAsciTempBuf[SIP_MAX_ASCITMP_LEN];
WORD				sipMonitorFg;

#endif
