<div dir="ltr"><div>Hello, </div><div>I have this scenario:</div><div>  - subscriber registers using TLS</div><div>  - call arrives from PSTN gateway (in UDP) to subscriber</div><div>  - I relay the INVITE to subscriber but it doesn't answer the call</div><div>  - the subscriber has callforward enabled</div><div>  - we send the call to PSTN callforward destination using carrierroute</div><div><br></div><div>In the above, after calling cr_route I use this:</div><div>  $du = "sip:" + $rd + ":" + $rp + ";transport=udp";<br></div><div>to force the call to PSTN gateway to go out as UDP because after trying to call the subscriber, the transport changes and stays as TLS.</div><div><br></div><div>However, if instead of callforward the user has voicemail enabled, we use dispatcher to send the call to a cluster of media servers.</div><div>So, after calling ds_select_dst()</div><div>I call</div><div>   $du = "sip:" + $dd + ":" + $dp + ";transport=udp";</div><div>but this is unable to force the call to go as UDP but it still goes as in TLS</div><div><br></div><div>In both cases I see this in the log files:</div><div><div><br></div><div>/usr/local/src/git/kamailio-4.3/kamailio[19277]: WARNING: <core> [forward.c:231]: get_send_socket2(): protocol/port mismatch (forced tls:XXX.XXX.XXX.XXX:5061, to udp:YYY.YYY.YYY.YYY:5060)</div></div><div><br></div><div>But it only works for carrierroute, not for dispatcher.</div><div>I am not sure if this is a bug in dispatcher.</div><div>But anyway, is there any other way I could try to force transport=UDP?</div><div><br></div><div>Regards,</div><div>Takeshi</div></div>