You probably want to look at: http://www.cisco.com/en/US/products/sw/iosswrel/ps1835/products_programming_reference_guide09186a00800b5e17.html and search for the attribute "release-source". ----- Original Message ----- From: "Nir Simionovich" <nirs@m-wise.com> Sent: Tuesday, January 13, 2004 10:56 AM > Hi All, > > Ok, I'm a little stompped here, but I guess one of the "older" > hackerz around can lend a hand. I've been going over the Radius > information returned from GnuGK to the Radius Server, and to be > honest, most of the information is in there. However, I've noticed > that one important field is missing, well, at least if you wanna > debug stuff via your radius server. > > Lets examine how GnuGK logs disconnect causes into the log file: > > 2004/01/12 16:14:37.746 4 ProxyChannel.cxx(373) Q931 Received: { > q931pdu = { > protocolDiscriminator = 8 > callReference = 14794 > from = originator > messageType = ReleaseComplete > IE: Cause - No circuit/channel available = { > 80 a2 .. > } > IE: User-User = { > 25 80 06 00 08 91 4a 00 03 0b 18 11 00 34 30 30 %.....J......400 > 32 63 63 66 30 66 66 66 66 65 38 36 33 01 00 01 2ccf0ffffe863... > 00 08 80 01 00 ..... > } > } > h225pdu = { > h323_uu_pdu = { > h323_message_body = releaseComplete { > protocolIdentifier = 0.0.8.2250.0.3 > callIdentifier = { > guid = 16 octets { > 34 30 30 32 63 63 66 30 66 66 66 66 65 38 36 33 4002ccf0ffffe863 > } > } > presentationIndicator = presentationAllowed <<null>> > screeningIndicator = userProvidedNotScreened > } > h245Tunneling = FALSE > } > } > } > > Right after this DC messages, a CDR is created. Now, in Radius all > you get is: > > h323-setup-time = "h323-setup-time=09:37:52.000 GMT Tue Jan 13 2004" > h323-disconnect-time = "h323-disconnect-time=09:37:56.000 GMT Tue Jan 13 2004" > h323-disconnect-cause = "h323-disconnect-cause=22" > > Now, I'm missing just a very small part of the information that is > provided above, which is the "from =" field. Now, I've managed to > dig around the source and understand that I would need to add a method > to the CallRec class, to get this field then change the following part > of GkAcctLogger::Status RadAcct::LogAcctEvent to look something like > this: > > > if( evt & AcctStop ) { > tm = call->GetDisconnectTime(); > > // New information to be added to CallRec > dcorigin = call->GetDisconnectOrigin(); > > if( tm != 0 ) *pdu += new RadiusAttr(PString("h323-disconnect-time=")+ > AsString(tm),CiscoVendorId, 29); > *pdu += new RadiusAttr(PString("h323-disconnect-cause=")+ > PString(PString::Unsigned, (long)(call->GetDisconnectCause()), 16 ), > CiscoVendorId, 30); > // New field here > *pdu += new RadiusAttr(PString("h323-disconnect-origin=")+ > AsString(dcorigin), [have no idea what to put here yet], [neither here]); > } > > Again, I may be barking up the wrong tree here, but I think that > many people would really like to have this information available > for Radius. ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html _______________________________________________ List: Openh323gk-users@lists.sourceforge.net Archive: http://sourceforge.net/mailarchive/forum.php?forum_id=8549 Homepage: http://www.gnugk.org/