Hi
I have a kamailio 5.7.1 running as TLS gateway for PBXs in private LAN
network:
UAC-WAN(sip-tls) <--> kamailio-WAN(sip-tls) - kamailio-LAN(sip) <-->
PBX-LAN(sip)
80.0.0.1 <--> 80.0.0.2 - 10.0.0.1 <--> 10.0.0.2
All communications tested works well except for re-INVITE like when UAC
put the call on hold .
The re-INVITE packet is managed like a new call
and the tm module doesn't match transaction :
matching_3261(): RFC3261 transaction matching failed - via branch
[z9hG4bK-524287-1---5e900485d5ad0faf]
t_lookup_request(): no transaction found
build_cell(): created new cell
t_relay_to(): new INVITE
I try to send the interesting logs and config
call logs and pcap :
https://filebin.net/vdezuhyn7wdy3lqc
kamailio config :
...
request_route {
if (is_method("CANCEL")) {
if (t_check_trans()) {
route(RELAY);
}
exit;
}
if (!is_method("ACK")) {
if(t_precheck_trans()) {
t_check_trans();
exit;
}
t_check_trans();
}
route(WITHINDLG);
if ($si=="PBXIP0" || $si=="PBXIP1" || $si=="PBXIP2"
||
$si=="PBXIP3" ) {
if (!loose_route()) {
switch($rc) {
case -2:
sl_send_reply("403", "Forbidden");
exit;
}
}
remove_hf("Route");
force_rport();
record_route();
$fs = "tls:WANIP:5061";
}
if (is_method("INVITE|SUBSCRIBE")){
record_route();
}
t_on_failure("MANAGE_FAILURE");
$fs = "udp:LANIP:5060";
}
route(RELAY);
exit;
}
route[WITHINDLG] {
if (!has_totag()) return;
if ($si=="PBXIP0" || $si=="PBXIP1" || $si=="PBXIP2"
||
$si=="PBXIP3") {
route(RTPMANAGE);
route(RELAY);
exit;
}
if (loose_route()) {
if ( is_method("NOTIFY") ) {
record_route();
}
route(RTPMANAGE);
route(RELAY);
exit;
}
if ( is_method("ACK|BYE") ) {
route(RTPMANAGE);
route(RELAY);
}
sl_send_reply("404","Not here");
exit;
}
How can I solve this ?
Best Regards
Leo