Module: kamailio
Branch: 6.1
Commit: 95a51ee7b098ced29ed372ba1ba05973a73223a3
URL: 
https://github.com/kamailio/kamailio/commit/95a51ee7b098ced29ed372ba1ba05973a73223a3

Author: herlesupreeth <[email protected]>
Committer: Victor Seva <[email protected]>
Date: 2026-03-01T15:48:48+01:00

ims_qos: fix in-dialog requests by removing comparison of SDP stream number and 
direction

(cherry picked from commit 2faeae906b182b9f2bf0e79dd073e3de99a3f3cc)

---

Modified: src/modules/ims_qos/rx_aar.c
Modified: src/modules/ims_qos/rx_authdata.c
Modified: src/modules/ims_qos/rx_authdata.h

---

Diff:  
https://github.com/kamailio/kamailio/commit/95a51ee7b098ced29ed372ba1ba05973a73223a3.diff
Patch: 
https://github.com/kamailio/kamailio/commit/95a51ee7b098ced29ed372ba1ba05973a73223a3.patch

---

diff --git a/src/modules/ims_qos/rx_aar.c b/src/modules/ims_qos/rx_aar.c
index 802c8869974..43701ba20bb 100644
--- a/src/modules/ims_qos/rx_aar.c
+++ b/src/modules/ims_qos/rx_aar.c
@@ -681,9 +681,8 @@ int add_media_components(AAAMessage *aar, struct sip_msg 
*req,
                                                }
 
                                                
if(!flow_description_exists(p_session_data,
-                                                                  
sdp_stream_num + 1, &req_sdp_stream->media,
-                                                                  &ipA, 
&portA, &ipB, &portB,
-                                                                  
&rpl_sdp_stream->transport, direction,
+                                                                  
&req_sdp_stream->media, &ipA, &portA, &ipB,
+                                                                  &portB, 
&rpl_sdp_stream->transport,
                                                                   
in_current_flow_description_list)) {
                                                        // Flow description 
does not exist in the list of flow descriptions to be added. So we add it to 
auth session data.
                                                        
add_flow_description(p_session_data,
diff --git a/src/modules/ims_qos/rx_authdata.c 
b/src/modules/ims_qos/rx_authdata.c
index 3cad0a87966..c18bd361a9a 100644
--- a/src/modules/ims_qos/rx_authdata.c
+++ b/src/modules/ims_qos/rx_authdata.c
@@ -390,10 +390,10 @@ int add_flow_description(rx_authsessiondata_t 
*session_data, int stream_num,
  * Returns 1 if flow description exists, 0 otherwise.
  * Comparison is based on all relevant flow description parameters.
  */
-int flow_description_exists(rx_authsessiondata_t *session_data, int stream_num,
-               str *media, str *req_sdp_ip_addr, str *req_sdp_port,
-               str *rpl_sdp_ip_addr, str *rpl_sdp_port, str *rpl_sdp_transport,
-               int direction, int current_flow_description_list)
+int flow_description_exists(rx_authsessiondata_t *session_data, str *media,
+               str *req_sdp_ip_addr, str *req_sdp_port, str *rpl_sdp_ip_addr,
+               str *rpl_sdp_port, str *rpl_sdp_transport,
+               int current_flow_description_list)
 {
 
        flow_description_t *fd;
@@ -408,18 +408,6 @@ int flow_description_exists(rx_authsessiondata_t 
*session_data, int stream_num,
        }
 
        while(fd) {
-               /* Compare stream number. */
-               if(fd->stream_num != stream_num) {
-                       fd = fd->next;
-                       continue;
-               }
-
-               /* Compare direction. */
-               if(fd->direction != direction) {
-                       fd = fd->next;
-                       continue;
-               }
-
                /* Compare media. */
                if(media
                                && (fd->media.len != media->len
diff --git a/src/modules/ims_qos/rx_authdata.h 
b/src/modules/ims_qos/rx_authdata.h
index c30a5d344fa..6d6f864df24 100644
--- a/src/modules/ims_qos/rx_authdata.h
+++ b/src/modules/ims_qos/rx_authdata.h
@@ -122,10 +122,10 @@ int add_flow_description(rx_authsessiondata_t 
*session_data, int stream_num,
                str *req_sdp_raw_stream, str *rpl_sdp_raw_stream, int direction,
                int current);
 void free_flow_description(rx_authsessiondata_t *session_data, int current);
-int flow_description_exists(rx_authsessiondata_t *session_data, int stream_num,
-               str *media, str *req_sdp_ip_addr, str *req_sdp_port,
-               str *rpl_sdp_ip_addr, str *rpl_sdp_port, str *rpl_sdp_transport,
-               int direction, int current_flow_description_list);
+int flow_description_exists(rx_authsessiondata_t *session_data, str *media,
+               str *req_sdp_ip_addr, str *req_sdp_port, str *rpl_sdp_ip_addr,
+               str *rpl_sdp_port, str *rpl_sdp_transport,
+               int current_flow_description_list);
 
 void show_callsessiondata(rx_authsessiondata_t *session_data);
 

_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to