int tespecial; /* special TE-mode behavior */
int l1hold; /* hold layer 1 (1=on, 0=off) */
int l2hold; /* hold layer 2 (1=force, -1=disable, 0=default) */
- int gsm; /* interface is an GSM interface */
unsigned int ss5; /* set, if SS5 signalling enabled, also holds feature bits */
+ int remote; /* interface is a remote app interface */
+ char remote_app[32]; /* name of remote application */
int channel_force; /* forces channel by protocol */
int nodtmf; /* disables DTMF */
struct select_channel *out_channel; /* list of channels to select */
// int tout_park;
int dialmax; /* maximum number of digits to dial */
char tones_dir[128];
+ int nonotify; /* blocks outgoing notify messages */
};
struct interface_msn {
struct interface {
struct interface *next;
char name[64]; /* name of interface */
- int external; /* interface used for extranl calls */
+ int app; /* application to use for interface (0 = PBX) */
+ char bridge_if[64]; /* name of destination interface for bridge application */
+ int external; /* interface used for external calls */
int extension; /* calls are handled as extension */
int is_tones; /* generate tones */
int is_earlyb; /* bridge tones during call setup */
+ int shutdown; /* interface will not automatically be loaded */
int hunt; /* select algorithm */
int hunt_next; /* ifport index to start hunt */
struct interface_port *ifport; /* link to interface port list */
char pipeline[256]; /* filter pipeline */
unsigned char bf_key[56]; /* filter blowfish */
int bf_len; /* filter length of blowfish */
+#ifdef WITH_GSM_BS
+ int gsm_bs; /* interface is an GSM BS interface */
+#endif
+#ifdef WITH_GSM_MS
+ int gsm_ms; /* interface is an GSM MS interface */
+ char gsm_ms_name[32]; /* name of ms */
+#endif
+#ifdef WITH_SIP
+ int sip; /* interface is a SIP interface */
+ char sip_local_ip[16];
+ char sip_remote_ip[16];
+ void *sip_inst; /* sip instance */
+#endif
+ int rtp_bridge; /* bridge RTP directly (for calls comming from interface) */
};
struct interface_param {
void relink_interfaces(void);
void load_port(struct interface_port *ifport);
void doc_interface(void);
-void do_screen(int out, char *id, int idsize, int *type, int *present, struct interface *interface);
+void do_screen(int out, char *id, int idsize, int *type, int *present, const char *interface_name);
+struct interface *getinterfacebyname(const char *name);