The IMS version is 8.1 and using the external ENS server to provide DNS service. A, B and C are both IMS subscribers and B have register ECT service on ATS. The call scenario was A called B and B answered it, then B placed A on hold and called C, we expect C could rang and B could talk with C, but the test result was C did not rang, the call transfer failed but A could still talked with B.
1. Trace the Subscriber IMPU message (please refer attachment 'NOK') and can found ATS have received REFER message at P52. Check the following message and at P94 is the DNS query message from ATS to ENS, the domain name is the capital 'MAI1-SCSCF01.MAAII.COM', and at P96 is the ENS response with lowercase 'mai1-scscf01.maaii.com' and IP address. But at P100 we can find the ATS thought the DNS query was failed because the inner message shows 'eDNS-FAILURE-RESPONSE'. And then we can see ATS released this transfer at P101 and P102.
2. From this procedure we can see the ENS responded the DNS query correctly, but why ATS took it as failed? Because at IMS 8.1 ATS distinguish the capital and lowercase domain when query DNS records but ENS does not. The ENS translates all the letters to lowercase first, then do the DNS query, and respond with lowercase letters. In this case the domain name from ATS to ENS is capital 'MAI1-SCSCF01.MAAII.COM' but is lowercase 'mai1-scscf01.maaii.com' in ENS response. So that is why ATS thought the DNS query failed and released the transfer.
3. The domain name in the ATS' DNS query message is from the Contact header in Register message which SCSCF sent to ATS for third party registration. And the value of Contact header is from the host name of SCSCF. Check the SCSCF configuration and found the host name have been configured as capital 'MAI1-SCSCF01.MAAII.COM'. Change it to lowercase ‘mai1-scscf01.maaii.com’ and test again, the problem is resolved.
The ECT (Expilict Communication Transfer) service is processed on ATS, after ATS processed the transfer it will send a new INVITE to SCSCF normally. If the transfer is failure, the most probably reason is ATS did some mistakes. So we need check the ATS first:
1. While B placing C on hold did ATS received the REFER message?
2. If ATS had received the REFER message did it sent a new INVITE with RURI C to SCSCF?
3. Did SCSCF receive the new INVITE?