Using checkval for Call Routing with Sippy B2BUA
tobias.wolf at evision.de
Wed Jan 7 14:51:38 CET 2009
i am using FreeRadius 1.1.3 and want to use it for Call Routing.
The Sippy B2BUA will send AAA Requests to RADIUS and i want the routing
based on the Called-Station-Id Attribute.
For the beginning i would like to configure the routes in the users-File
and later switch to an sql backend.
This is my users-File:
b2b Called-Station-Id == 555,Called-Station-Id == 557,Auth-Type :=
'Routing:12345 at 192.168.1.1;expires=30;Codecs:alaw,g.726'
b2b Called-Station-Id == 556,Called-Station-Id == 558,Auth-Type :=
'Routing:12345 at 192.168.1.2;expires=30;Codecs:alaw,g.726'
The Calls will always come from the same user and the called number will
have to decide what SIP Server to use.
If i have only one Called-Station-Id in the check pairs line, i get the
Access-Accept with the reply data.
But since one route can have a lot of numbers i need to be able to have
several Called-Station-Id Entrys. From the description of the checkval
attribute it appeared to me the correct solution.
Apart from this the different number ranges are conncected to different
end users, which i have to find. This will be an accounting issue.
How can this be solved with Freeradius ?
The real user is not known when the INVITE reaches Sippy. Sippy sends
the request to Freeradius with a lot of information, from which
Called-Station-Id will indicate what SIP Server to use and what End User
is associated with the call.
Just want to clarify the whole procedure:
I have several incoming SIP Servers, which sends SIP calls to Sippy.
Each SIP Server will control a certain number range and will send its
servername as Username. The SIP Server have no infomation about which
number belongs to which end user, they forward all calls to Sippy.
The Radius Server will have the information what numbers are associated
with a certain end user and to which sip server a call have to be sent.
The Authorize Request from Sippy should confirm wether the destination
number is valid (is configured for an end user) and replys with the
correct sip server to use and with a special codec list for the call. If
the number is not configured, a Access-Reject is send and the call is
I hope i made myself clear ;)
More information about the Freeradius-Users