I think I was not clear enough, because I can't beleive that it is only
my problem :-)
I'm trying to describe the problem again
versions:
ser: 0.8.14
radiusclient: 0.4.8
freeradius: 1.0.2
I would like to use Remote-Party-ID...
freeradius's users file:
551(a)10.12.12.16 Auth-Type := Digest, User-Password == "551"
Reply-Message = "Authenticated",
Sip-Rpid = "1111"
552(a)10.12.12.16 Auth-Type := Digest, User-Password == "552"
Reply-Message = "Authenticated",
Sip-Rpid = "2222"
553(a)10.12.12.16 Auth-Type := Digest, User-Password == "553"
Reply-Message = "Authenticated",
Sip-Rpid = "3333"
everything seems to be correct, SER saves the RPID, but SER always
appends the _LAST_ registered UA's rpid to the sip packet...
For example:
IP addresses:
10.12.12.16 : SER
10.1.1.181: 551 - UA
10.1.1.123: 552 - UA
10.1.1.159: 553 - UA
551 calls 553, but if 552 was last registered, in this case my INVITE
packet seems like this:
U 10.12.12.16:5060 -> 10.1.1.159:5060
INVITE sip:553@10.1.1.159:5060 SIP/2.0
Record-Route: <sip:553@10.12.12.16;ftag=e83a2dc73cad8c18o0;lr=on>
Via: SIP/2.0/UDP 10.12.12.16;branch=z9hG4bK1efb.133a3b55.0
Via: SIP/2.0/UDP 10.1.1.181:5060;branch=z9hG4bK-7b0f7330
From: Chip <sip:551@10.12.12.16>;tag=e83a2dc73cad8c18o0
To: <sip:553@10.12.12.16>
Call-ID: c44d66b3-4323c81c(a)10.1.1.181
CSeq: 101 INVITE
Max-Forwards: 69
Contact: Chip <sip:551@10.1.1.181:5060>
Expires: 240
User-Agent: Sipura/SPA2000-2.0.13(g)
Content-Length: 416
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura
Content-Type: application/sdp
Remote-Party-ID:
<sip:2222@10.12.12.16>;party=calling;id-type=subscriber;screen=yes;privacy=off
[...]
cut from ser.cfg:
if (method == INVITE)
{
append_rpid_hf("<sip:",
"@10.12.12.16>;party=calling;id-type=subscriber;screen=yes;privacy=off");
}
this line adds RPID HF to the packet...
As you can see, the RPID is "2222", because the 552 UA was last
registered. It should send the "1111" as RPID...
It seems SER can save _only one_ rpid at the same time...
I cannot beleive this....
How can I solve this problem?????
Thanks,
Misi