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;