add_trace("keypad", NULL, "%c", mncc->keypad);
end_trace();
resp = create_mncc(MNCC_START_DTMF_RSP, p_m_g_callref);
+ resp->fields |= MNCC_F_KEYPAD;
resp->keypad = mncc->keypad;
send_and_free_mncc(p_m_g_instance, resp->msg_type, resp);
int gsm_bs_exit(int rc)
{
-#if 0
- /* free gsm instance */
- if (gsm) {
- /* shutdown network */
- if (gsm->network)
- bsc_shutdown_net((struct gsm_network *)gsm->network);
- /* free network */
-// if (gsm->network) {
-// free((struct gsm_network *)gsm->network); /* TBD */
-// }
- }
-#endif
+ gsm->network = NULL;
+
return(rc);
}
return mncc_fd_close(lfd);
if (rc < 0)
return rc;
- if (rc < qe->len)
+ if (rc < (int)qe->len)
return -1;
/* dequeue the successfully sent message */
qe2 = mncc_q_dequeue();
int gsm_bs_init(void)
{
gsm->sun.sun_family = AF_UNIX;
- strcpy(gsm->sun.sun_path, "/tmp/bsc_mncc");
+ SCPY(gsm->sun.sun_path, "/tmp/bsc_mncc");
memset(&gsm->socket_retry, 0, sizeof(gsm->socket_retry));
add_timer(&gsm->socket_retry, socket_retry_cb, NULL, 0);
/* do the initial connect */
socket_retry_cb(&gsm->socket_retry, NULL, 0);
+ /* dummy instance */
+ gsm->network = (void *)1;
+
return 0;
}