Ok I found the issue with the INVITE, it doesn't have multiple "From" headers. But it does have a "From-Person:12345" header that we use to track the customer id that initiated the call. So that explains why calls from a PSTN source didn't have the issue.
I tried a change to our system to change the header from "From-Person" to "Src-Person" and it that works fine on 5.4.2 no more duplicate From header error the Callee gets the CANCEL msg just fine.
So Kamailio is maybe doing a "starts with" type match when finding the "From" header then as of 5.3? Is that correct? We've had this header in place for years now an only with this upgrade have the error. Is Kamailio behaving properly here? I've searched but couldn't find anything in that would suggest headers starting with "From" to be not allowed.
Here is the original INVITE ( From-Person header is second to last ) ``` INVITE sip:john.webrtc@bf96cc.domain.com SIP/2.0 v:SIP/2.0/UDP a.b.c.d:5081;rport;branch=z9hG4bKgZ5FU4aUKXjXm Route:sip:kam3.rtp.lax.domain.net:5060 Max-Forwards:68 f:"user 1002"sip:+1002@bf96cc.domain.com;tag=8FUg427jU6pva t:sip:john.webrtc@bf96cc.domain.com i:98fa8010-afa4-1239-1dba-ea02c604123e CSeq:28924569 INVITE m:sip:mod_sofia@206.15.136.103:5081 User-Agent:fs Allow:INVITE,ACK,BYE,CANCEL,OPTIONS,MESSAGE,INFO,UPDATE,REGISTER,REFER,NOTIFY,PUBLISH,SUBSCRIBE k:timer,path,replaces u:talk,hold,conference,presence,as-feature-event,dialog,line-seize,call-info,sla,include-session-description,presence.winfo,message-summary,refer c:application/sdp Content-Disposition:session l:482 From-Person:12345 Remote-Party-ID:"user 1002"sip:+1002@bf96cc.domain.com;party=calling;screen=yes;privacy=off
<SDP DATA> ```