### 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 ~]# ```
Resuming a suspended transaction is executed in a context of a failure route, being mentioned in the docs:
* https://www.kamailio.org/docs/modules/stable/modules/tmx.html#tmx.f.t_contin...
Suspending a transaction is done by creating a special branch (which is not forwarded), then t_continue() is canceling that branch and giving the chance to re-route to a new destination.
Your config routing has to be designed according to this behaviour. If there is an issue in the ims modules due to this behavior, then it needs to be fixed there -- in this case you can open a new issue.
The callback is right in this case, so i am closing this issue.
Closed #1160.
Hello Daniel,
Thank you for the fast response.
According to your explanation I assume a bug in ims_isc module. I will do some investigations and create a new issue on Moday.
Thanks, Christoph ________________________________ From: Daniel-Constantin Mierla [notifications@github.com] Sent: 24 June 2017 19:12 To: kamailio/kamailio Cc: Valentin Christoph; Author Subject: Re: [kamailio/kamailio] wrong callback type after asynchronous SAR to HSS (distinct PSI) (#1160)
Resuming a suspended transaction is executed in a context of a failure route, being mentioned in the docs:
* https://www.kamailio.org/docs/modules/stable/modules/tmx.html#tmx.f.t_contin...
Suspending a transaction is done by creating a special branch (which is not forwarded), then t_continue() is canceling that branch and giving the chance to re-route to a new destination.
Your config routing has to be designed according to this behaviour. If there is an issue in the ims modules due to this behavior, then it needs to be fixed there -- in this case you can open a new issue.
The callback is right in this case, so i am closing this issue.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/kamailio/kamailio/issues/1160#issuecomment-310851437, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AcOqyIgLQFNDJpgzkQdO_KXKl3pez6Awks5sHUN_gaJpZM4OA4va.
The information contained in this e-mail message is privileged and confidential and is for the exclusive use of the addressee. The person who receives this message and who is not the addressee, one of his employees or an agent entitled to hand it over to the addressee, is informed that he may not use, disclose or reproduce the contents thereof, and is kindly asked to notify the sender and delete the e-mail immediately.