You shouldn't receive a DISCONNECT_CONF at all, unless you've sent a
DISCONNECT_REQ before. You surely mean a DISCONNECT_IND. You can indeed use
the Disconnect Reason to find out what's wrong.
Sure, if you've set up your Info Mask properly (certainly seems so), CAPI
should provide you with quite a lot of INFO_INDs. Those, for example,
indicate, which Q.931 message just arrived or can include full Q.931
The one to look for might be the "Cause"-IE which describes the reason for
disconnection -- but normally this one would be converted into a Disconnect
Reason (from the top of my head I think it's 0x34xx) anyway.
Nope, you're on the wrong track here.
0c 00 Total Length (12 bytes)
01 00 Application ID (1)
08 Command (INFO)
83 Subcommand (RESPONSE <--- !!!)
89 00 Message Number (137)
01 03 00 00 PLCI (0x301)
Please keep in mind that this is in little-endian representation. That's the
reason for the numbers to be in the "wrong" order.
So, this most certainly *is not* a message you received from the CAPI. If it
is, something is pretty broken. This is an INFO_RESP, something you
normally use to acknowledge an INFO_IND you just received.
For the Q.931 (or really ETS-300 102) information elements, you might want
to download a copy of the relevant standard, which is available on ETSI's
site for free. Just go to http://www.yqcomputer.com/
for "300 102".