You could install syslog (as explained in comment #1 on the page linked above). After a call is unexpectedly terminated, look at the log and see if you have "CMT rst line change detected" somewhere.
It may still be a hardware fault, or a bug in the deepest internals of the GSM software.
Just found this by chance: https://bugs.maemo.org/show_bug.cgi?id=9056
You could install syslog (as explained in comment #1 on the page linked above). After a call is unexpectedly terminated, look at the log and see if you have "CMT rst line change detected" somewhere.
It may still be a hardware fault, or a bug in the deepest internals of the GSM software.