Reply To: ERROR: Unsupported Trxid (101)

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf ERROR: Unsupported Trxid (101) Reply To: ERROR: Unsupported Trxid (101)

#57630
Rentian Huang
Participant

    Jim,

    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”

    }

       }

    }