Hello, I think it is possible to choose wrong transport type to relay . so i prefer that add transport parameter to Route headers. Kamailio handles it with loose_route function and mhomed feature.
Yasin CANER F14 200 OK Proxy 1 -> Alice SIP/2.0 200 OK Contact: <sip:b...@client.biloxi.example.com;transport=tcp> .............. F15 ACK Alice -> Proxy 1 ACK sip:b...@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b76 Max-Forwards: 70 Route: <sip:ss1.atlanta.example.com;lr>, <sip:ss2.biloxi.example.com;lr> From: Alice <sip:al...@atlanta.example.com>;tag=9fxced76sl To: Bob <sip:b...@biloxi.example.com>;tag=314159 Call-ID: 3848276298220188...@atlanta.example.com CSeq: 2 ACK Content-Length: 0 F16 ACK Proxy 1 -> Proxy 2 ACK sip:b...@client.biloxi.example.com SIP/2.0 Via: SIP/2.0/TCP ss1.atlanta.example.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74b76 ;received=192.0.2.101 Max-Forwards: 69 Route: <sip:ss2.biloxi.example.com;lr> From: Alice <sip:al...@atlanta.example.com>;tag=9fxced76sl To: Bob <sip:b...@biloxi.example.com>;tag=314159 Call-ID: 3848276298220188...@atlanta.example.com CSeq: 2 ACK Content-Length: 0 ________________________________ From: sr-users <sr-users-boun...@lists.kamailio.org> on behalf of Yufei Tao <yufei....@gmail.com> Sent: Sunday, April 28, 2019 11:54 PM To: Kamailio (SER) - Users Mailing List Subject: [SR-Users] SIP basic flow question: R-URI in ACK Hi, I have a question regarding basic SIP flow for establishing a call session, and wonder if anyone can help me clarify. For normal call set up, INVITE-OK-ACK, from RFC3261, I believe the ACK’s R-URI should be a copy of the Contact header of the OK message. However in RFC3665 sections 3.1 and 3.2 for example, the ACK’s R-URI missed the parameters from the Contact header of the OK, e.g. In OK the Contact header is: Contact: <sip:b...@client.biloxi.example.com;transport=tcp> And ACK the R-URI is: ACK sip:b...@client.biloxi.example.com SIP/2.0 Which has got the parameter ‘transport=tcp’ removed – why is this? In this case if the proxy connected to Bob handles ACK in the usual way as it would for all in-dialog requests, i.e. based on routing headers only and not extra processing, it’ll try to relay the ACK message to Bob using the default transport UDP which is not expected and will fail. Can anyone help explain why the parameters are removed in RFC3665 examples please? Have I missed anything? Thank you very much! Yufei
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users