FreeCalypso > hg > themwi-system-sw
diff sip-out/invite.c @ 163:bfa9f0c0f0ac
sip-out: handle incoming BYE as UAS
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 12 Oct 2022 14:45:31 -0800 |
parents | 51cf5ea7f320 |
children |
line wrap: on
line diff
--- a/sip-out/invite.c Wed Oct 12 13:44:16 2022 -0800 +++ b/sip-out/invite.c Wed Oct 12 14:45:31 2022 -0800 @@ -152,7 +152,7 @@ disconnect_mncc(call, GSM48_CAUSE_LOC_PRN_S_LU, GSM48_CC_CAUSE_DEST_OOO); disconnect_tmgw(call); - call->sip_state = SIP_STATE_ENDED; + call->sip_state = SIP_STATE_MSG_SIZE_ERR; sip_mark_end_time(call, sip_linger_response_err); return; } @@ -212,7 +212,7 @@ syslog(LOG_CRIT, "ACK to %03u response exceeds msg size!", msg->status_code); - call->sip_state = SIP_STATE_ENDED; + call->sip_state = SIP_STATE_MSG_SIZE_ERR; sip_mark_end_time(call, sip_linger_response_err); return; } @@ -221,6 +221,7 @@ initiate_bye(call); return; case SIP_STATE_ENDED: + case SIP_STATE_MSG_SIZE_ERR: return; default: syslog(LOG_CRIT, @@ -315,6 +316,8 @@ { int rc; + if (call->sip_state == SIP_STATE_MSG_SIZE_ERR) + return; rc = send_ack(call, tag, sin); if (rc < 0) syslog(LOG_CRIT, "ACK to %03u response exceeds msg size!",