comparison sip-in/call_clear.c @ 110:c1c94b7fc2e2

sip-in call clearing: DEAD_SIP transition implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 28 Sep 2022 18:37:19 -0800
parents 9b87894704eb
children 7a4d4b8d5f04
comparison
equal deleted inserted replaced
109:9b87894704eb 110:c1c94b7fc2e2
24 struct call *call; 24 struct call *call;
25 unsigned linger; 25 unsigned linger;
26 { 26 {
27 call->sip_clear_time = cur_event_time.tv_sec + linger; 27 call->sip_clear_time = cur_event_time.tv_sec + linger;
28 } 28 }
29
30 void
31 transition_dead_sip(call)
32 struct call *call;
33 {
34 if (call->overall_state != OVERALL_STATE_TEARDOWN)
35 return;
36 if (call->sip_state != SIP_STATE_ENDED &&
37 call->sip_state != SIP_STATE_MSG_SIZE_ERR)
38 return;
39 if (call->mncc_state != MNCC_STATE_NO_EXIST)
40 return;
41 if (call->mgw_state != MGW_STATE_NO_EXIST)
42 return;
43 if (call->mgw_xact)
44 return;
45 call->overall_state = OVERALL_STATE_DEAD_SIP;
46 }