[SR-Users] Any substitute or replace function for the request-/response line of SIP messages available?

Klaus Feichtinger klaus.lists at inode.at
Fri Feb 15 21:22:47 CET 2013


Hi,

I have a very specific situation that the implementation of a customer 
SIP user agent is absolutely not standards conform. Therefore, I use 
Kamailio as a SIP protocol adapter between the non-standard conform user 
agent(s) and the typical RFC3261 compliant user agents. Most conversions 
are working fine. But in a very specific scenario I have to 
change/convert a SIP response message to a SIP request message and 
change the SIP method´s name. This conversion is no problem for the SIP 
header fields. However, I haven't found a way for adapting the 
response-/request line of a SIP message. This line seems to be protected.

The described situation of the perverse conversion I try to realize is 
following (please do not ask "why?" or think I'm mad...):
(mad) UA1 == INVITE ==> SIP-Prot-Adapter(Kamailio) == INVITE ==> (typ.)UA2
UA1 <== BYE == SIP-Prot-Adapter(Kamailio) <== 488 == (typ.)UA2
UA1 == BYE ==> SIP-Prot-Adapter(Kamailio) == ACK ==> (typ.)UA2

I use the "textops" module for substitution and/or replacement in SIP 
header fields. But the "subst" and "replace" functions cannot be used 
for the request-/response line on top of the SIP messages. I was a 
little bit irritated, as the "search" function is still working on these 
lines, but not the subst/replace function. Creating a new SIP message 
with the UAC module (as alternative) is not okay, as this new message 
does not use the same values for Call-ID, From-tag a.s.o. and these 
values can't be changed before sending the message.

Does anybody know a way / function / method for manipulating the 
request-/response line of a message? It would be perfect using a 
function á la "sed"/subst.

Thanks
Klaus

P.S. I tested with kamailio-3.3.3



More information about the sr-users mailing list