Hi Peter,

Failed it is mentioned in RFC2866. To explain to you a bit how SER/ OpenSER typically works and it is in service for may years.

Scenario 1

- Call starts - generates a start packet
- Cals stops - generates a stop packet

Scenario 2

- Call fails without starting - generates a failed packet, which allows you to specify a custom database query different than the start query


This behaviour is typically used by SER/OpenSER community for years. It has nothing to do with Cisco and vendors specific attributes. It is a situation where Accounting type Failed simply make sense and there are countless numbers of VoIP deployments out there making good use of it.

Now, as many things in SIP, RFCs are not always the place to look for real life problems and their solutions. Many RFCs have been written before decent field experience existed in the field and did not cover the out-of-the lab requirements. By obeying blindly to what some RFC mentions or lacks to mention it would mean that the progress of mankind will be at the hand of some people with time and interest to write RFCs.

Once a technology gets adopted nobody has time anymore for standardisation as it did before adoption. Radius was once an AAA tool for dial-up networks. SIP and VoIP came later and this mailing lists gives you feedback about it.

Changing 10 lines of code will make many people praise Freeradius for its good work for the fast growing VoIP/SIP community and will not break anything else. Otherwise it should be no wonder why some switch to radiator who seem to care more about what people really need in place of what is missing from the RFCs.

Adrian

On Nov 17, 2006, at 4:51 PM, Peter Nixon wrote:

On Fri 17 Nov 2006 15:00, Juha Heinanen wrote:
peter,

you suggested to use accounting stop request for failed sip requests.
that is not a good idea, because what didn't start cannot stop either.

in other words, my stop records contain only a small number of
attributes enough to match the start record that holds many more
attributes.  in case of failed request, i don't have a corresponding
start record, but i do need all the same attributes in failed request
that i have in start request.

Hi Juha

The amount of attributes that your (I guess you mean openser) stop records _currently_ contain have nothing to do with the issue at all. (Most NAS infact put much MORE info into the Stop records than the Start ones as that
is typically the record you use for billing)

My suggestion was to simply have the Failed records be of
Acct-Status-Type "Stop". The RFC does not state that there has to be a Start record in order for there to be a Stop record and this is how most vendors do it. (If you wish to add an extra attribute that includes the word "Failed"
then by all means do so..)

Here is an example Start and Stop record from a Cisco 53XX series running
H.323 (Sorry don't have any production SIP installations at present)

Please take note of "Cisco-AVPair" attributes which may contain arbitary data
(according the Cisco's dictionary) and the length of the records

Sat Oct 16 06:38:54 2006
        Acct-Session-Id = "00BA5EC6"
        h323-setup-time = "16:36:05.023 GMT+2 Sat Oct 16 2006"
        h323-gw-id = "gw1-5300."
        h323-conf-id = "A6C16E86 205211D9 87870003 BA6B5AFA"
        h323-call-origin = "originate"
        h323-call-type = "Telephony"
Cisco-AVPair = "h323-incoming-conf-id=A6C16E86 205211D9 87870003
BA6B5AFA"
        Cisco-AVPair = "subscriber=Unknown"
        Cisco-AVPair = "out-intrfc-desc="
        Cisco-AVPair = "gw-rxd-cdn=ton:0,npi:0,#:696990535792987"
        User-Name = "195.2.2.1"
        Acct-Status-Type = Start
        NAS-Port-Type = Async
        Cisco-NAS-Port = "ISDN 1:D:1"
        NAS-Port = 0
        Called-Station-Id = "696990535792987"
        Service-Type = Login-User
        NAS-IP-Address = 212.1.1.1
        Acct-Delay-Time = 5
        Client-IP-Address = 212.1.1.1
        Acct-Unique-Session-Id = "0657b177760ba193"

Sat Oct 16 06:38:55 2006
        Acct-Session-Id = "00BA5EC6"
        h323-setup-time = "16:36:05.023 GMT+2 Sat Oct 16 2006"
        h323-gw-id = "gw1-5300."
        h323-conf-id = "A6C16E86 205211D9 87870003 BA6B5AFA"
        h323-call-origin = "originate"
        h323-call-type = "Telephony"
Cisco-AVPair = "h323-incoming-conf-id=A6C16E86 205211D9 87870003
BA6B5AFA"
        Cisco-AVPair = "subscriber=Unknown"
        Cisco-AVPair = "out-intrfc-desc="
        Cisco-AVPair = "gw-rxd-cdn=ton:0,npi:0,#:696990535792213"
        Acct-Input-Octets = 440
        Acct-Output-Octets = 0
        Acct-Input-Packets = 22
        Acct-Output-Packets = 0
        Acct-Session-Time = 0
        h323-connect-time = "16:36:05.675 GMT+2 Sat Oct 16 2006"
        h323-disconnect-time = "16:36:05.675 GMT+2 Sat Oct 16 2006"
        h323-disconnect-cause = "1C"
        Cisco-AVPair = "h323-ivr-out=Tariff:Unknown"
        Cisco-AVPair = "release-source=3"
        h323-voice-quality = "0"
        Cisco-AVPair = "gw-final-xlated-cdn=ton:0,npi:0,#:05357111111"
        Cisco-AVPair = "charged-units=0"
        Cisco-AVPair = "disconnect-text=invalid number (28)"
        Cisco-AVPair = "peer-address=696990535792987"
        Cisco-AVPair = "info-type=speech"
        Cisco-AVPair = "peer-id=69691"
        Cisco-AVPair = "peer-if-index=280"
        Cisco-AVPair = "logical-if-index=105"
        Cisco-AVPair = "acom-level=20"
        Cisco-AVPair = "coder-type-rate=g729r8"
        Cisco-AVPair = "noise-level=0"
        Cisco-AVPair = "voice-tx-duration=0 ms"
        Cisco-AVPair = "tx-duration=0 ms"
        User-Name = "195.2.2.2"
        Acct-Status-Type = Stop
        NAS-Port-Type = Async
        Cisco-NAS-Port = "ISDN 1:D:1"
        NAS-Port = 0
        Called-Station-Id = "696990535792987"
        Service-Type = Login-User
        NAS-IP-Address = 212.1.1.1
        Acct-Delay-Time = 5
        Client-IP-Address = 212.1.1.1
        Acct-Unique-Session-Id = "0657b177760ba193"

Cheers

--

Peter Nixon
http://www.peternixon.net/
PGP Key: http://www.peternixon.net/public.asc

_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to