From c6d3a41b81b52d145189ef74eb0b9b68ae16721b Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sun, 23 Oct 2016 11:50:02 +0200 Subject: [PATCH] C-Netz: Increment error counter only when trying to reach the phone --- src/cnetz/cnetz.c | 7 ++++--- src/cnetz/transaction.c | 2 +- src/cnetz/transaction.h | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/cnetz/cnetz.c b/src/cnetz/cnetz.c index 49e9430..7fa5299 100644 --- a/src/cnetz/cnetz.c +++ b/src/cnetz/cnetz.c @@ -704,8 +704,6 @@ void transaction_timeout(struct timer *timer) case TRANS_WAF: PDEBUG_CHAN(DCNETZ, DEBUG_NOTICE, "No response after dialing request 'Wahlaufforderung'\n"); if (trans->try == N) { - /* no response to dialing is like MA failed */ - trans->ma_failed = 1; trans_new_state(trans, TRANS_WBN); cnetz_release(trans, CNETZ_CAUSE_FUNKTECHNISCH); break; @@ -749,7 +747,8 @@ void transaction_timeout(struct timer *timer) break; case TRANS_MFT: PDEBUG_CHAN(DCNETZ, DEBUG_NOTICE, "No response after keepalive order 'Meldeaufruf'\n"); - trans->ma_failed = 1; + /* no response to availability check */ + trans->page_failed = 1; destroy_transaction(trans); break; default: @@ -1173,6 +1172,8 @@ call_failed: } if (trans->try == N) { PDEBUG(DCNETZ, DEBUG_INFO, "Maximum retries, removing transaction\n"); + /* no response to incomming call */ + trans->page_failed = 1; cnetz_release(trans, CNETZ_CAUSE_FUNKTECHNISCH); if (trans->callref) call_in_release(trans->callref, CAUSE_TEMPFAIL); diff --git a/src/cnetz/transaction.c b/src/cnetz/transaction.c index fd2308d..8fde1c8 100644 --- a/src/cnetz/transaction.c +++ b/src/cnetz/transaction.c @@ -81,7 +81,7 @@ transaction_t *create_transaction(cnetz_t *cnetz, uint32_t state, uint8_t futln_ void destroy_transaction(transaction_t *trans) { /* update database: now idle */ - update_db(trans->cnetz, trans->futln_nat, trans->futln_fuvst, trans->futln_rest, -1, 0, trans->ma_failed); + update_db(trans->cnetz, trans->futln_nat, trans->futln_fuvst, trans->futln_rest, -1, 0, trans->page_failed); unlink_transaction(trans); diff --git a/src/cnetz/transaction.h b/src/cnetz/transaction.h index 7cadf53..dea1e7f 100644 --- a/src/cnetz/transaction.h +++ b/src/cnetz/transaction.h @@ -40,7 +40,7 @@ typedef struct transaction { struct timer timer; /* for varous timeouts */ int mo_call; /* flags a moile originating call */ int mt_call; /* flags a moile terminating call */ - int ma_failed; /* failed to get a response from MS */ + int page_failed; /* failed to get a response from MS */ } transaction_t; const char *transaction2rufnummer(transaction_t *trans);