Hi Oded, I would better use uac_replace_from like described in the Kamailio wiki. (link below) This function takes also care of rewriting it back AFAIK.
http://www.kamailio.org/wiki/tutorials/faq/main#how_to_set_different_header_va Cheers Karsten Horsmann Oded Arbel <[email protected]> schrieb am So., 26. Mai 2019, 17:02: > I'm trying to rewrite the `From` header in an invite going out to an > external system (*), by calling remove_hf("From"); > followed by > append_hf("From: <some value>\r\n"); > > but the result is an invalid SIP message, because apparently after > `remove_hf()` finishes, it leaves the content of $fU in place of the > `From` header - just the raw text, without a header name or even a > "\r\n" - and that eats the next header line and breaks the INVITE. > > Here is how the INVITE originally looks (without either `remove_hf()` > or `append_hf()`): > > ---8<--- > INVITE sip:[email protected]:5060 SIP/2.0 > Record-Route: <sip:10.90.80.70;lr;did=649.f0b> > Via: SIP/2.0/UDP > 10.90.80.70:5060;branch=z9hG4bK6188.ff5c4fd855bd2970fdf32d4807b114c2.0 > Via: SIP/2.0/UDP > 10.90.80.71:5066;received=10.90.80.71;branch=z9hG4bK581897a4;rport=5066 > Max-Forwards: 69 > From: <sip:[email protected]:5066>;tag=as0bcee217 > To: <sip:[email protected]:5060> > Contact: <sip:[email protected]:5066> > Call-ID: [email protected]:5066 > CSeq: 102 INVITE > User-Agent: Asterisk PBX 14.7.2 > Date: Sun, 26 May 2019 14:42:52 GMT > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, > INFO, PUBLISH, MESSAGE > Supported: replaces > X-CID: ad199638-4df3-4aef-81f1-1b50581032a7 > Content-Type: application/sdp > Content-Length: 280 > > v=0 > o=root 817636675 817636675 IN IP4 10.50.60.70 > s=Asterisk PBX 14.7.2 > c=IN IP4 10.50.60.70 > t=0 0 > m=audio 39064 RTP/AVP 8 0 18 9 > a=maxptime:60 > a=rtpmap:8 PCMA/8000 > a=rtpmap:0 PCMU/8000 > a=rtpmap:18 G729/8000 > a=rtpmap:9 G722/8000 > a=sendrecv > a=rtcp:39065 > a=ptime:20 > ---8<--- > > and here is another call with the same setup, with just > `remove_hf("From");` being invoked (without calling `append_hf()` - > this is just for reproduction): > > ---8<--- > INVITE sip:[email protected]:5060 SIP/2.0 > Record-Route: <sip:10.90.80.70;lr;did=f45.91b1> > Via: SIP/2.0/UDP > 10.90.80.70:5060;branch=z9hG4bK024d.2690ebf7a809edca2208e6b2561ccf9e.0 > Via: SIP/2.0/UDP > 10.90.80.71:5066;received=10.90.80.71;branch=z9hG4bK79ae3073;rport=5066 > Max-Forwards: 69 > 972515340014To: <sip:[email protected]:5060> > Contact: <sip:[email protected]:5066> > Call-ID: [email protected]:5066 > CSeq: 102 INVITE > User-Agent: Asterisk PBX 14.7.2 > Date: Sun, 26 May 2019 14:44:20 GMT > Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, > INFO, PUBLISH, MESSAGE > Supported: replaces > X-CID: ffbb4ac1-3a0f-4dd6-9ce9-7ad24361081a > Content-Type: application/sdp > Content-Length: 280 > > v=0 > o=root 509740923 509740923 IN IP4 10.50.60.70 > s=Asterisk PBX 14.7.2 > c=IN IP4 10.50.60.70 > t=0 0 > m=audio 39102 RTP/AVP 8 0 18 9 > a=maxptime:60 > a=rtpmap:8 PCMA/8000 > a=rtpmap:0 PCMU/8000 > a=rtpmap:18 G729/8000 > a=rtpmap:9 G722/8000 > a=sendrecv > a=rtcp:39103 > a=ptime:20 > ---8<--- > > As you can see, the `From` header is indeed gone, but it left the $fU > just before the `To` header. > > WTF? > > I'm running Kamailio 5.2.2 built locally. > > Notes: > *) the problem I'm trying to solve is that I can't get my Asterisk > installation to generate the `From` header I want, the reason is out > of scope of this question, so I'm sending custom SIP headers over to > Kamaiio and I want to rewrite the header in Kamailio to the "correct" > value. > > -- > Oded Arbel > > _______________________________________________ > Kamailio (SER) - Users Mailing List > [email protected] > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >
_______________________________________________ Kamailio (SER) - Users Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
