Module: kamailio Branch: master Commit: 18410da04c7f7bbc9628820427fedb92cf893526 URL: https://github.com/kamailio/kamailio/commit/18410da04c7f7bbc9628820427fedb92...
Author: Theo theodor.scherney@kapsch.net Committer: Theo theodor.scherney@kapsch.net Date: 2020-12-17T14:32:39+01:00
tm: 200 OK not processed correctly by Proxy after final non-2xx
Description: Problem: Forwarding of 200 OK while sent 488 waits for ACK, destroys the UAS send buffer Scenario: During suspension of 200 OK by ims_qos module function Rx_AAR() at terminating PCSCF, The PCRF sends an AA Answer with result code DIAMETER_TOO_BUSY (3004), which triggers the PCSCF to send a 488 âSorry no QoS availableâ to the originating side (ims_dialog module function dlg_terminate()). Afterwards neither the 200 OK nor the ACK(488) is processed correctly by the PCSCF. Solution: The UAS send buffer should not be overwritten during processing of 200 OK, because non-2xx is needed to associate the ACK message in a correct way. 200 OK must be forwarded statelessly. Side-Effect (potentially breaks existing function): Some callbacks cannot be called for the 200 OK, to avoid messing the stored 488.
---
Modified: src/modules/tm/t_reply.c
---
Diff: https://github.com/kamailio/kamailio/commit/18410da04c7f7bbc9628820427fedb92... Patch: https://github.com/kamailio/kamailio/commit/18410da04c7f7bbc9628820427fedb92...