X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=gsm.cpp;h=5ed0f89c98b910aa1360c20c134ce2be5faddcb7;hp=5d4b64d84c92b20ba1fbae85b0c05d0ed7d18c01;hb=63f60f8e4bd805ca5e0afcfee94a8b1d8f949b49;hpb=b461b170fa3c19c5d7c3f689884a510559cb7940 diff --git a/gsm.cpp b/gsm.cpp index 5d4b64d..5ed0f89 100644 --- a/gsm.cpp +++ b/gsm.cpp @@ -412,6 +412,11 @@ bfi: /* send traffic to gsm */ int Pgsm::bridge_rx(unsigned char *data, int len) { + int ret; + + if ((ret = Port::bridge_rx(data, len))) + return ret; + if (p_tone_name[0]) return -EINVAL; @@ -1275,11 +1280,11 @@ static int mncc_fd_close(struct lcr_gsm *lcr_gsm, struct lcr_fd *lfd) /* free all the calls that were running through the MNCC interface */ port = port_first; while(port) { - if ((port->p_type & PORT_CLASS_mISDN_MASK) == PORT_CLASS_GSM) { + if ((port->p_type & PORT_CLASS_MASK) == PORT_CLASS_GSM) { pgsm = (class Pgsm *)port; if (pgsm->p_g_lcr_gsm == lcr_gsm) { message = message_create(pgsm->p_serial, ACTIVE_EPOINT(pgsm->p_epointlist), PORT_TO_EPOINT, MESSAGE_RELEASE); - message->param.disconnectinfo.cause = 27; // temp. unavail. + message->param.disconnectinfo.cause = 41; // temp. fail. message->param.disconnectinfo.location = LOCATION_PRIVATE_LOCAL; message_put(message); pgsm->new_state(PORT_STATE_RELEASE);