El 01/08/14 01:24, Daniel-Constantin Mierla escribió:
The uac from/to replacement relies that parties keep the same from/to headers 
content.

The mechanism to replace A with B is to combine both and get the key X which is 
added in the record-route as parameter. Then practically from A and X results B 
and from B and X results A.

Now in this case, the notify comes with something different than was in 
SUBSCRIBE, therefore the result is messed up.

Perhaps a check over the result to see if it is at least a good value would be 
useful, but doesn't solve this issue.

If both sides in this dialog rely on RFC3261 dialog matching (call-id, from tag 
and to tag), then practically after the initial SUBSCRIBE (where is no To tag), 
then you can replace From/To display name and uri with anything (e.g., 
anonymous).

An improvement could be to know in advance that one side is not keeping 
From/To, then practically storing (encrypted/encode) the intial value only. 
This requires C coding.

I had to patch kamailio to work around the issue. What I did is to calculate a small (8-bit) XOR checksum of the old uri, and prepend this byte on the old uri in order to calculate the rr parameter. On restoring, the value should match, and if it does not, the relevant header is left unchanged.

Is this strategy worthy of submitting for merge, or is it too hacky?
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to