### Description 1) I used kamailio as an scscf (based on the configuration files from kamailio/examples/scscf) 2) I did some changes according to my needs 3) I did some Basic tests - the results were satisfying --> OK 4) I configured a distinct PSI on the HSS (sip:04321234501@vict-ims.net) --> OK 5) I registered some user from a Zoiper Client --> OK 6) I told zoiper to call sip:04321234501@vict-ims.net --> I received 555 AS Contacting Failed - iFC terminated dialog
### Troubleshooting The SIP Response 555...... is misleading, in the WITH_DEBUG Logs we can see, the ims_isc module cannot deliver the INVITE message to the AS, because it "thinks", we are in an "on_failure" route, but the asynchronous SAR to the HSS was sent in an "request" route.
File 2017_06_20_distinct_psi_03_scscf_kamailio.log: Line 642 - 660: Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: INFO: ims_registrar_scscf [cxdx_avp.c:138]: cxdx_get_avp(): cxdx_get_experimental_result_code: Failed finding avp Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: INFO: ims_registrar_scscf [cxdx_sar.c:84]: create_return_code(): created AVP successfully : [saa_return_code] - [1] Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[UNREG_SAR_REPLY] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=127 a=26 n=xlog Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[UNREG_SAR_REPLY] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=143 a=21 n=switch Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[UNREG_SAR_REPLY] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=130 a=26 n=xlog Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[UNREG_SAR_REPLY] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=131 a=5 n=route Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=673 a=26 n=xlog Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=675 a=24 n=t_newtran Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: tm [tm.c:1316]: w_t_newtran(): ERROR: t_newtran: transaction already in process 0x7ff2a6e66a58 Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=677 a=25 n=set_dlg_profile Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=692 a=16 n=if Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=685 a=25 n=is_method Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=686 a=63 n=assign Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=687 a=63 n=assign Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=688 a=24 n=record_route Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=698 a=16 n=if Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: ERROR: *** cfgtrace:failure_route=[term] c=[/usr/local/etc/kamailio-scscf/kamailio-scscf-routes.cfg] l=692 a=26 n=isc_match_filter Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: INFO: ims_isc [mod.c:233]: isc_match_filter(): Checking triggers Jun 20 16:14:12 vict-ims /usr/local/sbin/kamailio[108125]: CRITICAL: ims_isc [mod.c:284]: isc_match_filter(): SKIP: 0
Root cause must be found in TM module in file t_suspend.c in function t_continue(), where the type of the Routing block, that was suspended is written to the type of the new Routing block:
line 214 - 229 /* which route block type were we in when we were suspended */ cb_type = FAILURE_CB_TYPE; switch (t->async_backup.backup_route) { case REQUEST_ROUTE: cb_type = **FAILURE_CB_TYPE**; <------------ this is the root cause, imho break; case FAILURE_ROUTE: cb_type = FAILURE_CB_TYPE; break; case TM_ONREPLY_ROUTE: cb_type = ONREPLY_CB_TYPE; break; case BRANCH_ROUTE: cb_type = FAILURE_CB_TYPE; break; }
#### Reproduction
I can help to reproduce the issue. mailto:christoph.valentin@kapsch.net Currently I have got an experimental test Setup using Zoiper Clients. After week 27 I should have simulated test cases to repeat the Scenario "per mouse-click"
#### Debugging Data
<!-- If you got a core dump, use gdb to extract troubleshooting data - full backtrace, local variables and the list of the code at the issue location.
gdb /path/to/kamailio /path/to/corefile bt full info locals list
If you are familiar with gdb, feel free to attach more of what you consider to be relevant. -->
``` (paste your debugging data here) ```
#### Log Messages
<!-- -->
``` [logs-tshark-routes_2017_06_21.zip](https://github.com/kamailio/kamailio/files/1091394/logs-tshark-routes_2017_0...) ```
#### SIP Traffic
<!-- -->
``` [logs-tshark-routes_2017_06_21.zip](https://github.com/kamailio/kamailio/files/1091394/logs-tshark-routes_2017_0...) ```
### Possible Solutions
<!-- If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix. -->
### Additional Information
``` [root@vict-ims ~]# kamailio -v version: kamailio 4.4.5 (x86_64/linux) b0945e-dirty flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. id: b0945e -dirty compiled on 20:06:13 Jun 7 2017 with gcc 4.8.5 [root@vict-ims ~]# ```
* **Operating System**:
<!-- Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...; Kernel details (output of `uname -a`) -->
``` [root@vict-ims ~]# uname -a Linux vict-ims 3.10.0-229.el7.x86_64 #1 SMP Thu Jan 29 18:37:38 EST 2015 x86_64 x86_64 x86_64 GNU/Linux [root@vict-ims ~]# ```