Debugging NOT_AVAILABLE Responsesยถ
This guide provides a systematic approach to debugging NOT_AVAILABLE responses within system logs. By following these steps, you will be able to trace the flow of requests, responses, SMS delivery, and other critical events.
Step 1: Identifying the Initial Requestยถ
Goal:ยถ
Track the initiating request to understand the origin of the process.
-
Search Query:
Replace{hashedMsisdn}with the actual hashed MSISDN value. -
Example Query:
-
Expected Log Output:
-
Key Data to Collect:
- Transaction ID: Tracks the full lifecycle of the incoming request.
- Request ID: Tracks the request sent from the customer and its response.
- Start Time: Records the timestamp of when the request was received.
Step 2: Verifying the Specific Requestยถ
Part A: Confirm the Responseยถ
-
Search Query:
Replace{requestId}with the request ID from Step 1. -
Example Query:
-
Expected Log Output:
-
Key Data to Collect:
- End Time: When the response was sent.
- Response Transaction ID: Tracks the response's direction.
- Response Type: Should be
NOT_AVAILABLE.
Part B: Analyzing the Source of the Responseยถ
If the response was NOT_AVAILABLE, identify whether it originated from a timer expiration or another issue.
-
Search Query:
-
Example Query:
-
Expected Log Output:
-
Key Observation: A
TIMER_EXPIREDlog entry indicates that no response was received from the expected applet before the timer ended.
Step 3: Verifying SMS Deliveryยถ
SMS delivery is asynchronous, so multiple searches are required.
Part A: Confirm Submission to SMSCยถ
-
Search Query:
-
Example Query:
-
Expected Log Output:
-
Key Data to Collect:
- Sequence IDs (seqNo): Extract the IDs for tracking the SMS parts (e.g.,
1338343369and290564297for a long SMS split into two parts).
- Sequence IDs (seqNo): Extract the IDs for tracking the SMS parts (e.g.,
Part B: Retrieve SMSC Message IDsยถ
-
Search Query (for each
seqNo): -
Example Query:
-
Expected Log Output:
-
Key Data to Collect:
- SMSC Message IDs: Unique identifiers confirming submission to the carrier.
Part C: Check Delivery Statusยถ
-
Search Query (for each
smscMessageId): -
Example Query:
-
Expected Log Output:
-
Key Data to Collect:
- Status (
stat): Ensure the status isDELIVRD(delivered). - Error Code (
err): Typically000for successful deliveries.
- Status (
Step 4: Verifying MO (Mobile Originated) Messagesยถ
If the SMS was delivered successfully, check for MO messages, which indicate a user response.
-
Search Query:
-
Example Query:
-
Expected Log Output:
-
Key Data to Collect:
- Arrival Time: When the MO message was received.
- Payload (
shortMessageData): The content of the user response.
Step 5: Analyzing MO Message Processingยถ
Using the MO payload, examine its handling within the system.
-
Search Query:
-
Example Query:
-
Expected Log Output:
-
Key Points to Verify:
- Look for related WARNING logs indicating issues (e.g.,
TransactionId not matched). - Collect any acknowledgments or errors, such as
NOTIFICATION_ACK.
- Look for related WARNING logs indicating issues (e.g.,
Conclusionยถ
Analyze the full timeline of events to understand where issues occurred:
- Send: Outbound SMS (
MT) timestamps. - Receive: User response (MO message) delays.
- Errors: Timer expirations or mismatched transaction data.
In this case:
- MT SMS sent: 2025-11-23 17:47:49.490
- MO SMS received: 2025-11-23 17:50:29.730
- Delay: 3 minutes, causing a NOT_AVAILABLE response.