Re: RadAcct and Q.931 Disconnect Causes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [SIP]     [Open H.323]     [Gnu Gatekeeper]     [Asterisk PBX]     [ISDN Cause Codes]     [Yosemite News]

  Powered by Linux