hi all,
reading acc modules README:
* There is no session accounting -- OpenSER maintains no sessions. If one needs to correlate INVITEs with BYEs for example for purpose of billing, then it is better done in the entity which collects accounting information. Otherwise, SIP server would have to become sessions-stateful, which would very badly impact its scalability.
so it's impossible to do radius accounting for billing purpose? i need a B2BUA for that? any hints?
anyway i'm trying radius acct
this is my problem:
0(25586) ACC: transaction answered: call_id=d3cd352603256e75@ua1, totag=360701152, from="222" sip:222@mysip;tag=d288f8fc7ea68a04, i-uri=sip:111@ss:5060, method=BYE, o-uri=sip:111@ss:5060, fromtag=d288f8fc7ea68a04, code=200, to=sip:111@mysip;tag=360701152, uid=n/a, userpart=111 0(25586) ERROR: acc_rad_request: radius-ing failed
i've activated all possible debug but i received only this message about radius. i'm trying to activate debug for radiusclient
this is my setup:
FreeBSD 6.1 OpenSER 1.0.1 radiusclient-0.5.2
thank you
tele writes:
so it's impossible to do radius accounting for billing purpose? i need a B2BUA for that? any hints?
in order to do reliable accounting by any means, you need to be able to control the media flow. perhaps you could try to force all media traffic through mediaproxy.
-- juha
tele writes:
so it's impossible to do radius accounting for billing purpose? i need a B2BUA for that? any hints?
in order to do reliable accounting by any means, you need to be able to control the media flow. perhaps you could try to force all media traffic through mediaproxy.
i'm still a littlebit confused ;)
scenario:
SBC --> OpenSER --> PSTN
SBC - do the nat traversal OpenSER - only signaling didn't know about media
is there a way to do accounting for billing purpose from OpenSER?
tnx
:tele
If it's enough billing ip traffic, than YES... If You want to bill only PSTN access, then You have two options: 1) get account info (through radius? Maybe...) from the GWs (this gives better scalability and are more reliable); and 2) make all traffic pass through a media-proxy (the problem here is scalability).
As You see, all depends on Your needs...
Edson.
-----Original Message----- From: users-bounces@openser.org [mailto:users-bounces@openser.org] On Behalf Of tele@plexia.com Sent: sexta-feira, 16 de junho de 2006 17:40 To: users@openser.org Subject: Re: [Users] radius accounting problem
tele writes:
so it's impossible to do radius accounting for billing purpose? i need a B2BUA for that? any hints?
in order to do reliable accounting by any means, you need to be able to control the media flow. perhaps you could try to force all media traffic through mediaproxy.
i'm still a littlebit confused ;)
scenario:
SBC --> OpenSER --> PSTN
SBC - do the nat traversal OpenSER - only signaling didn't know about media
is there a way to do accounting for billing purpose from OpenSER?
tnx
:tele
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
tele@plexia.com writes:
SBC --> OpenSER --> PSTN
SBC - do the nat traversal OpenSER - only signaling didn't know about media
is there a way to do accounting for billing purpose from OpenSER?
if you can trust sbc and pstn gw and if you are sure that openser will always receive a bye when call ends even if sbc or pstn gw or both fail, you can use openser acc module to collect start and stop accounting records for the calls.
-- juha
tele@plexia.com writes:
SBC --> OpenSER --> PSTN
SBC - do the nat traversal OpenSER - only signaling didn't know about media
is there a way to do accounting for billing purpose from OpenSER?
if you can trust sbc and pstn gw and if you are sure that openser will always receive a bye when call ends even if sbc or pstn gw or both fail, you can use openser acc module to collect start and stop accounting records for the calls.
yes i always record_route messages. can i collect only stop message? no because OpenSER doesn't maintain session.
On 06/17/06 14:58, tele@plexia.com wrote:
tele@plexia.com writes:
SBC --> OpenSER --> PSTN
SBC - do the nat traversal OpenSER - only signaling didn't know about media
is there a way to do accounting for billing purpose from OpenSER?
if you can trust sbc and pstn gw and if you are sure that openser will always receive a bye when call ends even if sbc or pstn gw or both fail, you can use openser acc module to collect start and stop accounting records for the calls.
yes i always record_route messages. can i collect only stop message? no because OpenSER doesn't maintain session.
Yes, you can collect stop messages. They correspond to the BYE SIP message, so just configure acc to record only BYE messages.
Cheers, Daniel
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Daniel-Constantin Mierla wrote:
Yes, you can collect stop messages. They correspond to the BYE SIP message, so just configure acc to record only BYE messages.
Ok great!
Someone can tell me how can i debug the radiusclient?
0(25586) ERROR: acc_rad_request: radius-ing failed
this is a really annoying message. i've also tried with "truss" of FreeBSD (like strace) but same result. no more info :(
thanks!
:tele
On 06/19/06 15:14, tele wrote:
Daniel-Constantin Mierla wrote:
Yes, you can collect stop messages. They correspond to the BYE SIP message, so just configure acc to record only BYE messages.
Ok great!
Someone can tell me how can i debug the radiusclient?
0(25586) ERROR: acc_rad_request: radius-ing failed
this is a really annoying message. i've also tried with "truss" of FreeBSD (like strace) but same result. no more info :(
The logs of radiusclient are written in syslog. Can you see some messages there. Look at your RADIUS server logs, maybe you can get some hints there, too.
Cheers, Daniel
thanks!
:tele
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Daniel-Constantin Mierla wrote: The logs of radiusclient are written in syslog. Can you see some messages there. Look at your RADIUS server logs, maybe you can get some hints there, too.
ok in the syslog i can see:
Jun 19 20:09:35 psip openser: rc_avpair_new: unknown attribute 5
i think some problem with my dictionary file. i don't understand where is attribute 5 or what is refer.
:tele
here my dictionary file:
#### Attributes ### ATTRIBUTE User-Name 1 string # RFC2865, acc, auth_radius, avp_radius, group_radius, uri_radius ATTRIBUTE Service-Type 6 integer # RFC2865, acc, auth_radius, avp_radius, group_radius, uri_radius ATTRIBUTE Called-Station-Id 30 string # RFC2865, acc ATTRIBUTE Calling-Station-Id 31 string # RFC2865, acc ATTRIBUTE Acct-Status-Type 40 integer # RFC2865, acc ATTRIBUTE Acct-Session-Id 44 string # RFC2865, acc ATTRIBUTE Sip-Method 101 integer # Schulzrinne, acc ATTRIBUTE Sip-Response-Code 102 integer # Schulzrinne, acc ATTRIBUTE Sip-Cseq 103 string # Schulzrinne, acc ATTRIBUTE Sip-To-Tag 104 string # Schulzrinne, acc ATTRIBUTE Sip-From-Tag 105 string # Schulzrinne, acc ATTRIBUTE Sip-Translated-Request-URI 107 string # Proprietary, acc ATTRIBUTE Digest-Response 206 string # Sterman, auth_radius ATTRIBUTE Sip-Uri-User 208 string # Proprietary, auth_radius ATTRIBUTE Sip-Group 211 string # Proprietary, group_radius ATTRIBUTE Sip-Rpid 213 string # Proprietary, auth_radius ATTRIBUTE SIP-AVP 225 string # Proprietary, avp_radius ATTRIBUTE Digest-Realm 1063 string # Sterman, auth_radius ATTRIBUTE Digest-Nonce 1064 string # Sterman, auth_radius ATTRIBUTE Digest-Method 1065 string # Sterman, auth_radius ATTRIBUTE Digest-URI 1066 string # Sterman, auth_radius ATTRIBUTE Digest-QOP 1067 string # Sterman, auth_radius ATTRIBUTE Digest-Algorithm 1068 string # Sterman, auth_radius ATTRIBUTE Digest-Body-Digest 1069 string # Sterman, auth_radius ATTRIBUTE Digest-CNonce 1070 string # Sterman, auth_radius ATTRIBUTE Digest-Nonce-Count 1071 string # Sterman, auth_radius ATTRIBUTE Digest-User-Name 1072 string # Sterman, auth_radius
### CISCO Vendor Specific Attributes ### VENDOR Cisco 9 ATTRIBUTE Cisco-AVPair 1 string Cisco # VSA, auth_radius
### Acct-Status-Type Values ### VALUE Acct-Status-Type Start 1 # RFC2866, acc VALUE Acct-Status-Type Stop 2 # RFC2866, acc VALUE Acct-Status-Type Failed 15 # RFC2866, acc
### Service-Type Values ### VALUE Service-Type Call-Check 10 # RFC2865, uri_radius VALUE Service-Type Group-Check 12 # Proprietary, group_radius VALUE Service-Type Sip-Session 15 # Schulzrinne, acc, auth_radius VALUE Service-Type SIP-Caller-AVPs 30 # Proprietary, avp_radius VALUE Service-Type SIP-Callee-AVPs 31 # Proprietary, avp_radius
ok in the syslog i can see:
Jun 19 20:09:35 psip openser: rc_avpair_new: unknown attribute 5
i think some problem with my dictionary file. i don't understand where is attribute 5 or what is refer.
Ok guys i've solved my problem. after tried the radius authentication i've saw in the syslog the message:
Jun 22 13:06:07 psip openser: rc_get_seqnbr: fscanf failure: /var/run/radius.seq
nothing works.. auth or acc. i'm running openser as root now, so i don't know why about permission problem with /var/run/radius.seq changed permission: chmod 777 /var/run/radius.seq everything work.
now i have another question ;)
how can i send only STOP accounting packet? modparam("acc", "report_ack", 0) i set this but START accounting packet are always sent
my billing server doesn't "reassemble" START and STOP packet so i need only the STOP accounting with a connect-time and disconnect-time. what i want to accomplish is to have in the radius acct something like that:
h323-setup-time = '13:05:25 GMT Thu Jun 22 2006' h323-connect-time = '13:05:53 GMT Thu Jun 22 2006' h323-disconnect-time = '13:06:09 GMT Thu Jun 22 2006' h323-disconnect-cause = '10' it's ok also with timestamp format
ok for add paramater i can use modparam("acc", "radius_extra", "rad_attr=$si")
but what if i want setup connect and disconnect-time or the cause? maybe i can store timestamp in avp when i receive an INVITE | ACK | BYE. so i think i can do this: modparam("acc", "radius_extra", "h323-setup-time=$avp($setup_time)") modparam("acc", "radius_extra", "h323-connect-time=$avp($connect_time)") modparam("acc", "radius_extra", "h323-disconnect-time=$avp($disconnect_time)")
and store in the AVP using the $Ts pseudo-variable
another problem in the accounting request is:
User-Name = '111@mydomain' Called-Station-Id = 'sip:222@mydomain' Calling-Station-Id = 'sip:111@mydomain'
is it possible to change this for to be:
User-Name = '111' Called-Station-Id = '222' Calling-Station-Id = '111'
best regards,
:tele
Juha Heinanen wrote:
tele writes:
so it's impossible to do radius accounting for billing purpose? i need a B2BUA for that? any hints?
in order to do reliable accounting by any means, you need to be able to control the media flow. perhaps you could try to force all media traffic through mediaproxy.
I understand that having control of the media flow is needed for reliable accounting - i.e. detecting calls which have completed but for which no BYE packet was received. However, how can this be done with mediaproxy? Or do you mean the commercial version of mediaproxy with accounting support?
Jeff
Jeff Williams writes:
I understand that having control of the media flow is needed for reliable accounting - i.e. detecting calls which have completed but for which no BYE packet was received. However, how can this be done with mediaproxy? Or do you mean the commercial version of mediaproxy with accounting support?
when proxy receives bye, it can call end_media_session, which terminates media flow. this, however, only solves part of the problem.
my advice is to forget about accounting of sip2sip calls.
-- juha