Add -lncurses to LDD flags
[lcr.git] / apppbx.h
index a2608cc..618d9ac 100644 (file)
--- a/apppbx.h
+++ b/apppbx.h
@@ -73,8 +73,9 @@ class EndpointAppPBX : public EndpointApp
        struct caller_info      e_callerinfo;           /* information about the caller */
        struct dialing_info     e_dialinginfo;          /* information about dialing */
        struct connect_info     e_connectinfo;          /* information about connected line */
-       struct redir_info       e_redirinfo;            /* info on redirection (to the calling user) */
-       struct capa_info        e_capainfo;             /* info on l3,l2 capacity */
+       struct redir_info       e_redirinfo;            /* info about redirection (to the calling user) */
+       struct capa_info        e_capainfo;             /* info about l3,l2 capacity */
+       struct rtp_info         e_rtpinfo;              /* info about rtp port forwarding and payload type */
        time_t                  e_start, e_stop;        /* time */
        int                     e_origin;               /* origin of call 0=incoming 1=outgoing */
        struct route_ruleset    *e_ruleset;             /* current ruleset pointer (NULL=no ruleset) */
@@ -159,7 +160,8 @@ class EndpointAppPBX : public EndpointApp
        /* efi */
        int e_efi_state;                        /* current spoken sample */
        int e_efi_digit;                        /* current spoken digit */
-       
+
+#ifdef WITH_CRYPT
        /* crypt states and vars */
        int e_crypt;                            /* current user level crypt state */
        int e_crypt_state;                      /* current crypt manager state */
@@ -191,6 +193,7 @@ class EndpointAppPBX : public EndpointApp
        int e_crypt_keyengine_busy;             /* current job and busy state */
        int e_crypt_keyengine_return;           /* return */
        struct lcr_timer e_crypt_handler; /* poll timer for crypt events */
+#endif
 
        /* messages */
        void hookflash(void);
@@ -208,11 +211,19 @@ class EndpointAppPBX : public EndpointApp
        void port_notify(struct port_list *portlist, int message_type, union parameter *param);
        void port_progress(struct port_list *portlist, int message_type, union parameter *param);
        void port_facility(struct port_list *portlist, int message_type, union parameter *param);
+       void port_3pty(struct port_list *portlist, int message_type, union parameter *param);
+       void port_transfer(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 port_enablekeypad(struct port_list *portlist, int message_type, union parameter *param);
+       void port_disable_dejitter(struct port_list *portlist, int message_type, union parameter *param);
+       void port_updatebridge(struct port_list *portlist, int message_type, union parameter *param);
+       void port_vootp(struct port_list *portlist, int message_type, union parameter *param);
+       void port_dov_indication(struct port_list *portlist, int message_type, 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_bridge(struct port_list *portlist, int message_type, union parameter *param);
        void join_setup(struct port_list *portlist, int message_type, union parameter *param);
        void join_information(struct port_list *portlist, int message_type, union parameter *param);
        void join_overlap(struct port_list *portlist, int message_type, union parameter *param);
@@ -222,6 +233,11 @@ class EndpointAppPBX : public EndpointApp
        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);
+       void join_dtmf(struct port_list *portlist, int message_type, union parameter *param);
+       void join_disable_dejitter(struct port_list *portlist, int message_type, union parameter *param);
+       void join_dov_indication(struct port_list *portlist, int message_type, union parameter *param);
+       void join_dov_request(struct port_list *portlist, int message_type, union parameter *param);
+       void join_dov_listen(struct port_list *portlist, int message_type, union parameter *param);
 
        /* epoint */
        void new_state(int state);
@@ -229,8 +245,7 @@ class EndpointAppPBX : public EndpointApp
        void notify_active(void);
        void keypad_function(char digit);
        void set_tone(struct port_list *portlist, const char *tone);
-       void out_setup(void);
-       struct mISDNport *hunt_port(char *ifname, int *channel);
+       void out_setup(int cfnr);
        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);
 
@@ -253,13 +268,10 @@ class EndpointAppPBX : public EndpointApp
        struct route_param *routeparam(struct route_action *action, unsigned long long id);
 
        /* init / dialing / hangup */
-       int _action_init_call(char *remote);
        void action_init_call(void);
-       void action_init_remote(void);
        void action_dialing_internal(void);
        void action_dialing_external(void);
        void action_dialing_h323(void);
-       void action_dialing_remote(void);
        void action_dialing_vbox_record(void);
        void action_init_partyline(void);
        void action_hangup_call(void);
@@ -282,6 +294,12 @@ class EndpointAppPBX : public EndpointApp
        void action_init_play(void);
        void action_init_vbox_play(void);
        void action_init_efi(void);
+       void action_init_pots_retrieve(void);
+       void action_init_pots_release(void);
+       void action_init_pots_reject(void);
+       void action_init_pots_answer(void);
+       void action_init_pots_3pty(void);
+       void action_init_pots_transfer(void);
        void action_dialing_vbox_play(void);
        void action_dialing_calculator(void);
        void action_dialing_timer(void);
@@ -305,7 +323,11 @@ class EndpointAppPBX : public EndpointApp
 
        /* facility function */
        void pick_join(char *extension);
-       void join_join(void);
+       int join_join_dss1(void);
+       int join_join_fxs(void);
+       int join_3pty_dss1(void);
+       int join_3pty_fxs(void);
+       int split_3pty(void);
        void encrypt_shared(void);
        void encrypt_keyex(void);
        void encrypt_off(void);
@@ -349,9 +371,14 @@ class EndpointAppPBX : public EndpointApp
        void cryptman_msg2crengine(int msg, unsigned char *buf, int len);
        void cryptman_state(int state);
        void cryptman_timeout(int secs);
+       int vootp_on(int enable);
+
        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);
+
+       /* DOV */
+       void dov_msg_write(union parameter *param, int sent);
 };