FreeCalypso > hg > themwi-system-sw
comparison sip-in/retrans.c @ 142:bb9a75557f59
sip-in: syslog SIP message retransmission failures
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 08 Oct 2022 13:42:27 -0800 |
parents | c1c94b7fc2e2 |
children | bf3b19bf57e9 |
comparison
equal
deleted
inserted
replaced
141:e499e8db8b82 | 142:bb9a75557f59 |
---|---|
37 out_msg_add_header(&msg, "RSeq", "1"); | 37 out_msg_add_header(&msg, "RSeq", "1"); |
38 out_msg_finish(&msg); | 38 out_msg_finish(&msg); |
39 sip_tx_packet(&msg, &call->udp_sin); | 39 sip_tx_packet(&msg, &call->udp_sin); |
40 call->sip_tx_count++; | 40 call->sip_tx_count++; |
41 } else { | 41 } else { |
42 syslog(LOG_ERR, | |
43 "Call in%06u: 100rel retrans timeout"); | |
42 call->overall_state = OVERALL_STATE_TEARDOWN; | 44 call->overall_state = OVERALL_STATE_TEARDOWN; |
43 disconnect_mncc(call, GSM48_CAUSE_LOC_PRN_S_LU, | 45 disconnect_mncc(call, GSM48_CAUSE_LOC_PRN_S_LU, |
44 GSM48_CC_CAUSE_INTERWORKING); | 46 GSM48_CC_CAUSE_INTERWORKING); |
45 disconnect_tmgw(call); | 47 disconnect_tmgw(call); |
46 strcpy(call->invite_fail, | 48 strcpy(call->invite_fail, |
52 if (call->sip_tx_count < cfg_retrans_count) { | 54 if (call->sip_tx_count < cfg_retrans_count) { |
53 fill_invite_200_resp(&msg, call); | 55 fill_invite_200_resp(&msg, call); |
54 sip_tx_packet(&msg, &call->udp_sin); | 56 sip_tx_packet(&msg, &call->udp_sin); |
55 call->sip_tx_count++; | 57 call->sip_tx_count++; |
56 } else { | 58 } else { |
59 syslog(LOG_ERR, | |
60 "Call in%06u: 200 retrans timeout"); | |
57 call->overall_state = OVERALL_STATE_TEARDOWN; | 61 call->overall_state = OVERALL_STATE_TEARDOWN; |
58 disconnect_mncc(call, GSM48_CAUSE_LOC_PRN_S_LU, | 62 disconnect_mncc(call, GSM48_CAUSE_LOC_PRN_S_LU, |
59 GSM48_CC_CAUSE_INTERWORKING); | 63 GSM48_CC_CAUSE_INTERWORKING); |
60 disconnect_tmgw(call); | 64 disconnect_tmgw(call); |
61 initiate_bye(call); | 65 initiate_bye(call); |
67 fill_invite_resp_from_call(&msg, call); | 71 fill_invite_resp_from_call(&msg, call); |
68 out_msg_finish(&msg); | 72 out_msg_finish(&msg); |
69 sip_tx_packet(&msg, &call->udp_sin); | 73 sip_tx_packet(&msg, &call->udp_sin); |
70 call->sip_tx_count++; | 74 call->sip_tx_count++; |
71 } else { | 75 } else { |
76 syslog(LOG_ERR, | |
77 "Call in%06u: late error retrans timeout"); | |
72 call->sip_state = SIP_STATE_ENDED; | 78 call->sip_state = SIP_STATE_ENDED; |
73 sip_mark_end_time(call, sip_linger_error); | 79 sip_mark_end_time(call, sip_linger_error); |
74 transition_dead_sip(call); | 80 transition_dead_sip(call); |
75 } | 81 } |
76 break; | 82 break; |
78 if (call->sip_tx_count < cfg_retrans_count) { | 84 if (call->sip_tx_count < cfg_retrans_count) { |
79 fill_bye_out_msg(&msg, call); | 85 fill_bye_out_msg(&msg, call); |
80 sip_tx_packet(&msg, &call->udp_sin); | 86 sip_tx_packet(&msg, &call->udp_sin); |
81 call->sip_tx_count++; | 87 call->sip_tx_count++; |
82 } else { | 88 } else { |
89 syslog(LOG_ERR, | |
90 "Call in%06u: BYE-out retrans timeout"); | |
83 call->sip_state = SIP_STATE_ENDED; | 91 call->sip_state = SIP_STATE_ENDED; |
84 sip_mark_end_time(call, sip_linger_error); | 92 sip_mark_end_time(call, sip_linger_error); |
85 transition_dead_sip(call); | 93 transition_dead_sip(call); |
86 } | 94 } |
87 break; | 95 break; |