We are implementing radius authentication
on our GnuGK’s and in general, it all seems to be
working well. However; we have a client who uses MediaRing for directing calls to us. The SourceCallSignalAddress is not being passed in the h225pdu
IE block which is causing us to fail radius
authentication.
If we set ‘RadAliasAuth=optional; Setup’ with ‘default=allow’, then the
calls will process fine from this client. So it is obvious that within the GnuGK coding, the SourceCallSignalingAddress can be acquired from another IE
block if it is not present in the h225pdu IE block. It appears that radauth.c will only look in the h225pdu for the SourceCallSignalAddress. Is there a known patch for radauth.c to enable it to look in alternate places for the
SourceCallSignalingAddress ?
I am including the following example for a call from this
client. IE: Called-Party-Number =
{ 81 34 37 30
30 36 33 39 32 32
34 32 39 31 38 35 . 8722363922429185 32
2
} IE: User-User =
{ 20 80 06 00 08
91 4a 00
04 00 80 8e 1f 3d 98 6a
.....J......=.j 42 11 d9 a4 a7
fd 31 19 c2 c9 22 00 c9 1c 00 00
B.....1..."..... 11 00 8e 1f 3d
98 6a 42
11 d9 a4 a9 fd 31 19 c2 ....=.jB.....1.. c9 22 80 e7 08
13 00 00 00 0d 40 03 80 0b 05 00
."........@..... 01 00 41 ca 18
7c 46 d9
00 1e 40 00 00 06 04 01 ..A..|F...@..... 00 4d 40 03 80
12 15 00
01 00 41 ca 18 7c 46 d8 .M@.......A..|F. 00 41 ca 18 7c
46 d9 00
14 00 00 01 0d 00 01 40 .A..|F.........@ 00 0b 05 00 01
00 41 ca
18 7c 46 d9 00 1f 40 00 ......A..|F...@. 01 06 04 01 00
4d 00 01
40 00 12 15 00 01 00 41 .....M..@......A ca 18 7c 46 d8
00 41 ca
18 7c 46 d9 00 1e 00 00 ..|F..A..|F..... 02 0c 10 b5 00
00 12 07 47 37 32 33 31 61 72 80
........G7231ar. 0b 05 00 01 00
41 ca 18
7c 46 d9 00 29 40 00 02 .....A..|F..)@.. 06 04 01 00 4c
10 b5 00 00 12 07 47 37 32 33 31
....L......G7231 61 72 80 12 15
00 01 00
41 ca 18 7c 46 d8 00 41 ar......A..|F..A ca 18 7c 46 d9
00 14 00 00 03 0d 00 01 c0 00 0b
..|F............ 05 00 01 00 41
ca 18 7c
46 d9 00 1f 40 00 03 06
....A..|F...@... 04 01 00 4d 00
01 c0 00
12 15 00 01 00 41 ca 18
...M.........A.. 7c 46 d8 00 41
ca 18 7c
46 d9 00 01 00 01 00 10 |F..A..|F....... a0 01 80 80 f7 01 40 b5 00 00 12 80
ef 60 01 01
......@......`.. 00 01 a1 80 e7
a1 04 03
80 90 a3 18 03 a1 83 89
................ 6c 0c 11 83 32
39 37 37 34 33 34 36 32
38 70 0d
l...2977434628p. 91 36 33 39 32
32 34 32 39 31 38 35 32 1c bd 9e
.639224291852... 01 00 03 67 74
64 00 00 00 b2 49 41 4d 2c 0d 0a ...gtd....IAM,.. 50 52 4e 2c 69
73 64 6e
2a 2c 2c 4e 45 54 35 2a PRN,isdn*,,NET5* 2c 0d 0a 55 53
49 2c 72
61 74 65 2c 63 2c 73 2c ,..USI,rate,c,s, 63 2c 31 0d 0a
55 53 49
2c 6c 61 79 31 2c 61 6c
c,1..USI,lay1,al 61 77 0d 0a 54
4d 52 2c
30 30 0d 0a 43 50 4e 2c aw..TMR,00..CPN, 30 36 2c 2c 31 2c 36 33 39 32 32 34 32 39 31 38
06,,1,6392242918 35 32 0d 0a 43
47 4e 2c
30 36 2c 2c 31 2c 79 2c
52..CGN,06,,1,y, 34 2c 32 39 37
37 34 33 34 36 32 38 0d 0a 43 50
4,2977434628..CP 43 2c 30 39 0d
0a 46 43
49 2c 2c 2c
2c 2c 2c 2c
C,09..FCI,,,,,,, 79 2c 0d 0a 47
43 49 2c
38 65 31 66 33 64 39 38 y,..GCI,8e1f3d98 36 61 34 32 31
31 64 39 61 34 61 37 66 64 33 31
6a4211d9a4a7fd31 31 39 63 32 63
39 32 32 0d 0a 0d
0a
19c2c922....
} } h225pdu = { h323_uu_pdu =
{
h323_message_body = setup {
protocolIdentifier =
0.0.8.2250.0.4
sourceInfo =
{
mc = FALSE
undefinedNode =
TRUE
}
activeMC =
FALSE
conferenceID = 16 octets {
8e 1f 3d 98 6a 42 11 d9 a4 a7 fd 31 19 c2 c9 22 ..=.jB.....1..."
}
conferenceGoal =
create <<null>>
callType = pointToPoint
<<null>> SourceCallSignalAddress should be
here callIdentifier =
{
guid = 16 octets {
8e 1f 3d 98 6a 42 11 d9 a4 a9 fd 31 19 c2 c9 22 ..=.jB.....1..."
}
}
fastStart = 8 entries
{
[0]= 19 octets {
00 00 00 0d 40 03 80
0b 05 00
01 00 41 ca 18 7c
....@.......A..|
46 d9 00
F..
}
[1]= 30 octets {
40 00 00 06 04 01 00 4d 40 03 80 12 15 00 01 00
@......M@.......
41 ca 18 7c 46 d8 00 41 ca 18 7c 46 d9 00
A..|F..A..|F.. }
[2]= 20 octets {
00 00 01 0d 00 01 40 00 0b 05 00 01 00 41 ca 18
......@......A..
7c 46 d9 00
|F..
}
[3]= 31 octets {
40 00 01 06 04 01 00 4d 00 01 40 00 12 15 00 01
@......M..@.....
00 41 ca 18 7c 46 d8 00 41 ca 18 7c 46 d9 00 .A..|F..A..|F..
}
[4]= 30 octets {
00 00 02 0c 10 b5 00 00 12 07 47 37 32 33 31 61
..........G7231a
72 80 0b 05 00 01 00 41 ca 18 7c 46 d9 00
r......A..|F..
}
[5]= 41 octets {
40 00 02 06 04 01 00 4c 10 b5 00 00 12 07 47 37
@......L......G7
32 33 31 61 72 80 12 15 00 01 00 41 ca 18 7c 46
231ar......A..|F
d8 00 41 ca 18 7c 46 d9 00
..A..|F..
}
[6]= 20 octets {
00 00 03 0d 00 01 c0 00 0b 05 00 01 00 41 ca 18
.............A..
7c 46 d9 00
|F..
}
[7]= 31 octets {
40 00 03 06 04 01 00 4d 00 01 c0 00 12 15 00 01
@......M........
00 41 ca 18 7c 46 d8 00 41 ca 18 7c 46 d9 00 .A..|F..A..|F..
}
}
mediaWaitForConnect =
FALSE
canOverlapSend =
FALSE
} h245Tunneling =
TRUE nonStandardControl = 1 entries
{
[0]={
nonStandardIdentifier
= h221NonStandard {
t35CountryCode = 181
t35Extension = 0
manufacturerCode =
18
}
data =
239 octets {
60 01 01 00 01 a1 80 e7 a1 04 03 80 90 a3 18 03
`...............
a1 83 89 6c 0c 11 83 32 39 37 37 34 33 34 36 32
...l...297743462
38 70 0d 91 36 33 39 32 32 34
32 39 31 38 35 32
8p..639224291852
1c bd 9e 01 00 03 67 74 64 00 00 00 b2 49 41 4d ......gtd....IAM
2c 0d 0a 50 52 4e 2c 69 73 64 6e 2a 2c 2c 4e 45
,..PRN,isdn*,,NE
54 35 2a 2c 0d 0a 55 53 49 2c 72 61 74 65 2c 63 T5*,..USI,rate,c
2c 73 2c 63 2c 31 0d 0a 55 53 49 2c 6c 61 79 31
,s,c,1..USI,lay1
2c 61 6c 61 77 0d 0a 54 4d 52 2c 30 30 0d 0a 43
,alaw..TMR,00..C
50 4e 2c 30 36 2c 2c 31 2c 36 33 39 32 32 34 32
PN,06,,1,6392242
39 31 38 35 32 0d 0a 43 47 4e 2c 30 36 2c 2c 31
91852..CGN,06,,1
2c 79 2c 34 2c 32 39 37 37 34
33 34 36 32 38 0d
,y,4,2977434628.
0a 43 50 43 2c 30 39 0d 0a 46 43 49 2c 2c 2c 2c
.CPC,09..FCI,,,,
2c 2c 2c 79 2c 0d 0a
47 43 49
2c 38 65 31 66 33
,,,y,..GCI,8e1f3
64 39 38 36 61 34 32 31 31 64
39 61 34 61 37 66
d986a4211d9a4a7f
64 33 31 31 39 63 32 63 39 32 32 0d 0a 0d 0a
d3119c2c922....
}
}
}
} } } |