Hi community,
I’m using an MGCF that creates From tags like **%%!!MYOFFICE++00!!%%**A0F1F1BA
Now the special characters “%%” are allowed in tags (i.e. “token” according to RFC 3261),
token = 1*(alphanum / "-" / "." / "!" / "%" / "*"
/ "_" / "+" / "`" / "'" / "~" )
but they are NOT allowed in URI parameters according to RFC 3261
uri-parameter = transport-param / user-param / method-param
/ ttl-param / maddr-param / lr-param / other-param
other-param = pname [ "=" pvalue ]
pname = 1*paramchar
pvalue = 1*paramchar
paramchar = param-unreserved / unreserved / escaped
param-unreserved = "[" / "]" / "/" / ":" / "&" / "+" / "$"
unreserved = alphanum / mark
mark = "-" / "_" / "." / "!" / "~" / "*" / "'"
/ "(" / ")"
escaped = "%" HEXDIG HEXDIG
which makes the MGCF ignore the whole RR header and sending subsequent requests directly to the peer SIP UA, instead of sending it to the CSCF.
Hence it’s not OK to just copy the From tag into the ftag parameter, imho.
We did a workaround in the MGCF, now sending **~~!!MYOFFICE++00!!~~**A0F1F1BA, but strictly spoken the kamailio S-CSCF is not compliant to RFC 3261.
What’s your opinion? Is there an configuration option to make it compliant?
All the best
Christoph