# HG changeset patch # User Mychaela Falconia # Date 1663744850 28800 # Node ID 9e9034ef476c601a27f1ee233a4820dfc9c96607 # Parent f332ccc240f18d1ed5f75c660ed66ff3a0680f31 sip-in: send CONNECT ACK to GSM upon SIP ACK after 200 diff -r f332ccc240f1 -r 9e9034ef476c sip-in/mncc_handle.c --- a/sip-in/mncc_handle.c Tue Sep 20 23:14:50 2022 -0800 +++ b/sip-in/mncc_handle.c Tue Sep 20 23:20:50 2022 -0800 @@ -24,6 +24,20 @@ .value = GSM48_CC_CAUSE_NORMAL_UNSPEC, }; +void +send_mncc_connect_ack(call) + struct call *call; +{ + struct gsm_mncc ack; + + bzero(&ack, sizeof(struct gsm_mncc)); + ack.msg_type = MNCC_SETUP_COMPL_REQ; + ack.callref = call->mncc_callref; + send_mncc_to_gsm(&ack, sizeof(struct gsm_mncc)); + call->mncc_state = MNCC_STATE_CONNECTED; + call->overall_state = OVERALL_STATE_CONNECTED; +} + static void handle_alerting(call, msg) struct call *call; diff -r f332ccc240f1 -r 9e9034ef476c sip-in/sip_ack.c --- a/sip-in/sip_ack.c Tue Sep 20 23:14:50 2022 -0800 +++ b/sip-in/sip_ack.c Tue Sep 20 23:20:50 2022 -0800 @@ -37,6 +37,7 @@ switch (call->overall_state) { case OVERALL_STATE_ANSWERED: call->sip_state = SIP_STATE_CONNECTED; + send_mncc_connect_ack(call); break; case OVERALL_STATE_TEARDOWN: initiate_bye(call);