You are internally connect 2 call legs with different billing id.
cdrcombine does its job based on billid parameter.
cdrcombine is not designed to track channels with different billid.
This would require a custom logic.
You may store individual CDRs into database and run whatever logic you need for billing.
Keep in mind you must make a decision for the following:
A calls B: billid1
C calls D: billid2
You connect C with B !
You must run a complex logic to look at call time, answer time, duration, channel id ...
Bottom line:
- cdrcombine does not replace a charging application
- For custom logic you may need to build your own cdr combiner