From 4de00f46509034409037d5202be6a3c7b58abdb8 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Fri, 3 Sep 2010 08:50:55 +0200 Subject: [PATCH] chan_dect: handle MNCC_REJECT-ind primitive Signed-off-by: Patrick McHardy --- channels/chan_dect.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/channels/chan_dect.c b/channels/chan_dect.c index 14c709936..6b631ab83 100644 --- a/channels/chan_dect.c +++ b/channels/chan_dect.c @@ -55,9 +55,7 @@ static struct dect_fp_capabilities dect_fpc = { DECT_HLC_LOCATION_REGISTRATION | DECT_HLC_STANDARD_AUTHENTICATION | DECT_HLC_STANDARD_CIPHERING, - .ehlc2 = DECT_EHLC2_LIST_ACCESS_FEATURES | - DECT_EHLC2_NG_DECT_WIDEBAND | - DECT_EHLC2_NG_DECT_EXTENDED_WIDEBAND, + .ehlc2 = DECT_EHLC2_LIST_ACCESS_FEATURES, }; struct { @@ -808,6 +806,17 @@ static void dect_mncc_setup_ack_ind(struct dect_handle *dh, struct dect_call *ca static void dect_mncc_reject_ind(struct dect_handle *dh, struct dect_call *call, struct dect_mncc_release_param *param) { + struct dect_pvt *pvt = dect_call_priv(call); + int cause; + + ast_setstate(pvt->chan, AST_STATE_DOWN); + if (param != NULL) + cause = dect_release_reason_to_ast(param->release_reason->reason); + else + cause = AST_CAUSE_FAILURE; + + pvt->chan->hangupcause = cause; + ast_queue_hangup(pvt->chan); } #if 0