# HG changeset patch # User Mychaela Falconia # Date 1662673182 28800 # Node ID d61d0136f6a5e5ee7e0a95fd937903b6352ddaa7 # Parent 7005d5c535e8ba120f9112bb28f31fa58ccb87e0 sip-in INVITE processing: return "GSM service is offline" indication diff -r 7005d5c535e8 -r d61d0136f6a5 sip-in/invite.c --- a/sip-in/invite.c Thu Sep 08 13:25:31 2022 -0800 +++ b/sip-in/invite.c Thu Sep 08 13:39:42 2022 -0800 @@ -159,4 +159,10 @@ return; } /* SIP INVITE validation done - check if GSM service is up */ + rc = connect_gsm_mtcall(); + if (rc < 0) { + start_response_out_msg(&resp, "480 GSM service is offline"); + goto error_resp; + } + /* stateful processing begins */ } diff -r 7005d5c535e8 -r d61d0136f6a5 sip-in/mncc_sock.c --- a/sip-in/mncc_sock.c Thu Sep 08 13:25:31 2022 -0800 +++ b/sip-in/mncc_sock.c Thu Sep 08 13:39:42 2022 -0800 @@ -33,6 +33,7 @@ rc = connect(gsm_socket, (struct sockaddr *) &sa, sa_len); if (rc < 0) { syslog(LOG_ERR, "connect to %s: %m", mtcall_socket_pathname); + close(gsm_socket); return(-1); } update_max_fd(gsm_socket);