Thanks, your recomendations are implemented in new commits. Realy, I think, that free() is called in function, that destroys avp, but when I inspect usr_avp, I understood that I done a mistake. Similary, I added correct processing of malloc() errors, malloc() and free() was replaced to pkg_malloc() and pkg_free() respectively. I look at SIP-AVP processing and found one mistake (for '#' in string value case, Im not considered this option), and this corrected too in new commits. In my oppinion, not using memory allocation in this section will be very traumatic for kamailio, because we dont know, in which place in memory we place our string values.

Discussion question: some vendors (as Cisco) put name in value too. Cisco placed '=' between name part of value and value part of value. Some other vendors may put some other symbols. In my code I checking '=',':' and '#' by analogy with SIP-AVP pair syntax. Whether it is necessary or not?


Reply to this email directly or view it on GitHub.