]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
mod_rayo: added platform-code to end reason
authorChris Rienzo <chris.rienzo@grasshopper.com>
Thu, 30 Jan 2014 19:42:31 +0000 (14:42 -0500)
committerChris Rienzo <chris.rienzo@grasshopper.com>
Thu, 30 Jan 2014 19:43:04 +0000 (14:43 -0500)
src/mod/event_handlers/mod_rayo/mod_rayo.c

index 201ba267cdc2cc305dd986543ea12f0121d02f85..b268ab656146513ce05c050f47a4060cb38dc761 100644 (file)
@@ -993,12 +993,17 @@ static void rayo_call_cleanup(struct rayo_actor *actor)
                iks_insert(end, RAYO_END_REASON_HANGUP_LOCAL);
        } else {
                /* remote hangup... translate to specific rayo reason */
+               iks *reason;
                switch_call_cause_t cause = SWITCH_CAUSE_NONE;
                char *cause_str = switch_event_get_header(event, "variable_hangup_cause");
+               char *cause_q850_str = switch_event_get_header(event, "variable_hangup_cause_q850");
                if (cause_str) {
                        cause = switch_channel_str2cause(cause_str);
                }
-               iks_insert(end, switch_cause_to_rayo_cause(cause));
+               reason = iks_insert(end, switch_cause_to_rayo_cause(cause));
+               if (!zstr(cause_q850_str)) {
+                       iks_insert_attrib(reason, "platform-code", cause_q850_str);
+               }
        }
 
        #if 0