Hello,
On 03/08/2009 08:18 PM, IƱaki Baz Castillo wrote:
2009/3/8 Daniel-Constantin Mierla miconda@gmail.com:
Hello Juha,
reviewing your examples, all seems fine. In the first case it is UDP contact because the first proxy is doing transport gateway (tcp-to-udp) and presence server get's the SUBSCRIBE via UDP. Therefore it sets the protocol to UDP.
Yes. It must be checked that the NOTIFY frmo the presence server have a RURI containing "transport=tcp".
NOTIFY will have in r-uri the contact from SUBSCRIBE not the contact from 200ok.
But the bug I reported in OpenSIPS was the opposite:
Phone ---(UDP)--- Proxy ---(TCP)--- PresenceServer
I route the SUBSCRIBE to the PresenceServer using TCP by seting: $du="sip:PresenceServer;transport=tcp"
but the 202 replied by the presence server contains a "Contact" with no "transport=tcp". This means that refresh-SUBSCRIBE's from the phone would fail since they would be routed to the PresenceServer using UDP (in case of firewall they'll fail).
The 200ok for SUBSCRIBE has the transport=tcp in this case and the proxy will add 2 R-R headers to allow udp-tcp translations.
Cheers, Daniel