Thanks for the PR. The patch uses standard malloc, which is not the right choice in the tm module. So I understand the problem is that the header is stored inside the transaction as "Call-ID", but the provider sends back it as "CALL-ID"? What about just using then strncasecmp (similar as for the CSEQ) for the Call-Id field? Are you able to test a patch?