-extern "C" {
-#include <openbsc/gsm_data.h>
-}
/* GSM port class */
class Pgsm_bs : public Pgsm
{
public:
- Pgsm_bs(int type, struct mISDNport *mISDNport, char *portname, struct port_settings *settings, int channel, int exclusive, int mode);
+ Pgsm_bs(int type, char *portname, struct port_settings *settings, struct interface *interface);
~Pgsm_bs();
- unsigned char *p_m_g_dtmf; /* DTMF tone generation (MS only) */
- int p_m_g_dtmf_index; /* DTMF tone generation index */
+ char p_g_bs_name[32];
+ unsigned char *p_g_dtmf; /* DTMF tone generation (MS only) */
+ int p_g_dtmf_index; /* DTMF tone generation index */
+ void select_payload_type(struct gsm_mncc *mncc, unsigned char *payload_types, int *media_types, int *payloads, int max_payloads);
void setup_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
+ void call_conf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *gsm);
void start_dtmf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
void stop_dtmf_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
void hold_ind(unsigned int msg_type, unsigned int callref, struct gsm_mncc *mncc);
int message_epoint(unsigned int epoint_id, int message_id, union parameter *param);
};
-int handle_gsm_bs(void);
int gsm_bs_conf(struct gsm_conf *gsm_conf, char *conf_error);
int gsm_bs_exit(int rc);
int gsm_bs_init(void);
+int gsm_bs_new(struct interface *interface);
+int gsm_bs_delete(const char *name);
+
+int message_bsc(class Pgsm_bs *pgsm_bs, struct lcr_gsm *lcr_gsm, int msg_type, void *arg);