Hello,
I have this scenario:
- subscriber registers using TLS
- call arrives from PSTN gateway (in UDP) to subscriber
- I relay the INVITE to subscriber but it doesn't answer the call
- the subscriber has callforward enabled
- we send the call to PSTN callforward destination using carrierroute
In the above, after calling cr_route I use this:
$du = "sip:" + $rd + ":" + $rp + ";transport=udp";
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.
However, if instead of callforward the user has voicemail enabled, we use
dispatcher to send the call to a cluster of media servers.
So, after calling ds_select_dst()
I call
$du = "sip:" + $dd + ":" + $dp + ";transport=udp";
but this is unable to force the call to go as UDP but it still goes as in
TLS
In both cases I see this in the log files:
/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)
But it only works for carrierroute, not for dispatcher.
I am not sure if this is a bug in dispatcher.
But anyway, is there any other way I could try to force transport=UDP?
Regards,
Takeshi
I need to understand where from packets received. Now I use something like
If $si == "1.2.3.4" {
xlog("L_INFO","bla bla bla");
}
But I need to check source server not only by IP and PORT, but at Domain too
For example
if (some_pseudovariable=="pbx.server.com"){
xlog("L_INFO","bla bla bla");
}
I can use $fu for example because for some packets it includes domain name
of kamailio (i think details not important but this situations can be)
Does kamailio have some mechanisms to do that? I searched it at cookbook
but not found anything.
Thank you