Hi,
IMHO there is a bug in the active_watchers storage regarding the To and
From uri:
According to rfc3261 the from-uri and to-uri have to be identical (but
may swapped) for subsequent in-dialog-requests. [1],[2]
uri-parameters are part of uris. [3]
But uri-parameters are not stored in the active_watchers table when a
SUBSCRIBE request is processed - as a result, the uri parameters of
subsequent in-dialog NOTIFY-requests generated by presentity are
missing.
This does not only violate rfc3261, it also has severe consequences -
e.g. regarding the uac_replace_from() and uac_replace_to() functions,
which are used in a kamailio-node in front of the presentity-node.
In order to reconstruct the "old" uris of in-dialog requests, those
functions need the correct new uris - otherwise the reconstruction of
the old uris is messed up.
So I suggest to store to uri and from uri in active_watchers using one
column for the whole uri (including uri parameters). Or is there another
reason for the current situation (storing userpart and domain
separately)?
Cheers
Jasmin
[1] rfc3261 Section 12.1.1 [last sentence]
The remote URI MUST be set to the URI in the From field, and the
local URI MUST be set to the URI in the To field.
[2] rfc3261 Section 12.2.1.1
The From URI of the
request MUST be set to the local URI from the dialog state
[3] rfc3261
SIP-URI = "sip:" [ userinfo ] hostport
uri-parameters [ headers ]
Attachments:
- smime.p7s
(application/x-pkcs7-signature — 6.6 KB)