LCR now runs as a user.
[lcr.git] / apppbx.h
index c93f38c..6eaf2dd 100644 (file)
--- a/apppbx.h
+++ b/apppbx.h
@@ -55,7 +55,7 @@ extern class EndpointAppPBX *apppbx_first;
 class EndpointAppPBX : public EndpointApp
 {
        public:
-       EndpointAppPBX(class Endpoint *epoint);
+       EndpointAppPBX(class Endpoint *epoint, int origin);
        ~EndpointAppPBX();
 
        class EndpointAppPBX    *next;
@@ -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 */
+       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);
@@ -214,7 +215,7 @@ class EndpointAppPBX : public EndpointApp
        void join_proceeding(struct port_list *portlist, int message_type, union parameter *param);
        void join_alerting(struct port_list *portlist, int message_type, union parameter *param);
        void join_connect(struct port_list *portlist, int message_type, union parameter *param);
-       void join_disconnect_release(struct port_list *portlist, int message_type, union parameter *param);
+       void join_disconnect_release(int message_type, union parameter *param);
        void join_notify(struct port_list *portlist, int message_type, union parameter *param);
        void join_facility(struct port_list *portlist, int message_type, union parameter *param);
 
@@ -249,13 +250,13 @@ class EndpointAppPBX : public EndpointApp
        struct route_param *routeparam(struct route_action *action, unsigned long long id);
 
        /* init / dialing / hangup */
-       void _action_init_call(int chan);
+       int _action_init_call(char *remote);
        void action_init_call(void);
-       void action_init_chan(void);
+       void action_init_remote(void);
        void action_dialing_internal(void);
        void action_dialing_external(void);
        void action_dialing_h323(void);
-       void action_dialing_chan(void);
+       void action_dialing_remote(void);
        void action_dialing_vbox_record(void);
        void action_init_partyline(void);
        void action_hangup_call(void);
@@ -345,15 +346,12 @@ class EndpointAppPBX : public EndpointApp
        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 logmessage(int message_type, union parameter *param, unsigned int port_id, int dir);
        void trace_header(char *name, int direction);
-       void screen(int out, char *id, int idsize, int *type, int *present, struct interface *interface);
 };
 
 
-char *nationalize_callerinfo(char *string, int *type);
-char *numberrize_callerinfo(char *string, int type);
-void apply_callerid_restriction(int anon_ignore, char *id, int *ntype, int *present, int *screen, char *extension, char *name);
+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);