Hello,

the request within dialogs are sent to the address in the Contact header of the request/response creating the dialog. In you trace, the SUBSCRIBE has a Contact with no transport, the default one being UDP.

Of course, a higher priority than Contact in sending would be Record-Route, but it is not the case of your example.

In other words, SIP allows to create dialogs on one transport and request a follow up on another transport. Even the response to a request can have different destination (ip, port or protocol) than the address from where the request was sent, Via header specifying where it should be sent.

Cheers,
Daniel

On 11/06/14 21:32, Klaus Feichtinger wrote:
Hello,

I wonder if it is allowed using transport protocol UDP for SIP NOTIFY requests (which are generated by Kamailio/presence module), when the SUBSCRIBE dialog was established using TCP as transport protocol.
In other words: this is a principal question if it is allowed changing the transport protocol for in-dialog transactions e.g. from TCP to UDP. Initially I rather thought that in-dialog transactions shall use the same transport protocol as the dialog itself (e.g. SIP INFO requests within a standard media session), except the message would be too big for UDP, where a change to TCP is recommended.

Can anybody give me a hint, if the current behaviour of Kamailio is correct or not? Or - how can I bind Kamailio to a specific transport protocol (for messages that are created by modules themselves)? Kamailio is sending NOTIFY requests with UDP, even when the subscription was done with TCP (see excerpt below).

09:58:10.360749 IP (tos 0x0, ttl 64, id 35302, offset 0, flags [DF], proto TCP (6), length 444) 10.1.1.14.37883 > 10.1.1.44.5060: P, cksum 0x1cb3 (correct), 1:393(392) ack 1 win 457 <nop,nop,timestamp 624699305 795715664>
SUBSCRIBE sip:116006@10.1.1.44;transport=TCP SIP/2.0
Via: SIP/2.0/TCP 10.1.1.14:5070;rport;branch=z9hG4bK1540213071
From: <sip:1@10.1.1.14:5070>;tag=620071678
To: <sip:116006@10.1.1.44;transport=TCP>
Call-ID: 449986375
CSeq: 20 SUBSCRIBE
Contact: <sip:1@10.1.1.14:37883>
Max-Forwards: 70
Expires: 1200
Event: presence
Content-Length: 0
 
 
09:58:10.361324 IP (tos 0x10, ttl 64, id 65438, offset 0, flags [DF], proto TCP (6), length 431) 10.1.1.44.5060 > 10.1.1.14.37883: P, cksum 0x29fb (correct), 1:380(379) ack 393 win 215 <nop,nop,timestamp 795715792 624699305>
SIP/2.0 202 OK
Via: SIP/2.0/TCP 10.1.1.14:5070;rport=37883;branch=z9hG4bK1540213071
From: <sip:1@10.1.1.14:5070>;tag=620071678
To: <sip:116006@10.1.1.44;transport=TCP>;tag=4f7a7e54f75c89f5b968c90011d693b5-9eed
Call-ID: 449986375
CSeq: 20 SUBSCRIBE
Expires: 1200
Contact: <sip:10.1.1.44:5060;transport=tcp>
Content-Length: 0
 
 
09:58:10.361507 IP (tos 0x10, ttl 64, id 32295, offset 0, flags [none], proto UDP (17), length 484) 10.1.1.44.5060 > 10.1.1.14.37883: SIP, length: 456
NOTIFY sip:1@10.1.1.14:37883 SIP/2.0
Via: SIP/2.0/UDP 10.1.1.44;branch=z9hG4bKc408.509e6347000000000000000000000000.0
To: sip:1@10.1.1.14;tag=620071678
From: sip:116006@10.1.1.44;tag=4f7a7e54f75c89f5b968c90011d693b5-9eed
CSeq: 2 NOTIFY
Call-ID: 449986375
Content-Length: 0
User-Agent: kamailio (4.0.4 (i386/linux))
Max-Forwards: 70
Event: presence
Contact: <sip:10.1.1.44:5060;transport=tcp>
Subscription-State: active;expires=1200

Thx
Klaus


_______________________________________________
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

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda