Hi,
I'm trying to play with SER and auth_radius, with "Sip-RPId" attribute, because I would like to change something in every registered UA's number.
When SER runs alone with "fork=no" everything is correct...
If run ser with "fork=yes" and "children=4", in the sip packet's Remote-Party-ID header field contains the last registered user's Sip-RPId.
Why???
That is why, the showed caller's number seems to be a random number...
What can I do???
Thanks, Misi
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@10.12.12.16 Auth-Type := Digest, User-Password == "551" Reply-Message = "Authenticated", Sip-Rpid = "1111"
552@10.12.12.16 Auth-Type := Digest, User-Password == "552" Reply-Message = "Authenticated", Sip-Rpid = "2222"
553@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@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