X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=extension.h;h=4de6952e07ea80acc933d867cbf357c6fc89b50a;hp=c59bb6d8c2c72f9e23e272d34be967c25f2bd425;hb=79bd731c0db3e3202cfeed2af3fb217ae744b70f;hpb=2ed0fee489c37a6e2d4473f6185ebbe3e746ac11 diff --git a/extension.h b/extension.h index c59bb6d..4de6952 100644 --- a/extension.h +++ b/extension.h @@ -9,6 +9,10 @@ ** ** \*****************************************************************************/ +/* maximum number of redial/powerdial and reply numbers to remember + */ +#define MAX_REMEMBER 99 + /* display of callerid on internal numbers */ enum { @@ -21,11 +25,11 @@ enum { DISPLAY_CID_ABBREV_NUMBER, /* "05 5551212" */ DISPLAY_CID_ABBREV_NAME, /* "05 Axel" */ DISPLAY_CID_ABBREV_NUMBER_NAME, /* "05 5551212 Axel" */ - DISPLAY_CID_ABBREV_NAME_NUMBER, /* "05 Axel 5551212" */ + DISPLAY_CID_ABBREV_NAME_NUMBER /* "05 Axel 5551212" */ }; enum { DISPLAY_CID_INTERNAL_OFF, /* "20" */ - DISPLAY_CID_INTERNAL_ON, /* "Intern 20" */ + DISPLAY_CID_INTERNAL_ON /* "Intern 20" */ }; /* display of clear causes using display messages */ @@ -36,14 +40,14 @@ enum { DISPLAY_CAUSE_GERMAN, /* "34 - kein Kanal" */ DISPLAY_LOCATION_ENGLISH, /* "34 - Network (Remote)" */ DISPLAY_LOCATION_GERMAN, /* "34 - Vermittlung (Gegenstelle)" */ - DISPLAY_CAUSE_NUMBER, /* "Cause 34" */ + DISPLAY_CAUSE_NUMBER /* "Cause 34" */ }; /* clip */ enum { CLIP_ASIS, /* use colp as presented by caller */ - CLIP_HIDE, /* use extension's caller id */ + CLIP_HIDE /* use extension's caller id */ }; /* colp */ @@ -51,7 +55,7 @@ enum { enum { COLP_ASIS, /* use colp as presented by called */ COLP_HIDE, /* use extension's caller id */ - COLP_FORCE, /* use colp even if called dosn't provide or allow */ + COLP_FORCE /* use colp even if called dosn't provide or allow */ }; /* codec to use */ @@ -61,7 +65,7 @@ enum { CODEC_MONO, /* record wave mono */ CODEC_STEREO, /* record wave stereo */ CODEC_8BIT, /* record wave mono 8bit */ - CODEC_LAW, /* record LAW */ + CODEC_LAW /* record LAW */ }; /* VBOX mode */ @@ -69,7 +73,7 @@ enum { enum { VBOX_MODE_NORMAL, /* normal mode: send announcement, then record */ VBOX_MODE_PARALLEL, /* parallel mode: send announcement and record during announcement */ - VBOX_MODE_ANNOUNCEMENT, /* announcement mode: send announcement and disconnect */ + VBOX_MODE_ANNOUNCEMENT /* announcement mode: send announcement and disconnect */ }; /* VBOX display */ @@ -77,14 +81,14 @@ enum { enum { VBOX_DISPLAY_BRIEF, /* parallel mode: send announcement and record during announcement */ VBOX_DISPLAY_DETAILED, /* announcement mode: send announcement and disconnect */ - VBOX_DISPLAY_OFF, /* normal mode: send announcement, then record */ + VBOX_DISPLAY_OFF /* normal mode: send announcement, then record */ }; /* VBOX language */ enum { VBOX_LANGUAGE_ENGLISH, /* display and announcements are in english */ - VBOX_LANGUAGE_GERMAN, /* display and announcements are in german */ + VBOX_LANGUAGE_GERMAN /* display and announcements are in german */ }; /* dsptones */ @@ -93,7 +97,7 @@ enum { DSP_NONE, DSP_AMERICAN, DSP_GERMAN, - DSP_OLDGERMAN, + DSP_OLDGERMAN }; @@ -105,7 +109,8 @@ enum { */ struct extension { - char name[16]; + char number[32]; /* number of extension */ + char name[32]; char prefix[32]; char next[32]; /* next number to dial when pickup (temp prefix) */ char alarm[32]; @@ -125,21 +130,19 @@ struct extension { int change_callerid; int clip; /* how to present caller id on forwarded calls */ int colp; /* how to present called line id on forwarded calls */ - char clip_prefix[32]; /* prefix for screening incomming clip */ + char clip_prefix[32]; /* prefix for screening incoming clip */ int keypad; /* support keypad for call control */ - int centrex; /* present name of caller/called on internal extension */ int anon_ignore; /* ignore anonymouse calls */ int rights; int delete_ext; /* delete function for external dialing */ int noknocking; /* deny knocking of incoming call */ char last_out[MAX_REMEMBER][64]; /* numbers to redail */ char last_in[MAX_REMEMBER][64]; /* numbers to reply */ - int txvol; - int rxvol; + int tx_gain; + int rx_gain; int display_cause; /* clear cause using display message */ int display_ext; /* display external caller ids */ int display_int; /* display internal caller ids */ - int display_voip; /* display h323 caller ids */ int display_fake; /* display fake caller ids */ int display_anon; /* display anonymouse caller ids */ int display_menu; /* display menu */ @@ -158,13 +161,6 @@ struct extension { int vbox_email_file; /* set, if also the audio fille will be attached */ int vbox_free; /* if vbox shall connect after announcment */ - int tout_setup; - int tout_dialing; - int tout_proceeding; - int tout_alerting; - int tout_disconnect; -// int tout_hold; -// int tout_park; int own_setup; int own_proceeding; int own_alerting; @@ -173,6 +169,12 @@ struct extension { int facility; /* must be set to forward facility to terminal */ int datacall; /* data calls are handled as voice calls */ int no_seconds; /* don't include seconds in the connect message */ + + char otp_ident[9]; /* up to 8 bytes of ident */ + char dov_ident[256]; /* ident string to be sent to remote via Data-Over-Voice */ + char dov_log[256]; /* log file to store received and sent Data-Over-Voice messages */ + int dov_type; /* type of modulation */ + int dov_level; /* amplitude of signal */ }; int read_extension(struct extension *ext, char *number); @@ -181,6 +183,7 @@ int write_log(char *number, char *callerid, char *calledid, time_t start, time_t int parse_phonebook(char *number, char **abbrev_pointer, char **phone_pointer, char **name_pointer); int parse_secrets(char *number, char *remote_id, char **auth_pointer, char **crypt_pointer, char **key_pointer); char *parse_directory(char *number, int type); +struct caller_info; int parse_callbackauth(char *number, struct caller_info *callerinfo); void append_callbackauth(char *number, struct caller_info *callerinfo);