Wrong disposition field in cdr when it gets response 480

hi to all
I m using asterisk I have a problem about disposition values in cdr records.The problem is when I make call if callee rejects sometimes i get response 486 ‘busy here’ and sometimes 480 ‘temporarily unavailable’ as i could understand this response type depends on the phone device type which callee uses.If I get 486 response dialstatus becomes BUSY and disposition field in cdr set to BUSY which is what i expect.But when I get 480 response dialstatus becomes CONGESTION and dispostion field set to ANSWERED.when i type core show function CDR on CLI i saw that there is no raw value defined related with CONGESTION.What can I do to solve this problem?.My users pay for the calls so disposition field is very important to me.
Has anyone faced this problem?