Hello Christoph,

 

Kamailio is providing a lot of different functions. Some of these functions could be used to implement a network element with features which are forbidden in the RFC 3261 and/or other relevant RFCs.

One of the most prominent examples is e.g., rewriting of From and To headers. It is in the end the responsibility of the implementing person to ensure that the relevant standards in the specific environments are observed.

 

Cheers,

 

Henning

 

From: Valentin Christoph via sr-users <sr-users@lists.kamailio.org>
Sent: Mittwoch, 6. März 2024 12:20
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Cc: Onic Roman <Roman.Onic@kontron.com>; Scherney Theodor <Theodor.Scherney@kontron.com>; Friedrich Peter <Peter.Friedrich@kontron.com>; Wolfgang Gleinser <Wolfgang.Gleinser@kontron.com>; Valentin Christoph <Christoph.Valentin@kontron.com>
Subject: [SR-Users] Question for RFC junkies / kamailio modifying message bodies

 

Hi all,

 

it might be a minor issue, or it might not be an issue at all, but I stumbled over following statements in RFC 3261:

 

Chapter 16.6 Request Forwarding (of a proxy)

 

      1. Copy request
 
         The proxy starts with a copy of the received request.  The copy
         MUST initially contain all of the header fields from the
         received request.  Fields not detailed in the processing
         described below MUST NOT be removed.  The copy SHOULD maintain
         the ordering of the header fields as in the received request.
         The proxy MUST NOT reorder field values with a common field
         name (See Section 7.3.1).  The proxy MUST NOT add to, modify,
         or remove the message body.
 
         An actual implementation need not perform a copy; the primary
         requirement is that the processing for each next hop begin with
         the same request.

 

Chapter 16.7 Response Processing (at a proxy)

 

      9.  Forward response
 
         After performing the processing described in steps "Aggregate
         Authorization Header Field Values" through "Record-Route", the
         proxy MAY perform any feature specific manipulations on the
         selected response.  The proxy MUST NOT add to, modify, or
         remove the message body.  Unless otherwise specified, the proxy
         MUST NOT remove any header field values other than the Via
         header field value discussed in Section 16.7 Item 3.  In
         particular, the proxy MUST NOT remove any "received" parameter

 

On the other hand, everywhere in the Internet (starting with stackoverflow), you can read it is OK, if a SIP proxy modifies a body, and also kamailio allows it.

 

Might be a question for the coffee break.

 

All the best

Christoph