From a305b52fc8e82cac8859af8b166ce662ab202aad Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Thu, 13 Aug 2009 17:33:44 +0000 Subject: [PATCH] Send a generic return result when we receive a CallDeflection facility message in chan_misdn. ETSI 300-196 implies that a facility return result without arguments does not have the operation-value. This fact implies for ETSI that you can only use the invoke-id to match requests with responses. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@212199 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_misdn.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index a26bdacd68..4860ba0a78 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -8761,9 +8761,18 @@ static void misdn_facility_ie_handler(enum event_e event, struct misdn_bchannel ast_string_field_set(ch->ast, call_forward, bc->redirecting.to.number); /* Send back positive ACK */ +#if 1 + /* + * Since there are no return result arguments it must be a + * generic result message. ETSI 300-196 + */ + bc->fac_out.Function = Fac_RESULT; + bc->fac_out.u.RESULT.InvokeID = bc->fac_in.u.CallDeflection.InvokeID; +#else bc->fac_out.Function = Fac_CallDeflection; bc->fac_out.u.CallDeflection.InvokeID = bc->fac_in.u.CallDeflection.InvokeID; bc->fac_out.u.CallDeflection.ComponentType = FacComponent_Result; +#endif print_facility(&bc->fac_out, bc); misdn_lib_send_event(bc, EVENT_DISCONNECT);