aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_misdn.c
diff options
context:
space:
mode:
authorrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-13 17:33:44 +0000
committerrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-13 17:33:44 +0000
commite6038acbec171c19ee0bc43cd0672fb7b023cba4 (patch)
treeb8a9dbb5434f7cdc2fcbece12ac427d1626c15f9 /channels/chan_misdn.c
parent3b081ef0ff29ad49648a283a10776cfc8c838d04 (diff)
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: http://svn.digium.com/svn/asterisk/trunk@212199 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r--channels/chan_misdn.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index a26bdacd6..4860ba0a7 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);