`+----------------------------------------------------------------
`------+
`| Copyright (c) 1996,1997,1998 Vail Systems, Inc. All Rights
`Reserved |
`+----------------------------------------------------------------
`------+
`$Id: mcall.h,v 1.75 1999/12/31 16:30:13 alex Exp $
`+----------------------------------------------------------------
`------+
`*/
`****************************************************************
`*************
` This module holds Webley defines.
` HISTORICAL INFORMATION:
` 10-04-96 alex:Vail Created
`*****************************************************************
`*************/
`#ifndef _mcMboxOptions_h
`#include "mcMboxOptions.h"
`#endif
`#define BYTES_PER_SEC
`
`/*
`
`3000 /* Digitization rate of the */
`/* Dialogic card */
`5
`/* How many seconds to move
`/* or backwards while playing a file
`/* upon user-indication to do so. */
`#define MENU_CHOICE_RETRIES3
`/* Number of times a user can
`enter */
`/* invalid menu selections before */
`/* being "bounced" out of that menu.
`
`#define SECONDS_TO_MOVE
`forward */
`*/
`
`*/
`#define SECCODE_LEN
`code */
`#define MSG_NO_EXIST
`*/
`
`4
`
`/* How many digits to a security
`
`/* Arbitrarily-unique value to
`142
`/* indicate that a message does not */
`/* exist. */
`
`1
`
`Parus Exhibit 2041
`Google, et al. v. Parus Holdings, Inc.
`IPR2020-00846
`Page 1 of 28
`
`
`
`'5'
`
`143
`
`#define MSG_EXISTS
`*/
`10
`#define PHONE_NUM_SIZE
`7
`#define LOCAL_PHONE_NUM_SIZE
`#define MAX_GUESS_NUM
`5
`#define MIN_FILE_BYTES 3
`/* Unique #defines */
`'*'
`#define FORGET_IT
`FORGET_IT
`#define CANCEL
`'#'
`#define REDIAL
`'9'
`#define FFWD
`'8'
`#define REWD
`#define OPERATOR '0'
`'#'
`#define HELP
`'6'
`#define CHANGE_NAME
`#define CHANGE_PGREET '1'
`#define CHANGE_SECCODE
`#define CHANGE_AVAIL '2'
`#define CHANGE_PHONE '4'
`#define CHANGE_NOTIFT '3'
`#define LEAVE_MESSAGE '2'
`#define HEAR_MESSAGES '1'
`#define REPLY
`'8'
`#define ORIGINATOR
`'1'
`#define ADM_FUNCTIONS '4'
`#define DIALTONE_OUT '3'
`/* Synonyms */
`#define PLAY
`'1'
`#define REPLAY
`PLAY
`#define RECORD
`'2'
`#define RE_RECORD
`RECORD
`#define SAVE
`'5'
`#define SEND
`SAVE
`#define SKIP
`NEXT
`#define NEXT
`'9'
`#define ERASE
`'4'
`#define DELETE
`ERASE
`#define REMOVE
`ERASE
`#define DELETEALL
`'#'
`#define BROADCAST
`'0'
`#define FORWARD
`'7'
`#define RETURN_CALL
`'6'
`#define CALLER_ID
`'3'
`#define CREATE_CONTACT
`#define PREVIOUS 'P'
`
`/* Arbitrarily-unique value to
`
`'8'
`
`2
`
`Parus Exhibit 2041, Page 2 of 28
`
`
`
`'L'
`'F'
`'4'
`
`#define LAST
`#define FIRST
`#define OWN_DELETE
`#define OWN_SAVE '5'
`#define OWN_PLAY '6'
`/* Front menu dtmf options for personal version */
`#define MFM_CONFERENCE '#'
`#define MFM_ACCESS '*'
`
`#define TRANS_MAX_ID 24
`#define TRANS_MAX_MSG 64
`#define MAX_BLAST_NUM 4
`#define VOTSOUT_CODE "9999990000"
`#define VOTSOUT_GROUP_CODE "9999991000"
`#define VOTS_DTONE_OUT_CODE "9999990001"
`#define MCALL_OUT_CODE "9999999000" /* mcall module
`outbound */
`#define MCALL_NEW_OUT_CODE "9999999001" /* mcall module
`outbound */
`#define MCALL_OUT_GROUP_CODE "9999999100" /* mcall module
`group outbound */
`#define MCALL_NEW_OUT_GROUP_CODE "9999999101" /* mcall module
`group outbound */
`#define WEBLEY_OUT_CODE
`"9999999200" /* webley module
`outbound */
`#define WEBLEY_NEW_OUT_CODE "9999999201" /* webley module
`outbound */
`#define WEBLEY_OUT_GROUP_CODE "9999999300" /* webley module
`group outbound*/
`#define WEBLEY_NEW_OUT_GROUP_CODE "9999999301" /* webley module
`group outbound*/
`#define PBELL_OUT_CODE "9999999220" /* pbell module
`outbound */
`#define PBELL_OUT_GROUP_CODE "9999999320" /* pbell module
`group outbound*/
`#define MCALL_NOTIFICATION "9999999400" /* mcall
`notification */
`#define WEBLEY_NOTIFICATION "9999999500" /* webley
`notification */
`#define MBOX_NUM_SIZE 3
`#define MAX_STRING_SIZE 128
`#define MAX_TEXT_SIZE 256
`#define MAX_NAME_SIZE 64
`#define MAX_BUF_SIZE 32
`
`3
`
`Parus Exhibit 2041, Page 3 of 28
`
`
`
`#define MAX_TOKEN_SIZE 32
`#define MAX_NXX_AGENT 25
`#define LOCAL_AREA_CODE
`"312"
`#define LOCAL_NNX_CODE
`"360"
`#define LOCAL_PREFIX "9"
`
`300
`
`99
`#define USER_NAME_LEN
`300
`#define MAX_MSG_NUM
`50
`#define MAX_CALL_NUM
`#define MAX_EXCEPTION_NUM
`#define MAX_DEST_NUM
`2000
`#define MAX_LIST_NUM
`500
`/* Storage Capacity */
`#define MAX_MSG_STORED 200
`#define MAX_FAX_PAGE_STORED 75
`/* Permissions per extension */
`#define
`PERMS_MASK
`0x7fff
`#define
`OPER_MSG_PICKUP
`0x0001
`#define TRK_ANALOGUE 1
`#define TRK_DIGITAL
`0
`#define MX_SECURITY_LOCK 5
`#define MX_LOCK_TIME 1800 /* after 30 min ignore the phone
`session lock */
`/* Mailbox update masks */
`#define MX_AVAIL 0x01
`#define MX_XFER 0x02
`#define MX_SCODE 0x04
`#define MX_ACCESS 0x08
`#define MX_GREET 0x10
`#define MX_NOTIF 0x20
`#define MX_LOCK 0x40
`#define MX_FOLLOW 0x80
`#define MX_UPDATE_DEST 0x100
`#define MX_CREATE_DEST 0x200
`#define MX_SCREEN 0x400
`#define MX_XGROUP 0x800
`/* Number playback type */
`#define PLAY_TYPE_MASK 0x0fff
`#define PLAY_CARDINAL 0x1000
`#define PLAY_ORDINAL 0x2000
`#define PLAY_LEADING_ZEROS 0x4000
`/* VR modes */
`/* Default is with barge-thru; no fax termination */
`
`4
`
`Parus Exhibit 2041, Page 4 of 28
`
`
`
`#define VR_NO_BARGE_THRU 0x01
`#define VR_FAX_TERM 0x02
`#define VR_NOFLUSH 0x04
`enum mc_vrtype {
`/* Pure Speech ASR can't be 0 */
`VR_PSP = 1,
`VR_VCS, /* VCS ASR */
`VR_NUANCE
`/* Nuance ASR */
`
`};
`enum mc_state {
`ST_MAIN_MENU,
`ST_GET_MBOX_NAME,
`ST_VMAIL_MENU,
`ST_OPTIONS_MENU,
`ST_AVAIL_MENU,
`ST_NOTIF_MENU,
`ST_PHONE_MENU,
`ST_SCODE,
`ST_SCODE_REPEAT,
`ST_MBOX,
`ST_MBOX_PARTY,
`ST_MBOX_FORWARD,
`ST_MESSAGE_MENU,
`ST_RECORD_MENU,
`ST_PREFIX,
`ST_GREET,
`ST_NAME
`
`};
`enum mc_conf {
` MX_CONF_ADD_PARTY = 100,
` MX_CONF_JOIN,
` MX_CONF_DROP_PARTY,
` MX_CONF_DROP_CONF,
` MX_CONF_LEAVE,
`MX_CONF_DIGITS,
`MX_CONF_CHANGE_SCODE /* secure conferences */
`};
`enum mc_phrase {
`MC_OPERATOR = 0,
`MC_MESSAGE,
`MC_MAILBOX,
`MC_EXTENSION,
`MC_OPTIONS,
`MC_TIMEOUT,
`MC_ITIMEOUT,
`MC_SALES,
`MC_SUPPORT,
`MC_NORESULT,
`MC_CONFERENCE,
`MC_NAME
`
`5
`
`Parus Exhibit 2041, Page 5 of 28
`
`
`
`};
`enum mc_perms {
`MP_ALL = 0,
`MP_OUT_CHANGE = 0x001,
`MP_NO_CHANGE = 0x002,
`MP_LOCK = 0x004,
`MP_NO_ADD = 0x010,
`MP_30_DAY = 0x100
`
`};
`enum mc_lock {
`NO_MBOX_LOCK = 0,
`MBOX_LOCK = 1
`
`};
`enum mc_notif_type {
`MC_NONE_NOTIF = 0,
`MC_PAGE_NOTIF = 1,
`MC_EMAIL_NOTIF = 2,
`MC_EMAIL_PLUS_NOTIF = 3,
`MC_VOICE_NOTIF = 4,
`MC_EMAIL_PLUS_PAGE_NOTIF = 5
`
`};
`enum mc_disable_rule_type {
`MR_DISABLE_NONE = 0,
`MR_DISABLE_ALL_RULES = 1,
`MR_DISABLE_XFER_RULES = 2,
`MR_DISABLE_FAX_RULES = 3,
`MR_DISABLE_EMAIL_RULES = 4
`
`};
`enum mc_call_screen_type {
`SCREEN_NONE = 0,
`SCREEN_MATCH = 1,
`SCREEN_ASK = 2
`
`};
`enum mc_avail {
`NOT_AVAIL = 0,
`AVAIL_GROUP = 0x01, /* group dialing */
`AVAIL_HOME = 0x02,
`AVAIL_OFFICE = 0x04,
`AVAIL_MOBILE = 0x08,
`AVAIL_FOLLOW = 0x10,
`AVAIL_CELL = 0x20,
`AVAIL_OPERATOR = 0x40,
`AVAIL_AGENT = 0x80,
`AVAIL_SCHEDULE = 0x100
`
`};
`
`6
`
`Parus Exhibit 2041, Page 6 of 28
`
`
`
`-1
`
`MC_ANY_CLASS
`#define
`enum mc_dest_class {
`MC_PHONE_CLASS = 0x10,
`MC_PAGER_CLASS = 0x20,
`MC_ALPHA_PAGER_CLASS = 0x21,
`MC_NEXTEL_PAGER_CLASS = 0x22,
`MC_SKYTEL_PAGER_CLASS = 0x23,
`MC_SKYTEL2_PAGER_CLASS = 0x24,
`MC_FAX_CLASS = 0x40,
`MC_EMAIL_CLASS = 0x80,
`MC_STATION_CLASS = 0x100,
`MC_AGENT_CLASS = 0x200,
`MC_MAILBOX_CLASS = 0x400,
`MC_CALLING_CARD_CLASS = 0x800
`
`};
`enum mc_dest_group {
`MC_PERSONAL_GROUP = 0x1,
`MC_CONTACT_GROUP = 0x2
`
`};
`enum mc_dest_type {
`MC_HOME_TYPE = 0x01,
`MC_OFFICE_TYPE = 0x02,
`MC_MOBILE_TYPE = 0x04,
`MC_FOLLOW_TYPE = 0x08,
`MC_CELL_TYPE = 0x10,
`MC_OPERATOR_TYPE = 0x20,
`MC_WEBLEY_TYPE = 0x80,
`MC_CARD_TYPE_LD = 0x100,
`MC_CARD_TYPE_TOLL = 0x101
`
`};
`/* Saved message is formed by adding this base to the msgType
`field */
`#define MC_SAVED_MSG_BASE 100
`#define MC_EXPORTED_MSG_BASE 1000
`enum mc_msg_type {
`MC_DLG_VOICE_MSG = 0x1,
`MC_DLG_VOICE_MSG6 = MC_DLG_VOICE_MSG,
`MC_TEXT_MSG = 0x2,
`MC_FAX_MSG = 0x4,
`MC_DLG_VOICE_MSG8 = 0x8,
`MC_EMAIL_MSG = 0x10
`
`};
`enum mc_trans_type {
`MT_INBOUND_CALL = 0x01,
`MT_OUTBOUND_CALL = 0x02,
`MT_VOICEMAIL = 0x04,
`
`7
`
`Parus Exhibit 2041, Page 7 of 28
`
`
`
`MT_CONFERENCE = 0x08,
`MT_CONFERENCE_OUT = 0x09,
`MT_INBOUND_FAX = 0x10,
`MT_OUTBOUND_FAX = 0x20,
`MT_PAGE = 0x40
`};
`enum mc_file_type {
` FT_GRAMMAR = 1,
` FT_VOICE,
` FT_FAX,
` FT_EMAIL,
` FT_TXT,
` FT_TMP
`};
`/* DTMF commands */
`/* Hidden custom commands */
`77
`#define MD_HIDDEN_CMD
`#define MD_LOAD_SUBSCRIBER_PROFILE 10
`#define MD_VMAIL_ON_OFF
`20
`10
`#define MD_LISTEN_MSG
`#define MD_ENTER_ARCHIVE
`#define MD_RESTORE_MSG 13
`#define MD_RESTORE_FAXES
`#define MD_NEXT_MSG
`#define MD_REPEAT_MSG
`2
`#define MD_DELETE_MSG
`3
`#define MD_SAVE_MSG
`#define MD_FORWARD_MSG
`5
`#define MD_PLAY_CID
`#define MD_ADD_CONTACT
`7
`#define MD_RETURN_CALL
`8
`#define MD_FORWARD_TO_CONTACT 9
`#define MD_BROADCAST_VOICE_MSG 0
`#define MD_REDIAL
`16
`#define MD_PREVIOUS
`17
`#define MD_FIRST
`18
`#define MD_LAST
`19
`#define MD_LEAVE_MSG
`70
`#define MD_BROADCAST_MSG
`#define MD_CURRENT_TIME 79
`#define MD_DELIVER_MSG 1
`#define MD_REPLAY_MSG
`MD_REPEAT_MSG
`#define MD_RERECORD_MSG 3
`#define MD_MAKE_CALL
`20
`#define MD_CALL_OFFICE 21
`#define MD_CALL_HOME
`22
`#define MD_CALL_CONTACT 23
`
`11
`14
`1
`
`4
`6
`
`71
`
`8
`
`Parus Exhibit 2041, Page 8 of 28
`
`
`
`24
`#define MD_CALL_SUBSCRIBER
`#define MD_DIAL_NUMBER 25
`26
`#define MD_CONFERENCE_CALL
`#define MD_SECURE_CONFERENCE_CALL 10076 /* [[ for future;
`secure conferences */
`#define MD_JOIN_CONFERENCE
`27
`#define MD_FIND_SUBSCRIBER
`28
`#define MD_TRANSFER_CALLS
`30
`#define MD_TRANSFER_OFFICE
`31
`#define MD_TRANSFER_HOME
`32
`#define MD_TRANSFER_MOBILE
`33
`#define MD_TRANSFER_VMAIL
`34
`#define MD_TRANSFER_CURRENT 35
`#define MD_TRANSFER_CURRENT_OTHER 2
`#define MD_TRANSFER_CELL
`36
`#define MD_TRANSFER_OPERATOR 37
`#define MD_TRANSFER_GROUP
`38
`#define MD_TRANSFER_CONTACT 39
`#define MD_TRANSFER_MAX MD_TRANSFER_CONTACT
`#define MD_PERSONAL_OPT 40
`#define MD_CHANGE_SCODE 41
`#define MD_CHANGE_NAME 42
`#define MD_CHANGE_GREET 43
`44
`#define MD_CHANGE_SCREEN
`#define MD_CHANGE_SCREEN_ASK 1
`#define MD_CHANGE_SCREEN_MATCH 2
`#define MD_CHANGE_SCREEN_STOP 3
`#define MD_CHANGE_CWAIT 45
`#define MD_CHANGE_FAX
`46
`#define MD_CHANGE_CALLING_CARD 47
`#define MD_CHANGE_VOICE
`48
`50
`#define MD_CHANGE_PNUMBERS
`#define MD_PNUMBERS_CURRENT 51
`#define MD_PNUMBERS_OFFICE
`52
`#define MD_PNUMBERS_HOME
`53
`#define MD_PNUMBERS_MOBILE
`54
`#define MD_PNUMBERS_PAGER
`55
`#define MD_PNUMBERS_CELL
`56
`#define MD_PNUMBERS_FAX 57
`#define MD_PNUMBERS_OPERATOR 58
`#define MD_PNUMBERS_MAX
`MD_PNUMBERS_OPERATOR
`#define MD_CHANGE_NOTIF 60
`#define MD_NOTIF_PAGER 61
`#define MD_NOTIF_EMAIL 62
`#define MD_NOTIF_EMAIL_PLUS 63
`#define MD_NOTIF_OFF
`64
`#define MD_NOTIF_VOICE 65
`#define MD_NOTIF_EMAIL_PLUS_PAGER 66
`
`9
`
`Parus Exhibit 2041, Page 9 of 28
`
`
`
`#define MD_NOTIF_MAX
`
`MD_NOTIF_EMAIL_PLUS_PAGER
`
`#define MD_START_FOLLOW 68
`#define MD_STOP_FOLLOW 69
`#define MD_CHECK_EMAIL 80
`#define MD_REPLAY_EMAIL 0
`#define MD_NEXT_EMAIL 1
`#define MD_READ_EMAIL_BODY 2
`#define MD_READ_EMAIL_HDR 3
`#define MD_REPLY_TO_EMAIL 4
`#define MD_FORWARD_EMAIL 5
`#define MD_EMAIL_CONTACT 6
`#define MD_DELETE_EMAIL 7
`#define MD_GO_BACK 8
`#define MD_SKIP_FORWARD 9
`2
`#define MD_EMAIL_FORWARD_MY_FAX
`#define MD_EMAIL_FORWARD_SUBSCRIBER 4
`#define MD_EMAIL_FORWARD_MY_CONTACT 5
`#define MD_EMAIL_FAX_SEND
`6
`#define MD_EMAIL_FWD_SUBSCRIBER
`12
`#define MD_EMAIL_FWD_MY_FAX
`13
`#define MD_EMAIL_FWD_TO_FAX
`14
`#define MD_EMAIL_FWD_MY_CONTACT
`15
`#define MD_CHECK_FAX 81
`#define MD_FAX_NEXT 1
`#define MD_FAX_FORWARD_MY_FAX 2
`#define MD_FAX_DELETE
`3
`#define MD_FAX_FORWARD_SUBSCRIBER
`#define MD_FAX_FORWARD_MY_CONTACT
`#define MD_FAX_SEND
`#define MD_FAX_CALLER_ID
`7
`#define MD_FAX_FORWARD_MY_EMAIL
`#define MD_FAX_ADD_CONTACT
`#define MD_FAX_BROADCAST
`0
`#define MD_PAGE_SUBSCRIBER 82
`#define MD_PAGE_CONTACT 83
`#define MD_CHECK_TIME 84
`#define MD_SEND_MESSAGE 85
`#define MD_CHECK_FAX_STATUS 86
`#define MD_TRANSCRIBE_MESSAGE 87
`#define MD_READ_CONTACT 88
`#define
`MD_CONF_PARTY_ADD
`#define
`MD_CONF_JOIN
`#define
`MD_CONF_PARTY_DROP
`#define
`MD_CONF_DROP
`#define
`MD_CONF_LEAVE
`#define
`MD_CONF_CALL_SUBS
`
`4
`5
`6
`8
`9
`
`1
`2
`3
`4
`5
`6
`
`10
`
`Parus Exhibit 2041, Page 10 of 28
`
`
`
`2
`
`6
`1
`2
`3
`
`7
`MD_CONF_CALL_CONT
`#define
`8
`MD_CONF_DIAL
`#define
`9
`MD_CONF_DIGITS
`#define
`MD_CONF_CHANGE_SCODE 1099 /* [[ for future; secure
`#define
`conference */
`#define
`MD_OPT_MAKE_CONF 1
`#define
`MD_OPT_SEND_VMAIL
`#define
`MD_OPT_XFER_CALL 3
`#define
`MD_OPT_HOLD_CALL 4
`#define
`MD_OPT_BACK_CALL 5
`#define
`MD_OPT_OTHER_CALL
`#define
`MD_TAKE_CALL
`#define
`MD_SEND_VOICEMAIL
`#define
`MD_PLAY_CALLER_ID
`#define MD_WEB_PASSWORD 191
`#define MD_INITIAL_SETUP 192
`#define MD_DIAL_DIRECT 193
`#define MD_WEATHER
`#define MD_STOCKS
`195
`#define MD_ENABLE_RULES 92
`#define MD_DISABLE_RULES 93
`#define MD_CALL_CUSTOMER_CARE 94
`#define MD_WAIT_A_MOMENT 95
`#define MD_BARGE_THRU 96
`#define MD_NO_BARGE_THRU 97
`#define MD_HOLD
`98
`#define MD_GOODBYE 99
`#define MD_FRONT_FIND_THEM 1
`#define MD_FRONT_TAKE_MSG 2
`#define MD_FRONT_JOIN_CONF 3
`#define MD_FRONT_PAGE_THEM 4
`#define MD_FRONT_EMAIL_THEM 5
`#define MD_FRONT_FAX_THEM 6
`#define MD_FRONT_REPEAT 9
`
`194
`
`#define MD_OPTIONS 500
`#define MD_CANCEL 501
`#define MD_WEBLEY 502
`#define MD_COPPER 502
`#define MD_SWEAR
`503
`#define MD_HOW
`504
`#define MD_WHAT
`505
`#define MD_TIRED
`506
`#define MS_CALL_INIT
`0
`#define MS_CALL_REJECT
`#define MS_CALL_WAITING
`1
`
`MS_CALL_INIT
`
`11
`
`Parus Exhibit 2041, Page 11 of 28
`
`
`
`3
`
`2
`
`#define MS_CALL_ACCEPT
`#define MS_CALL_XFER
`0
`#define MS_NO_SESSION
`1
`#define MS_SESSION_ERROR
`2
`#define MS_SESSION_OVERFLOW
`#define MS_REQ_CONV_CONF
`"CONFNUM"
`#define MS_REQ_TRANSFER
`"TRANSFERNUM"
`#define MS_REQ_VMAIL
`"VMAILNUM"
`#define MS_REQ_HOLD
`"HOLDNUM"
`#define MAX_RATE_NUM
`16
`/* Call Waiting Status */
`#define CW_NO 0
`#define CW_BUSY 1
`#define CW_TALK 2
`
`1 /* billing package 10001 */
`2 /* billing package 10002 */
`
`#ifdef PBELL_PERSONAL
`#define PBELL_STANDARD_PA
`#define PBELL_ADVANCED_PA
`#endif
`/* Typedefs */
`/* rate structure */
`typedef struct rate_s {
`int trans_type;
`double rate;
`char *countryCode;
`} RATE_S;
`/* rating table */
`typedef struct rtable_s {
`int carrierCode;
`char *carrierName;
`int accessCode; /* 0 - LD, 1 - Local */
`RATE_S *rate[MAX_RATE_NUM];
`struct rtable_s *nxtRtable;
`} RTABLE_S;
`/* billing table */
`typedef struct btable_s {
`int billingPackage;
`RTABLE_S *rtable;
`} BTABLE_S;
`typedef struct account_s {
`char *dnis;
`
`12
`
`Parus Exhibit 2041, Page 12 of 28
`
`
`
`char *accountNo;
`char *path;
`char *tableName;
`char *data;
`char *corpAccount;
`char *mbox;
`CCOUNT_S;
`typedef struct state_s {
` int State; /* Current state */
`char *stateName; /* State name */
`char *msg[5];
`/* Array of messages */
`char *helpMsg; /* Help message for the state */
`int
`max_rcnt; /* max retry count */
`int
`rcnt;
`/* retry count */
` int TimeResp; /* response timeout */
` int (*InitAction)();/* State Init Action */
` int (*InAction)(); /* State in Action */
` int (*OutAction)(); /* State out Action */
` int (*ErrAction)(); /* State Error Action */
`int maxDigits; /* Max digits */
`char *termDigits; /* Termination digits */
` char *argBuf;
`/* Argument buffer */
`int
`arg[5];
`/* Array of arguments */
`int
`resCode;
`/* result code */
` char *resBuf;
`/* result buffer */
` char *lexName;
`/* lexicon name */
`int confidLevel; /* confidence level */
` struct state_s *nextState; /* pointer to next state */
` struct state_s *prevState; /* pointer to prev state */
`} STATE_S;
`typedef struct message_s {
`int createTstamp;
`int msgType;
`char *msgName;
`int srcType;
`char *source;
`char *hostName;
`char *Subject;
`char *ReceivedFrom;
`char *ReplyTo;
`char *ToHdr;
`char *Date;
`char *Cc;
`char *Organization;
`char *Attachment;
`char *MimeType;
`int length;
`int deleteFlag;
`} MESSAGE_S;
`
`}A
`
`13
`
`Parus Exhibit 2041, Page 13 of 28
`
`
`
`typedef struct mc_destination_s {
`int dClass;
`int dGroup;
`int dType;
`int dId;
`int lastTstamp;
`char *dData;
`char *dName;
`char *dMsg;
`int updateFlag;
`unsigned char dBlastType; // alexg 072799
`unsigned char dRings;
`struct mc_destination_s *nxt;
`} DESTINATION_S;
`typedef struct calldet_s {
` int yymmdd;
` char call_id[MAX_BUF_SIZE + 1];
` int trans_type;
` char dnis[MAX_BUF_SIZE + 1];
` int trunk_num;
` char cstatus;
` char ani[MAX_BUF_SIZE + 1];
` char mbox[MAX_BUF_SIZE + 1];
` char msg[MAX_STRING_SIZE + 1];
` char destination[MAX_STRING_SIZE + 1];
` int destClass;
` long call_start;
` long call_end;
` int call_length;
` int ocall_length;
` char account[MAX_BUF_SIZE + 1];
` char corpAccount[MAX_BUF_SIZE + 1];
` char ctrace[MAX_STRING_SIZE + 1];
`unsigned char logFlag;
`unsigned char vr_tries;
`unsigned char vr_good;
`unsigned char vr_ask;
`unsigned char vr_fail;
`unsigned char vr_rej;
`unsigned char chargeFlag;
`} CALLDET_S;
`typedef struct mc_list_s {
`int listID;
`char *listName;
`int lastTstamp;
`int listType;
`} LIST_S;
`typedef struct mc_broadcast_list_s {
`
`14
`
`Parus Exhibit 2041, Page 14 of 28
`
`
`
` LIST_S *list;
` DESTINATION_S *faxDest;
` DESTINATION_S *phoneDest;
` DESTINATION_S *emailDest;
` DESTINATION_S *pagerDest;
` DESTINATION_S *webleyDest;
`} BRLIST_S;
`typedef struct mc_exception_s {
` int xId;
` int xClass;
` char *mbox;
` char *corpAccount;
` char *action;
` char *xoption;
` char *rules;
` int timeStamp;
`} EXCEPTION_S;
`
`typedef struct mailbox_s {
`char *mbox;
`char *xgroup; /* blast phones o-office, m-mobile, h-home,
`f-current */
`char *areaCode;
`char *ipAddr; /* ISP email server name */
`char *ext;
`int notifType;
`int perms;
`int avail;
`int availTstamp;
`int lock;
`char *scode;
`char *emailScode;
` char *company;
`int accessTstamp;
`int tzoneDiff;
`int updateMask;
`int hhmmOpen;
`int hhmmClose;
`int greetingNo; /* current greeting number( two are
`allowed) */
`int followFlag; /* follow me on/off */
`int callScreenFlag; /* Call screening on/off */
`int destCnt;
`int emailAllowed;
`int faxAllowed;
`int interAllowed;
`int voicePerson;
`int rulesAllowed;
`int emailServerType;
` char *account;
`
`15
`
`Parus Exhibit 2041, Page 15 of 28
`
`
`
` char *ownerName;
` mcMboxOptions_s *mboxOptions;
`DESTINATION_S *dest[MAX_DEST_NUM + 1];
`int msgCnt;
`MESSAGE_S *msg[MAX_MSG_NUM + 1];
`int msgSavCnt;
`MESSAGE_S *msgSav[MAX_MSG_NUM + 1];
`int faxCnt;
`MESSAGE_S *fax[MAX_MSG_NUM + 1];
`CALLDET_S *icd;
`int callCnt;
`CALLDET_S *calld[MAX_CALL_NUM + 1];
`int exCnt;
`EXCEPTION_S *ex[MAX_EXCEPTION_NUM + 1];
`int listCnt;
`LIST_S *lst[MAX_LIST_NUM + 1];
`} MAILBOX_S;
`typedef struct mc_session_s {
`char mbox[MAX_BUF_SIZE + 1];
`char corpAccount[MAX_BUF_SIZE + 1];
`int job_id;
`char status;
`int perms;
`char hostName[MAX_BUF_SIZE + 1];
`int trunkNumber;
`char partyHostName[MAX_BUF_SIZE + 1];
`int partyTrunkNumber;
`int partyCount;
`char createTime[MAX_BUF_SIZE + 1];
`char currentDest[MAX_BUF_SIZE + 1];
`} SESSION_S;
`enum play_mode_e {
`PLAY_PROMPT = 0,
`PLAY_PROTECTED,
`PLAY_NOWAIT,
` PLAY_FAXTERM
`};
`
`/* Voice message filenames */
`#define v_busy
`"v_busy.vox"
`#define v_greet1 "v_greet1.vox"
`#define v_invalid
`"v_invalid.vox"
`#define v_message
`"v_message.vox"
`#define v_messages
`"v_messages.vox"
`#define v_received
`"v_received.vox"
`#define v_noans
`"v_noans.vox"
`#define v_nomsgs "v_nomsgs.vox"
`#define v_nonot
`"v_nonot.vox"
`
`16
`
`Parus Exhibit 2041, Page 16 of 28
`
`
`
`"v_omp.vox"
`#define v_omp
`#define v_onemsg "v_onemsg.vox"
`#define v_pgreet "v_pgreet.vox"
`#define v_saved
`"v_saved.vox"
`#define v_deleted
`"v_deleted.vox"
`#define v_sccanceled "v_sccanceled.vox"
`#define v_scsaved
`"v_scsaved.vox"
`#define v_today
`"v_today.vox"
`#define v_vailgreet
`"v_vailgreet.vox"
`#define v_verifnewsc "v_verifnewsc.vox"
`#define v_yesterday
`"v_yesterday.vox"
`#define v_dignewsc
`"v_dignewsc.vox"
`#define v_uhave
`"v_uhave.vox"
`/* New messages */
`"v_inuse.vox"
`#define v_inuse
`#define v_your_avail "v_your_avail.vox"
`#define v_home
`"v_home.vox"
`#define v_office "v_office.vox"
`#define v_other_office
`"v_other_office.vox"
`#define v_car
`"v_car.vox"
`#define v_cell
`"v_cell.vox"
`#define v_fax
`"v_fax.vox"
`#define v_operator
`"v_operator.vox"
`#define v_mobile "v_mobile.vox"
`#define v_follow "v_follow.vox"
`#define v_vmail
`"v_vmail.vox"
`#define v_email
`"v_email.vox"
`#define v_pager
`"v_pager.vox"
`#define v_msg_notif
`"v_msg_notif.vox"
`#define v_is_set_to
`"v_is_set_to.vox"
`#define v_vmsg_attached
`"v_vmsg_attached.vox"
`#define vr_will_set_to
`"vr_will_set_to.vox"
`#define vr_greet2
`"vr_greet2.vox"
`#define v_no_ports "v_no_ports.vox"
`
`/* audio messages */
`#define vr_extension "vr_extension.vox"
`#define vr_access_mbox
`"vr_access_mbox.vox"
`#define vr_call_or_msg
`"vr_call_or_msg.vox"
`#define vr_my_options "vr_my_options.vox"
`#define vr_too_slow
`"vr_too_slow.vox"
`#define vr_too_soon
`"vr_too_soon.vox"
`#define vr_too_loud
`"vr_too_loud.vox"
`#define vr_too_soft
`"vr_too_soft.vox"
`#define vr_too_long
`"vr_too_long.vox"
`#define vp_no_result "vp_no_result.vox"
`#define vp_no_result_alt "vp_no_result_alt.vox"
`#define vr_say_yes_no "vr_say_yes_no.vox"
`
`17
`
`Parus Exhibit 2041, Page 17 of 28
`
`
`
`"vp_msg_what.vox"
`#define vp_msg_what
`"vp_playmenu.vox"
`#define vp_playmenu
`#define vp_playmenu1 "vp_playmenu1.vox"
`#define vp_no_interpret
`"vp_no_interpret.vox"
`#define vp_seccode
`"vp_seccode.vox"
`#define vp_menu
`"vp_menu.vox"
`#define vp_menu1 "vp_menu1.vox"
`#define vp_menu2 "vp_menu2.vox"
`#define vp_adm_menu
`"vp_adm_menu.vox"
`#define vp_avail_menu "vp_avail_menu.vox"
`#define vp_playmenu2 "vp_playmenu2.vox"
`#define vp_newphone_menu "vp_newphone_menu.vox"
`#define vp_new_phone "vp_new_phone.vox"
`#define vp_new_area "vp_new_area.vox"
`#define vp_notif_type "vp_notif_type.vox"
`#define vp_who_mbox "vp_who_mbox.vox"
`#define vp_prefixing "vp_prefixing.vox"
`#define vp_another_call "vp_another_call.vox"
`#define vp_cid_navail "vp_cid_navail.vox"
`#define vp_call_hold "vp_call_hold.vox"
`#define vp_have_call_hold "vp_have_call_hold.vox"
`#define vp_take_call "vp_take_call.vox"
`#define vp_take_call_I "vp_take_call_I.vox"
`#define vp_take_call2 "vp_take_call2.vox"
`#define vp_is_this_ok "vp_is_this_ok.vox"
`#define vp_is_that_right "vp_is_that_right.vox"
`#define vp_is_that_right_yn "vp_is_that_right_yn.vox"
`#define vp_is_this_right "vp_is_this_right.vox"
`#define vp_xfer_to_ext "vp_xfer_to_ext.vox"
`#define vp_i_heard "vp_i_heard.vox"
`#define vp_sorry_about "vp_sorry_about.vox"
`#define vp_omp_reach "vp_omp_reach.vox"
`#define vp_follow_on "vp_follow_on.vox"
`#define vp_follow_off "vp_follow_off.vox"
`#define vp_follow_me_on "vp_follow_on.vox"
`#define vp_follow_me_off "vp_follow_off.vox"
`#define vp_you_followed "vp_you_followed.vox"
`#define vp_inv_scode "vp_inv_scode.vox"
`#define vp_inv_scode "vp_inv_scode.vox"
`#define vp_welcome "vp_welcome.vox"
`#define vp_currgrtg
`"vp_currgrtg.vox"
`#define vp_greet
`"vp_greet.vox"
`#define vp_orig_name
`"vp_orig_name.vox"
`#define vp_name_used
`"vp_name_used.vox"
`#define vp_currrec
`"vp_currrec.vox"
`#define vp_name_rec
`"vp_name_rec.vox"
`#define vp_name_menu
`"vp_name_menu.vox"
`#define vp_after_greet
`"vp_after_greet.vox"
`#define vp_return_sure
`"vp_return_sure.vox"
`#define vp_not_yet
`"vp_not_yet.vox"
`#define vp_phone_name
`"vp_phone_name.vox"
`#define vp_canc_notif
`"vp_canc_notif.vox"
`
`18
`
`Parus Exhibit 2041, Page 18 of 28
`
`
`
`"vp_notify_where.vox"
`#define vp_notify_where
`"vp_current_notif.vox"
`#define vp_current_notif
`"vp_no_notif.vox"
`#define vp_no_notif
`"vp_call_who.vox"
`#define vp_call_who
`"vp_msg_for_who.vox"
`#define vp_msg_for_who
`#define vp_transfer_where "vp_transfer_where.vox"
`#define vp_orig_grtg_used "vp_orig_grtg_used.vox"
`#define vp_grtg_changed
`"vp_grtg_changed.vox"
`#define vp_sent
`"vp_sent.vox"
`#define vp_msg_fwd
`"vp_msg_fwd.vox"
`#define v_bye
`"v_bye.vox"
`#define vp_persopt_cmds
`"vp_persopt_cmds.vox"
`#define vp_persopt_menu
`"vp_persopt_menu.vox"
`#define v_cancelled
`"v_cancelled.vox"
`#define vp_pls_hold
`"vp_pls_hold.vox"
`#define vp_main_menu
`"vr_main_menu.vox"
`#define vp_what_now
`"vp_what_now.vox"
`#define vp_reach_another
`"vp_reach_another.vox"
`#define vp_leave_msg
`"vp_leave_msg.vox"
`#define vp_leave_msg_yesno "vp_leave_msg_yesno.vox"
`#define vp_is_navail
`"vp_is_navail.vox"
`#define vp_problem
`"vp_problem.vox"
`#define vp_great
`"vp_great.vox"
`#define vp_dialing
`"vp_dialing.vox"
`#define vp_okay
`"vp_okay.vox"
`#define vp_hello
`"vp_hello.vox"
`#define vp_contact_added
`"vp_contact_added.vox"
`#define vp_name_contact
`"vp_name_contact.vox"
`#define vp_need_current
`"vp_need_current.vox"
`#define vp_webley_greet
`"vp_webley_greet.vox"
`#define vp_busy_tone
`"vp_busy_tone.vox"
`#define vp_party_navail
`"vp_party_navail.vox"
`#define vp_delivered
`"vp_delivered.vox"
`#define vp_conf_num
`"vp_conf_num.vox"
`#define vp_and
`"vp_and.vox"
`#define vp_one_smsg
`"vp_one_smsg.vox"
`#define vp_smessages
`"vp_smessages.vox"
`#define vp_hold_operator
`"vp_hold_operator.vox"
`#define vp_say_name
`"vp_say_name.vox"
`#define vp_thanks
`"vp_thanks.vox"
`#define vp_music
`"vp_music.vox"
`#define vp_no_contacts
`"vp_no_contacts.vox"
`#define vp_another_contact "vp_another_contact.vox"
`#define vp_contact_fname
`"vp_contact_fname.vox"
`#define vp_contact_not_found
`"vp_contact_not_found.vox"
`#define vp_no_nmsgs
`"vp_no_nmsgs.vox"
`#define vp_play_email
`"vp_play_email.vox"
`#define vp_tone
`"vp_tone.vox"
`#define vp_delete_msg
`"vp_delete_msg.vox"
`#define vp_no_emsgs
`"vp_no_emsgs.vox"
`#define vp_your_party
`"vp_your_party.vox"
`#define vp_conf_menu
`"vp_conf_menu.vox"
`
`19
`
`Parus Exhibit 2041, Page 19 of 28
`
`
`
`"vp_conf_number.vox"
`#define vp_conf_number
`"vp_changed.vox"
`#define vp_changed
`"vp_forwarded.vox"
`#define vp_forwarded
`"vp_no_faxes.vox"
`#define vp_no_faxes
`"vp_fax_menu.vox"
`#define vp_fax_menu
`"vp_fax.vox"
`#define vp_fax
`"vp_faxes.vox"
`#define vp_faxes
`"vp_one_fax.vox"
`#define vp_one_fax
`"vp_person_ext.vox"
`#define vp_person_ext
`"vp_done.vox"
`#define vp_done
`"vp_minutes_left.vox"
`#define vp_minutes_left
`"vp_sorry_notime.vox"
`#define vp_sorry_notime
`"vp_call_cs.vox"
`#define vp_call_cs
`"vp_func_navail.vox"
`#define vp_func_navail
`"vp_cscreen_on.vox"
`#define vp_cscreen_on
`"vp_cscreen_off.vox"
`#define vp_cscreen_off
`"vp_del.vox"
`#define vp_del
`"vp_invalid_office.vox"
`#define vp_invalid_office
`"vp_invalid_home.vox"
`#define vp_invalid_home
`"vp_invalid_mobile.vox"
`#define vp_invalid_mobile
`"vp_invalid_cell.vox"
`#define vp_invalid_cell
`#define vp_invalid_operator"vp_invalid_operator.vox"
`#define vp_invalid_pager
`"vp_invalid_pager.vox"
`#define vp_invalid_fax
`"vp_invalid_fax.vox"
`#define vp_invalid_email
`"vp_invalid_email.vox"
`#define vp_forward_email
`"vp_forward_email.vox"
`#define vp_forward_email_I "vp_forward_email_I.vox"
`#define vp_callback_number "vp_callback_number.vox"
`#define vp_recharge
`"vp_recharge.vox"
`#define vp_no_time
`"vp_no_time.vox"
`#define vp_min_avail
`"vp_min_avail.vox"
`#define vp_one_min_avail
`"vp_one_min_avail.vox"
`#define vp_no_option
`"vp_no_option.vox"
`#define vp_page_who
`"vp_page_who.vox"
`#define vp_in_screen
`"vp_in_screen.vox"
`#define vp_you_try_reach
`"vp_you_try_reach.vox"
`#define vp_ext_of
`"vp_ext_of.vox"
`#define vp_ask_screen
`"vp_ask_screen.vox"
`#define vp_caller_id_screen"vp_caller_id_screen.vox"
`#define vp_change_cscreen
`"vp_change_cscreen.vox"
`#define vp_send_to_trash
`"vp_send_to_trash.vox"
`#define vp_say_list
`"vp_say_list.vox"
`#define vp_faxgreet
`"vp_faxgreet.vox"
`#define vp_whisper
`"vp_whisper.vox"
`#define vp_call_option
`"vp_call_option.vox"
`#define vp_sorry_conf "vp_sorry_conf.vox"
`#define vp_say_cc_name
`"vp_say_cc_name.vox"
`#define vp_say_ec_name
`"vp_say_ec_name.vox"
`#define vp_say_fc_name
`"vp_say_fc_name.vox"
`#define vp_say_ext
`"vp_say_ext.vox"
`#define vp_need_ext
`"vp_need_ext.vox"
`
`20
`
`Parus Exhibit 2041, Page 20 of 28
`
`
`
`#define vp_say_contact_name"vp_say_contact_name.vox"
`#define vp_notifcn "vp_notifcn.vox"
`#define vp_access_pl "vp_access_pl.vox"
`#define vp_end_of_msgs "vp_end_of_msgs.vox"
`#define vp_end_of_faxes "vp_end_of_faxes.vox"
`#define vp_sorry_caller "vp_sorry_caller.vox"
`#define vp_leave_callback "vp_leave_callback.vox"
`#define vp_invalid_phone
`"vp_invalid_phone.vox"
`#define acd_agents_busy
`"acd_agents_busy.vox"
`#define acd_call_important "acd_call_important.vox"
`#define acd_high_call_volume
`"acd_high_call_volume.vox"
`#define acd_stay_online
`"acd_stay_online.vox"
`#define acd_thanks_for_patience "acd_thanks_for_patience.vox"
`#define acd_to_leave_msg
`"acd_to_leave_msg.vox"
`#define acd_will_answer_in_order "acd_will_answer_in_order.vox"
`
`"vp_novell_seccode.vox"
`#define vp_novell_seccode
`"vp_novell_greet.vox"
`#define vp_novell_greet
`"vp_sem_num.vox"
`#define vp_sem_num
`"vp_sem_begin.vox"
`#define vp_sem_begin
`"vp_seiko_menu.vox"
`#define vp_seiko_menu
`"vp_seiko_over.vox"
`#define vp_seiko_over
`"vp_seiko_watch_no.vox"
`#define vp_seiko_watch_no
`#define vp_notifcn "vp_notifcn.vox"
`#define vp_access_pl "vp_access_pl.vox"
`#define vp_take_reject_call "vp_take_reject_call.vox"
`#define vp_webley "vp_webley.vox"
`#define vp_inv_to_conf "vp_inv_to_conf.vox"
`#define v_busy_pt "v_busy_pt.vox"
`#define vp_cb_review
`"vp_cb_review.vox"
`#define vp_call_blast
`"vp_call_blast.vox"
`#define vp_enter_dialed_no "vp_enter_dialed_no.vox"
`#define vp_enter_mbox
`"vp_enter_mbox.vox"
`#define vp_whisper_cwait
`"vp_whisper_cwait.vox"
`#define vp_web_pass
`"vp_web_pass.vox"
`#define vp_sorry_option
`"vp_sorry_option.vox"
`#define vp_email_problem
`"vp_email_problem.vox"
`#define vp_cemail_problem "vp_cemail_problem.vox"
`#define vp_is_this_correct
`"vp_is_this_correct.vox"
`#define vp_you_entered
`"vp_you_entered.vox"
`#define vp_working
`"vp_working.vox"
`#define vp_still_working
`"vp_still_working.vox"
`#define vp_sorry_it_takes "vp_sorry_it_takes.vox"
`#define vp_be_patient
`"vp_be_patient.vox"
`#define vp_well_it_takes
`"vp_well_it_takes.vox"
`#define vp_searching
`"vp_searching.vox"
`#define vp_still_searching "vp_still_searching.vox"
`#define vp_party_hung_up
`"vp_party_hung_up.vox"
`
`21
`
`Parus Exhibit 2041, Page 21 of 28
`
`
`
`"vp_no_idea.vox"
`#define vp_no_idea
`"vp_i_will_try.vox"
`#define vp_i_will_try
`"vp_pers_conf_num.vox"
`#define vp_pers_conf_num
`"vp_to_join_conf.vox"
`#define vp_to_join_conf
`"vp_mbox_full.vox"
`#define vp_mbox_full
`"vp_msg_limit.vox"
`#define vp_msg_limit
`"vp_fax_limit.vox"
`#define vp_fax_limit
`#define vp_your_mbox_full "vp_your_mbox_full.vox"
`#define vp_clear_msgs
`"vp_clear_msgs.vox"
`#define vp_clear_faxes
`"vp_clear_faxes.vox"
`#define vp_lets_set_callblast
`"vp_lets_set_callblast.vox"
`#define vp_i_will_xfer
`"vp_i_will_xfer.vox"
`#define vp_front_menu
`"vp_front_menu.vox"
`#define vp_try_again
`"vp_try_again.vox"
`#define vp_contact_added_to_list
`"vp_contact_added_to_list.vox"
`#define vp_fine
`"vp_fine.vox"
`#define vp_certainly
`"vp_certainly.vox"
`#define vp_have_contact
`"vp_have_contact.vox"
`#define vp_sorry_list
`"vp_sorry_list.vox"
`#define vp_sorry_address
`"vp_sorry_address.vox"
`/* Sep 1999 release */
`"vp_have_no_email.vox"
`#define vp_have_no_email
`"vp_caller_options.vox"
`#define vp_caller_options
`"vp_other_options.vox"
`#define vp_other_options
`#define vp_caller_options1 "vp_caller_options1.vox"
`#define vp_other_options2
`"vp_other_options2.vox"
`#define vp_get_phone
`"vp_get_phone.vox"
`#define vp_hold_find
`"vp_hold_find.vox"
`#define vp_know_number
`"vp_know_number.vox"
`#define vp_know_fax
`"vp_know_fax.vox"
`#define vp_know_pager
`"vp_know_pager.vox"
`#define vp_dont_have_email "vp_dont_have_email.vox"
`#define vp_only_one_msg
`"vp_only_one_msg.vox"
`#define vp_at_msg
`"vp_at_msg.vox"
`#define vp_last_vmsg
`"vp_last_vmsg.vox"
`#define vp_to_last_msg
`"vp_to_last_msg.vox"
`#define vp_to_first_msg
`"vp_to_first_msg.vox"
`#define vp_at_fax
`"vp_at_fax.vox"
`#define vp_last_fax
`"vp_last_fax.vox"
`#define vp_to_last_fax
`"vp_to_last_fax.vox"
`#define vp_to_first_fax
`"vp_to_first_fax.vox"
`#define vp_only_one_fax
`"vp_only_one_fax.vox"
`#define vp_last_email
`"vp_last_email.vox"
`#define vp_one_page
`"vp_one_page.vox"
`#define vp_pages
`"vp_pages.vox"
`#define vp_contains
`"vp_contains.vox"
`
`22
`
`P