Hello,
Attached is a patch that implements "swap_direction" parameter of acc
module. If you turn the parameter on in the configuration file:
modparam("acc", "swap_direction", 1)
then the acc module will swap Calling-Station-ID and Called-Station-ID
values when necessary (in this case BYE comming from the callee).
Put the patch in top level source directory (ser-0.9.x) and type:
patch -p0 < swap.patch
The patch should work with any 0.9.x release.
Note that Alan DeKok is wrong in thinking that this is a bug in SER.
This particular problem is a result of incomplete specification of
RADIUS use with SIP. I will commit the patch in CVS so it will be
included in future SER releases.
Jan.
On 23-12-2005 17:10, Lenir wrote:
Please read the reply below from one of the
maintainers of freeradius:
"Lenir" <lenirsantiago(a)yahoo.com> wrote:
But if UserB hangs up on UserA: SER generates a
stop-record where the
Calling-Station-Id is UserB and the Called-Station-Id is UserA, this
is the undesired and incorrect behavior.
It would appear to be a bug in SER.
To me the Calling-Station-Id and the
Called-Station-Id should be the
same for both start and stop records, am I right by thinking that?
Yes.
According to the developers of SER/OpenSER, this
is the correct
behavior, whoever sends the hangup signal (BYE or CANCEL) is
considered the Calling-Station-Id, and they are unwilling to modify or
create a patch to "fix" this.
What they do for something inside of SER is their business. When they
generate RADIUS packets, they should follow RADIUS standards and
interoperability. The expectation, as you said, is that the
Calling/Called-Station-Id doesn't change during a session. If it does, it's
a bug and they should fix it.
Alan DeKok.
-
List info/subscribe/unsubscribe? See
http://www.freeradius.org/list/users.html
-----Original Message-----
From: 'Jan Janak' [mailto:jan@iptel.org]
Sent: Thursday, November 17, 2005 10:33 AM
To: Lenir
Cc: 'Klaus Darilion'; serdev(a)iptel.org; serusers(a)iptel.org;
devel(a)openser.org; users(a)openser.org
Subject: Re: [Users] RE: [Serusers] Re: [Serdev] Inaccurate Radius
Accounting
On 17-11-2005 10:21, Lenir wrote:
In this case the radius proxy wont work, because
you never can anticipate
who hangs up the call, thus radius wont know who hung up the
call...Besides
all other voice applications/hardware (SIP and
H323) that use radius do
not
behave like that, the Called-Station-ID ALWAYS
remains the same, as with
the
Calling-Station-ID.
Could you name those SIP applications that behave the way you describe ?
Jan.