Homepage › Clovertech Forums › Read Only Archives › Cloverleaf › Cloverleaf › ERROR: Unsupported Trxid (101) › Reply To: ERROR: Unsupported Trxid (101)
I did put a check_ack proc below in the “TPS Inbound Reply” under the Outbound tab of the OB thread, and also a sendOK_save proc in the “Send OK Procs”, but leave the “Reply ‘generation'” blank.
Looks like I am handling the ACK msg…
sam
__________________________________________________________
proc check_ack { args } {
keylget args MODE mode ;# Fetch mode
# ob_save is global holding message we sent
# send_cnt is a count of how many resends
global ob_save send_cnt
global HciConnName
if ![info exists HciConnName] { set HciConnName UNKNOWN }
set module “(RESEND_OB_MSG/$HciConnName)”
switch -exact — $mode {
start {
if ![info exists ob_save] { set ob_save “” }
set send_cnt 0 ;# Init counter
return “”
}
run {
keylget args MSGID mh
set my_mh $ob_save
# Null out the global variable
set ob_save “”
set msg [msgget $mh]
set fldsep [csubstr $msg 3 1] ;# Field separator normally “|”
set segments [split $msg r] ;# Get segments
set msaflds [split [lindex $segments 1] $fldsep] ;# MSA fields
set acktype [lindex $msaflds 1] ;# The ack type
set ackmsg [lindex $msaflds 3] ;# Ack message, if any
if [cequal $ackmsg “”] { set ackmsg “NO MESSAGE” }
#
# Look for all possible hl-7 ack types and take appropriate action
#
switch -exact — $acktype {
AA – CA {
# Good ACK – Clean up
set send_cnt 0 ;# Init counter
return “{KILLREPLY $mh} {KILL $my_mh}”
}
AR – CR {
# AR – resend up to 3 times
if {$send_cnt > 3} {
set send_cnt 0
echo “$module : Three consecutive AR responses – $ackmsg”
echo “Message to Error Database”
echo “Reply is:”
echo $msgnn
echo “Message is:”
echo [msgget $my_mh]n
msgmetaset $my_mh USERDATA “Exceeded Application Reject (AR) retrys – $ackmsg”
return “{KILLREPLY $mh} {ERROR $my_mh}”
} else {
incr send_cnt
return “{KILLREPLY $mh} {PROTO $my_mh}”
}
}
AE – CE {
set send_cnt 0
echo “$module : Received AE response”
echo “Message to Error Database”
echo “Reply is:”
echo $msgnn
echo “Message is:”
echo [msgget $my_mh]n
msgmetaset $my_mh USERDATA “Application Error (AE) – $ackmsg”
return “{KILLREPLY $mh} {ERROR $my_mh}”
}
default {
set send_cnt 0
echo “$module : Received Invalid response”
echo “Message to Error Database”
echo “Reply is:”
echo $msgnn
echo “Message is:”
echo [msgget $my_mh]n
msgmetaset $my_mh USERDATA “Invalid response – [msgget $mh]”
return “{KILLREPLY $mh} {ERROR $my_mh}”
}
}
}
default {
error “Unknown mode ‘$mode’ in validate_reply”
}
}
}