X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=interface.h;h=cf1b1921d5b0113f9828d9867266526f4bdf1a2c;hp=f27108081a17306b9ce1214b8f37d4d083e8af34;hb=f854931ffbee9464b278c433c4fdc7c3ea5af2fb;hpb=da91d7d85fe092122e35ece52695f98345738359 diff --git a/interface.h b/interface.h index f271080..cf1b192 100644 --- a/interface.h +++ b/interface.h @@ -51,13 +51,6 @@ struct interface_port { 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) */ -#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 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 */ @@ -96,10 +89,13 @@ struct interface_screen { struct interface { struct interface *next; char name[64]; /* name of interface */ + 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 */ @@ -110,6 +106,24 @@ struct interface { 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 */ +#if 0 + int gsm_bs_payloads; + unsigned char gsm_bs_payload_types[8]; +#endif +#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 { @@ -128,7 +142,8 @@ extern char interface_error[256]; struct interface *read_interfaces(void); void free_interfaces(struct interface *interface_start); void relink_interfaces(void); -void load_port(struct interface_port *ifport); +void load_mISDN_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);