diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-06-11 14:23:20 +0800 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2009-06-11 14:23:20 +0800 |
commit | c66b71cb76c40f88ceec12d612e48746041a38af (patch) | |
tree | 1affba111e908d353cedae5a1ea1ce2c359ce1e3 /openbsc/src/mncc.c | |
parent | 4bfdfe7f70376612ad2343dd71e8b6ad52124ee6 (diff) |
use less magic numbers (04.08 CC cause values)
Introduce a gsm48_cc_cause enum and use it from gsm_04_08 and MNCC,
also make sure we use gsm48_cause_loc rather than plain numbers.
Diffstat (limited to 'openbsc/src/mncc.c')
-rw-r--r-- | openbsc/src/mncc.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/openbsc/src/mncc.c b/openbsc/src/mncc.c index 8f93b3f68..4282aaf3c 100644 --- a/openbsc/src/mncc.c +++ b/openbsc/src/mncc.c @@ -140,7 +140,8 @@ static int mncc_setup_ind(struct gsm_call *call, int msg_type, if (!(remote = calloc(1, sizeof(struct gsm_call)))) { memset(&mncc, 0, sizeof(struct gsm_mncc)); mncc.callref = call->callref; - mncc_set_cause(&mncc, 1, 47); + mncc_set_cause(&mncc, GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_RESOURCE_UNAVAIL); mncc_send(call->net, MNCC_REJ_REQ, &mncc); free_call(call); return 0; @@ -304,7 +305,8 @@ int mncc_recv(struct gsm_network *net, int msg_type, void *arg) memset(&rel, 0, sizeof(struct gsm_mncc)); rel.callref = callref; - mncc_set_cause(&rel, 1, 47); + mncc_set_cause(&rel, GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_RESOURCE_UNAVAIL); mncc_send(net, MNCC_REL_REQ, &rel); return 0; } @@ -354,7 +356,8 @@ int mncc_recv(struct gsm_network *net, int msg_type, void *arg) case MNCC_STOP_DTMF_IND: break; case MNCC_MODIFY_IND: - mncc_set_cause(data, 1, 79); + mncc_set_cause(data, GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_SERV_OPT_UNIMPL); DEBUGP(DMNCC, "(call %x) Rejecting MODIFY with cause %d\n", call->callref, data->cause.value); rc = mncc_send(net, MNCC_MODIFY_REJ, data); @@ -362,13 +365,15 @@ int mncc_recv(struct gsm_network *net, int msg_type, void *arg) case MNCC_MODIFY_CNF: break; case MNCC_HOLD_IND: - mncc_set_cause(data, 1, 79); + mncc_set_cause(data, GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_SERV_OPT_UNIMPL); DEBUGP(DMNCC, "(call %x) Rejecting HOLD with cause %d\n", call->callref, data->cause.value); rc = mncc_send(net, MNCC_HOLD_REJ, data); break; case MNCC_RETRIEVE_IND: - mncc_set_cause(data, 1, 79); + mncc_set_cause(data, GSM48_CAUSE_LOC_PRN_S_LU, + GSM48_CC_CAUSE_SERV_OPT_UNIMPL); DEBUGP(DMNCC, "(call %x) Rejecting RETRIEVE with cause %d\n", call->callref, data->cause.value); rc = mncc_send(net, MNCC_RETRIEVE_REJ, data); |