X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=apppbx.h;h=78355b51c56bdea92de5bdf9392eeea3ef6be180;hp=0dc3626b2054fbab6fb334a76e0103be7521ae8b;hb=64143650bc9c04fadc99694c499cf34750bc2804;hpb=83477c7faf66a160530f5a01c1bf3016e2127a4d diff --git a/apppbx.h b/apppbx.h index 0dc3626..78355b5 100644 --- a/apppbx.h +++ b/apppbx.h @@ -33,7 +33,7 @@ enum { /* states as viewed from io port (state of calls are always connected) */ }; #define EPOINT_STATE_NAMES \ -static char *state_name[] = { \ +static const char *state_name[] = { \ "EPOINT_STATE_IDLE", \ "EPOINT_STATE_IN_SETUP", \ "EPOINT_STATE_OUT_SETUP", \ @@ -64,7 +64,7 @@ class EndpointAppPBX : public EndpointApp int e_hold; /* is this endpoint on hold ? */ char e_tone[256]; /* save tone for resuming ports */ - unsigned long e_adminid; + unsigned int e_adminid; /* states */ int e_state; /* state of endpoint */ @@ -75,7 +75,7 @@ class EndpointAppPBX : public EndpointApp struct redir_info e_redirinfo; /* info on redirection (to the calling user) */ struct capa_info e_capainfo; /* info on l3,l2 capacity */ time_t e_start, e_stop; /* time */ - int e_origin; /* origin of call 0=incomming 1=outgoing */ + int e_origin; /* origin of call 0=incoming 1=outgoing */ struct route_ruleset *e_ruleset; /* current ruleset pointer (NULL=no ruleset) */ struct route_rule *e_rule; /* current rule pointer (NULL=no rule) */ struct route_action *e_action; /* current action pointer (NULL=no action) */ @@ -103,9 +103,9 @@ class EndpointAppPBX : public EndpointApp int e_powercount; /* power count */ int e_powerlimit; /* power limit */ double e_callback; /* time when callback (when idle reached) 0=off */ - signed long e_cfnr_release; /* time stamp when to do the release for call forward on no response */ - signed long e_cfnr_call; /* time stamp when to do the call for call forward on no response */ - signed long e_password_timeout; /* time stamp when to do the release for password timeout */ + signed int e_cfnr_release; /* time stamp when to do the release for call forward on no response */ + signed int e_cfnr_call; /* time stamp when to do the call for call forward on no response */ + signed int e_password_timeout; /* time stamp when to do the release for password timeout */ /* port relation */ int e_multipoint_cause; /* cause value of disconnected multiport calls (highest priority) */ @@ -127,6 +127,7 @@ class EndpointAppPBX : public EndpointApp /* read doc/keypad.txt for more information */ int e_dtmf_time; /* time when the last key was received. */ int e_dtmf_last; /* last dtmf key */ + int e_enablekeypad; /* remote app requests dtmf */ /* transmit and receive state */ int e_tx_state; /* current endpoint's state */ @@ -163,8 +164,8 @@ class EndpointAppPBX : public EndpointApp char e_crypt_info[33]; /* last information text */ int e_crypt_timeout_sec; /* timer */ int e_crypt_timeout_usec; /* timer */ - unsigned long e_crypt_random; /* current random number for ident */ - unsigned long e_crypt_bogomips; /* bogomips for ident */ + unsigned int e_crypt_random; /* current random number for ident */ + unsigned int e_crypt_bogomips; /* bogomips for ident */ unsigned char e_crypt_key[256]; /* the session key */ int e_crypt_key_len; unsigned char e_crypt_ckey[256]; /* the encrypted session key */ @@ -190,7 +191,7 @@ class EndpointAppPBX : public EndpointApp /* messages */ void hookflash(void); - void ea_message_port(unsigned long port_id, int message, union parameter *param); + void ea_message_port(unsigned int port_id, int message, union parameter *param); void port_setup(struct port_list *portlist, int message_type, union parameter *param); void port_information(struct port_list *portlist, int message_type, union parameter *param); void port_dtmf(struct port_list *portlist, int message_type, union parameter *param); @@ -205,7 +206,7 @@ class EndpointAppPBX : public EndpointApp void port_facility(struct port_list *portlist, int message_type, union parameter *param); void port_suspend(struct port_list *portlist, int message_type, union parameter *param); void port_resume(struct port_list *portlist, int message_type, union parameter *param); - void ea_message_join(unsigned long join_id, int message, union parameter *param); + void ea_message_join(unsigned int join_id, int message, union parameter *param); void join_crypt(struct port_list *portlist, int message_type, union parameter *param); void join_mISDNsignal(struct port_list *portlist, int message_type, union parameter *param); void join_setup(struct port_list *portlist, int message_type, union parameter *param); @@ -223,10 +224,10 @@ class EndpointAppPBX : public EndpointApp void release(int release, int joinlocation, int joincause, int portlocation, int portcause); void notify_active(void); void keypad_function(char digit); - void set_tone(struct port_list *portlist, char *tone); + void set_tone(struct port_list *portlist, const char *tone); void out_setup(void); struct mISDNport *hunt_port(char *ifname, int *channel); - char *apply_callerid_display(char *id, int itype, int ntype, int present, int screen, char *extension, char *name); + char *apply_callerid_display(const char *id, int itype, int ntype, int present, int screen, const char *extension, const char *name); void auth(int job, int bit_num); /* vbox playback stuff */ @@ -236,12 +237,12 @@ class EndpointAppPBX : public EndpointApp void vbox_handler(void); void efi_message_eof(void); void vbox_message_eof(void); - void set_tone_vbox(char *tone); - void set_play_vbox(char *file, int offset); + void set_tone_vbox(const char *tone); + void set_play_vbox(const char *file, int offset); void set_play_speed(int speed); /* efi */ - void set_tone_efi(char *tone); + void set_tone_efi(const char *tone); /* routing */ struct route_ruleset *rulesetbyname(char *name); @@ -249,7 +250,7 @@ class EndpointAppPBX : public EndpointApp struct route_param *routeparam(struct route_action *action, unsigned long long id); /* init / dialing / hangup */ - void _action_init_call(char *remote); + int _action_init_call(char *remote); void action_init_call(void); void action_init_remote(void); void action_dialing_internal(void); @@ -288,7 +289,9 @@ class EndpointAppPBX : public EndpointApp void action_dialing_help(void); void action_dialing_deflect(void); void action_dialing_setforward(void); + void action_init_execute(void); void action_hangup_execute(void); + void action_execute(void); void action_hangup_file(void); void action_init_pick(void); void action_dialing_password(void); @@ -303,7 +306,7 @@ class EndpointAppPBX : public EndpointApp void encrypt_keyex(void); void encrypt_off(void); void encrypt_result(int message, char *text); - int check_external(char **errstr, class Port **port); + int check_external(const char **errstr, class Port **port); /* crypt */ void cryptman_keyengine(int job); @@ -339,19 +342,16 @@ class EndpointAppPBX : public EndpointApp int cryptman_sizeofinf(unsigned char *buf, int element); unsigned char *cryptman_getinf(unsigned char *buf, int element, unsigned char *to); void cryptman_msg2peer(unsigned char *buf); - void cryptman_msg2user(int msg, char *text); + void cryptman_msg2user(int msg, const char *text); void cryptman_msg2crengine(int msg, unsigned char *buf, int len); void cryptman_state(int state); void cryptman_timeout(int secs); - - void message_disconnect_port(struct port_list *portlist, int cause, int location, char *display); - void logmessage(int message_type, union parameter *param, unsigned long port_id, int dir); - void trace_header(char *name, int direction); + void message_disconnect_port(struct port_list *portlist, int cause, int location, const char *display); + void logmessage(int message_type, union parameter *param, unsigned int port_id, int dir); + void trace_header(const char *name, int direction); }; -char *nationalize_callerinfo(char *string, int *type); -char *numberrize_callerinfo(char *string, int type); void apply_callerid_restriction(struct extension *ext, char *id, int *ntype, int *present, int *screen, char *extension, char *name); void send_mail(char *filename, char *callerid, char *callerintern, char *callername, char *vbox_email, int vbox_year, int vbox_mon, int vbox_mday, int vbox_hour, int vbox_min, char *terminal);