# HG changeset patch # User Mychaela Falconia # Date 1663544662 28800 # Node ID 7c0309df59f832f1a30cc87aa1d255d30f5bd5e9 # Parent 1f863c63f96bd622e76ebbc3845f347211f2a730 sip-in: handling of ALERTING state diff -r 1f863c63f96b -r 7c0309df59f8 sip-in/invite.c --- a/sip-in/invite.c Sun Sep 18 15:29:30 2022 -0800 +++ b/sip-in/invite.c Sun Sep 18 15:44:22 2022 -0800 @@ -352,6 +352,19 @@ } void +signal_invite_ringing(call) + struct call *call; +{ + struct sip_msg_out resp; + + start_response_out_msg(&resp, "180 Ringing"); + fill_invite_resp_from_call(&resp, call); + out_msg_finish(&resp); + sip_tx_packet(&resp, &call->udp_sin); + call->sip_state = SIP_STATE_RINGING; +} + +void signal_invite_error(call) struct call *call; { diff -r 1f863c63f96b -r 7c0309df59f8 sip-in/mncc_handle.c --- a/sip-in/mncc_handle.c Sun Sep 18 15:29:30 2022 -0800 +++ b/sip-in/mncc_handle.c Sun Sep 18 15:44:22 2022 -0800 @@ -23,7 +23,14 @@ struct call *call; struct gsm_mncc *msg; { - /* handling to be implemented */ + if (call->mncc_state != MNCC_STATE_STARTED) { + syslog(LOG_ERR, "MNCC_ALERT_IND in wrong MNCC state 0x%x", + call->mncc_state); + return; + } + call->mncc_state = MNCC_STATE_ALERTING; + call->overall_state = OVERALL_STATE_ALERTING; + signal_invite_ringing(call); } static void